From gerrit-no-reply at lists.osmocom.org Tue Jun 1 01:36:13 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 01:36:13 +0000 Subject: Change in osmo-sip-connector[master]: fix use-after-free in SIP re-INVITE References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/24474 ) Change subject: fix use-after-free in SIP re-INVITE ...................................................................... fix use-after-free in SIP re-INVITE Copy the m_mode before freeing the parser. Address sanitizer aborted with: 20210601033017695 DSIP INFO re-INVITE for call 854A5CDA8037073 (sip.c:192) ================================================================= ==8583==ERROR: AddressSanitizer: heap-use-after-free on address 0x612000003250 at pc 0x55c3b4624dc5 bp 0x7ffe8a4464d0 sp 0x7ffe8a4464c8 READ of size 8 at 0x612000003250 thread T0 #0 0x55c3b4624dc4 in sdp_get_sdp_mode ../../../src/osmo-sip-connector/src/sdp.c:72 #1 0x55c3b462be9e in sip_handle_reinvite ../../../src/osmo-sip-connector/src/sip.c:202 #2 0x55c3b462d676 in nua_callback ../../../src/osmo-sip-connector/src/sip.c:397 [...] Change-Id: I4c48832f01e61e98536de8f164ab5a3caa64f34a --- M src/sdp.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sip-connector refs/changes/74/24474/1 diff --git a/src/sdp.c b/src/sdp.c index f1909d4..7bfcff5 100644 --- a/src/sdp.c +++ b/src/sdp.c @@ -68,8 +68,8 @@ return sdp_sendrecv; } - sdp_parser_free(parser); *mode = sdp->sdp_media->m_mode; + sdp_parser_free(parser); return true; } -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/24474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I4c48832f01e61e98536de8f164ab5a3caa64f34a Gerrit-Change-Number: 24474 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 Jun 1 02:12:59 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 02:12:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 ) Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... Patch Set 10: Code-Review-1 (5 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411/10/bsc/BSC_Tests_VAMOS.ttcn File bsc/BSC_Tests_VAMOS.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411/10/bsc/BSC_Tests_VAMOS.ttcn at 4 PS10, Line 4: * (C) 2017-2018 by Harald Welte Copyright: should be sysmocom, it's an entirely new file. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411/10/bsc/BSC_Tests_VAMOS.ttcn at 89 PS10, Line 89: var integer subslot; I would set it to 0, otherwise you may return an unbound value. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411/10/bsc/BSC_Tests_VAMOS.ttcn at 114 PS10, Line 114: var BIT5 rsl_cbits; Same here, one can easily get a DTE with this function. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411/10/bsc/BSC_Tests_VAMOS.ttcn at 135 PS10, Line 135: var BIT5 rr_cbits; + https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411/10/bsc/BSC_Tests_VAMOS.ttcn at 158 PS10, Line 158: var boolean fr; + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 10 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 02:12:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 02:15:08 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 02:15:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSM_Types, bsc: add VAMOS cbits In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24431 ) Change subject: GSM_Types, bsc: add VAMOS cbits ...................................................................... GSM_Types, bsc: add VAMOS cbits Change-Id: I2d98495b8c4c9a8466f2154af9bb29124c2cb0b5 --- M bsc/MSC_ConnectionHandler.ttcn M library/GSM_Types.ttcn 2 files changed, 28 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 8c44bf7..37adc18 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -754,9 +754,15 @@ if (match(inp, '00001'B)) { /* TCH/F */ chan_nr := valueof(t_RslChanNr_Bm(tn)); } + else if (match(inp, '11101'B)) { /* VAMOS TCH/F */ + chan_nr := valueof(t_RslChanNr_Osmo_VAMOS_Bm(tn)); + } else if (match(inp, '0001?'B)) { /* TCH/H */ chan_nr := valueof(t_RslChanNr_Lm(tn, bit2int(substr(inp, 4, 1)))); } + else if (match(inp, '1111?'B)) { /* VAMOS TCH/H */ + chan_nr := valueof(t_RslChanNr_Osmo_VAMOS_Lm(tn, bit2int(substr(inp, 4, 1)))); + } else if (match(inp, '001??'B)) { /* SDCCH/4 */ chan_nr := valueof(t_RslChanNr_SDCCH4(tn, bit2int(substr(inp, 3, 2)))); } diff --git a/library/GSM_Types.ttcn b/library/GSM_Types.ttcn index bcd0afb..e74972f 100644 --- a/library/GSM_Types.ttcn +++ b/library/GSM_Types.ttcn @@ -124,11 +124,12 @@ RSL_CHAN_NR_PCH_AGCH ('10010'B), RSL_CHAN_NR_OSMO_PDCH ('11000'B), RSL_CHAN_NR_OSMO_CBCH4 ('11001'B), - RSL_CHAN_NR_OSMO_CBCH8 ('11010'B) + RSL_CHAN_NR_OSMO_CBCH8 ('11010'B), + RSL_CHAN_NR_OSMO_VAMOS_Bm_ACCH ('11101'B) } with { variant "FIELDLENGTH(5)" variant "FIELDORDER(msb)" }; type record RslChanNr2 { - BIT4 tag ('0001'B), + BIT4 tag ('0001'B, '1111'B), uint1_t sub_chan } with { variant "FIELDLENGTH(5)" variant "FIELDORDER(msb)" }; @@ -149,6 +150,7 @@ RslChanNr8 sdcch8 } with { variant "TAG(lm, tag = '0001'B; + lm, tag = '1111'B; sdcch4, tag = '001'B; sdcch8, tag = '01'B; ch0, OTHERWISE)" @@ -185,6 +187,15 @@ u := { sdcch8 := { tag := '01'B, sub_chan := sub_slot } }, tn := tn } +template RslChannelNr t_RslChanNr_Osmo_VAMOS_Bm(template uint3_t tn) := { + u := { ch0 := RSL_CHAN_NR_OSMO_VAMOS_Bm_ACCH }, + tn := tn +} + +template RslChannelNr t_RslChanNr_Osmo_VAMOS_Lm(template uint3_t tn, template uint1_t sub_slot) := { + u := { lm := { tag := '1111'B, sub_chan := sub_slot } }, + tn := tn +} template (value) RslChannelNr ts_RslChanNr0(uint3_t tn, RslChanNr0 cht) := { u := { ch0 := cht }, @@ -209,6 +220,15 @@ u := { sdcch8 := { tag := '01'B, sub_chan := sub_slot } }, tn := tn } +template (value) RslChannelNr ts_RslChanNr_Osmo_VAMOS_Bm(uint3_t tn) := { + u := { ch0 := RSL_CHAN_NR_OSMO_VAMOS_Bm_ACCH }, + tn := tn +} +template (value) RslChannelNr ts_RslChanNr_Osmo_VAMOS_Lm(uint3_t tn, uint1_t sub_slot) := { + u := { lm := { tag := '1111'B, sub_chan := sub_slot } }, + tn := tn +} + /* TS 48.058 9.3.2 Link ID */ type enumerated RslLinkIdC { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24431 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2d98495b8c4c9a8466f2154af9bb29124c2cb0b5 Gerrit-Change-Number: 24431 Gerrit-PatchSet: 4 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 Tue Jun 1 02:17:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 02:17:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: accept optional TestSpecUnion in t_Pars References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24475 ) Change subject: BTS_Tests: accept optional TestSpecUnion in t_Pars ...................................................................... BTS_Tests: accept optional TestSpecUnion in t_Pars Change-Id: I75462c3d30544bb87b578f2627b304cce57393e5 Related: SYS#4895, OS#4941 --- M bts/BTS_Tests.ttcn 1 file changed, 4 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/75/24475/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index eff1277..8874d85 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -769,8 +769,9 @@ } friend template ConnHdlrPars t_Pars(template RslChannelNr chan_nr, - template RSL_IE_ChannelMode chan_mode, - float t_guard := 20.0) := { + template RSL_IE_ChannelMode chan_mode, + template (omit) TestSpecUnion spec := omit, + float t_guard := 20.0) := { chan_nr := valueof(chan_nr), chan_mode := valueof(chan_mode), t_guard := t_guard, @@ -794,7 +795,7 @@ ms_actual_ta := mp_ms_actual_ta_exp, facch_enabled := false }, - spec := omit, + spec := spec, encr := omit, bts0_band := omit, tsc := mp_tsc_def, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I75462c3d30544bb87b578f2627b304cce57393e5 Gerrit-Change-Number: 24475 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 Jun 1 02:17:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 02:17:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: use as_l1_exp_lapdm() in f_TC_rll_est_req() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24476 ) Change subject: BTS_Tests: use as_l1_exp_lapdm() in f_TC_rll_est_req() ...................................................................... BTS_Tests: use as_l1_exp_lapdm() in f_TC_rll_est_req() Change-Id: Ic0ecef07385621e0f0fbdae67daad95ef628cdd5 Related: SYS#4895, OS#4941 --- M bts/BTS_Tests.ttcn 1 file changed, 1 insertion(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/76/24476/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 8874d85..9289673 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -6324,21 +6324,7 @@ RSL.send(ts_RSL_EST_REQ(g_chan_nr, tc.link_id)); T.start; alt { - [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, ?)) -> value dl { - var LapdmFrame lapdm; - var octetstring l2 := dl.payload.data_ind.payload; - if (dl.dl_info.link_id.c == SACCH) { - /* remove L1 header */ - l2 := substr(l2, 2, lengthof(l2)-2); - } - lapdm.ab := dec_LapdmFrameAB(l2); - if (match(lapdm, tr_LAPDm_SABM(tc.sapi, cr_MT_CMD, true, ''O))) { - setverdict(pass); - } else { - repeat; - } - } - [] L1CTL.receive { repeat; } + [] as_l1_exp_lapdm(tr_LAPDm_SABM(tc.sapi, cr_MT_CMD, true, ''O)); [] T.timeout { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for SABM"); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24476 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic0ecef07385621e0f0fbdae67daad95ef628cdd5 Gerrit-Change-Number: 24476 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 Jun 1 02:17:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 02:17:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: make it less private and more friendly References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24477 ) Change subject: BTS_Tests: make it less private and more friendly ...................................................................... BTS_Tests: make it less private and more friendly These definitions will be also used in 'BTS_Tests_VAMOS' module. Change-Id: Ia4eae7f14228e72cd63bd8f84e27606ac972006c Related: SYS#4895, OS#4941 --- M bts/BTS_Tests.ttcn 1 file changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/77/24477/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 9289673..6c5663a 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -294,7 +294,7 @@ }; /* Test-specific parameters */ -private type union TestSpecUnion { +friend type union TestSpecUnion { RllTestCase rll } @@ -6209,15 +6209,15 @@ } } -private type record RllTestCase { +friend type record RllTestCase { uint3_t sapi, RslLinkId link_id, octetstring l3, boolean exp } -private type record of RllTestCase RllTestCases; -private template RllTestCase t_EITC(uint3_t sapi, RslLinkId id, - octetstring l3, boolean exp) := { +friend type record of RllTestCase RllTestCases; +friend template RllTestCase t_EITC(uint3_t sapi, RslLinkId id, + octetstring l3, boolean exp) := { sapi := sapi, link_id := id, l3 := l3, @@ -6350,7 +6350,7 @@ } /* altstep to receive a LAPDm frame matching the given template */ -private altstep as_l1_exp_lapdm(template LapdmFrame exp) runs on ConnHdlr { +friend altstep as_l1_exp_lapdm(template LapdmFrame exp) runs on ConnHdlr { var L1ctlDlMessage dl; [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, ?)) -> value dl { var LapdmFrame lapdm; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24477 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia4eae7f14228e72cd63bd8f84e27606ac972006c Gerrit-Change-Number: 24477 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 Jun 1 02:17:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 02:17:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: accept templates as parameters in t_EITC() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24478 ) Change subject: BTS_Tests: accept templates as parameters in t_EITC() ...................................................................... BTS_Tests: accept templates as parameters in t_EITC() Change-Id: I56cd32a6ba91c078608d64c95538b9a43e2fada9 Related: SYS#4895, OS#4941 --- M bts/BTS_Tests.ttcn 1 file changed, 26 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/78/24478/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 6c5663a..d00c40e 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -6216,7 +6216,8 @@ boolean exp } friend type record of RllTestCase RllTestCases; -friend template RllTestCase t_EITC(uint3_t sapi, RslLinkId id, +friend template RllTestCase t_EITC(template (present) uint3_t sapi, + template (present) RslLinkId id, octetstring l3, boolean exp) := { sapi := sapi, link_id := id, @@ -6293,16 +6294,16 @@ testcase TC_rll_est_ind() runs on test_CT { var RllTestCases tcs := { /* SAPI0 establishment (contention resolution) */ - valueof(t_EITC(0, valueof(ts_RslLinkID_DCCH(0)), '01020304'O, true)), + valueof(t_EITC(0, ts_RslLinkID_DCCH(0), '01020304'O, true)), /* normal SAPI0 establishment */ - valueof(t_EITC(0, valueof(ts_RslLinkID_DCCH(0)), ''O, true)), + valueof(t_EITC(0, ts_RslLinkID_DCCH(0), ''O, true)), /* SAPI 3 doesn't support contention resolution */ - valueof(t_EITC(3, valueof(ts_RslLinkID_DCCH(3)), '01020304'O, false)), - valueof(t_EITC(3, valueof(ts_RslLinkID_SACCH(3)), '01020304'O, false)), + valueof(t_EITC(3, ts_RslLinkID_DCCH(3), '01020304'O, false)), + valueof(t_EITC(3, ts_RslLinkID_SACCH(3), '01020304'O, false)), /* normal SAPI3 establishment on main DCCH */ - valueof(t_EITC(3, valueof(ts_RslLinkID_DCCH(3)), ''O, true)), + valueof(t_EITC(3, ts_RslLinkID_DCCH(3), ''O, true)), /* normal SAPI3 establishment on SACCH */ - valueof(t_EITC(3, valueof(ts_RslLinkID_SACCH(3)), ''O, true)) + valueof(t_EITC(3, ts_RslLinkID_SACCH(3), ''O, true)) }; f_rll_testmatrix(tcs, refers(f_TC_rll_est_ind)); } @@ -6337,14 +6338,14 @@ testcase TC_rll_est_req_DCCH_3() runs on test_CT { var RllTestCases tcs := { /* normal SAPI3 establishment on main DCCH */ - valueof(t_EITC(3, valueof(ts_RslLinkID_DCCH(3)), ''O, true))//, + valueof(t_EITC(3, ts_RslLinkID_DCCH(3), ''O, true))//, }; f_rll_testmatrix(tcs, refers(f_TC_rll_est_req)); } testcase TC_rll_est_req_ACCH_3() runs on test_CT { var RllTestCases tcs := { /* normal SAPI3 establishment on SACCH */ - valueof(t_EITC(3, valueof(ts_RslLinkID_SACCH(3)), ''O, true)) + valueof(t_EITC(3, ts_RslLinkID_SACCH(3), ''O, true)) } f_rll_testmatrix(tcs, refers(f_TC_rll_est_req)); } @@ -6435,26 +6436,26 @@ } testcase TC_rll_rel_ind_DCCH_0() runs on test_CT { var RllTestCases tcs := { - valueof(t_EITC(0, valueof(ts_RslLinkID_DCCH(0)), '01020304'O, true)) + valueof(t_EITC(0, ts_RslLinkID_DCCH(0), '01020304'O, true)) }; f_rll_testmatrix(tcs, refers(f_TC_rll_rel_ind)); } testcase TC_rll_rel_ind_ACCH_0() runs on test_CT { var RllTestCases tcs := { - valueof(t_EITC(0, valueof(ts_RslLinkID_SACCH(0)), ''O, true)) + valueof(t_EITC(0, ts_RslLinkID_SACCH(0), ''O, true)) }; f_rll_testmatrix(tcs, refers(f_TC_rll_rel_ind)); } testcase TC_rll_rel_ind_DCCH_3() runs on test_CT { var RllTestCases tcs := { - valueof(t_EITC(3, valueof(ts_RslLinkID_DCCH(3)), ''O, true)) + valueof(t_EITC(3, ts_RslLinkID_DCCH(3), ''O, true)) }; f_rll_testmatrix(tcs, refers(f_TC_rll_rel_ind)); } testcase TC_rll_rel_ind_ACCH_3() runs on test_CT { var RllTestCases tcs := { - valueof(t_EITC(3, valueof(ts_RslLinkID_SACCH(3)), ''O, true)) + valueof(t_EITC(3, ts_RslLinkID_SACCH(3), ''O, true)) }; f_rll_testmatrix(tcs, refers(f_TC_rll_rel_ind)); } @@ -6488,10 +6489,10 @@ } testcase TC_rll_rel_req() runs on test_CT { var RllTestCases tcs := { - valueof(t_EITC(0, valueof(ts_RslLinkID_DCCH(0)), '01020304'O, true)), - valueof(t_EITC(0, valueof(ts_RslLinkID_SACCH(0)), ''O, true)), - valueof(t_EITC(3, valueof(ts_RslLinkID_DCCH(3)), ''O, true)), - valueof(t_EITC(3, valueof(ts_RslLinkID_SACCH(3)), ''O, true)) + valueof(t_EITC(0, ts_RslLinkID_DCCH(0), '01020304'O, true)), + valueof(t_EITC(0, ts_RslLinkID_SACCH(0), ''O, true)), + valueof(t_EITC(3, ts_RslLinkID_DCCH(3), ''O, true)), + valueof(t_EITC(3, ts_RslLinkID_SACCH(3), ''O, true)) }; f_rll_testmatrix(tcs, refers(f_TC_rll_rel_req)); } @@ -6531,16 +6532,16 @@ testcase TC_rll_unit_data_req_DCCH() runs on test_CT { var octetstring l3 := f_rnd_octstring(15); var RllTestCases tcs := { - valueof(t_EITC(0, valueof(ts_RslLinkID_DCCH(0)), l3, true)), - valueof(t_EITC(3, valueof(ts_RslLinkID_DCCH(3)), l3, true)) + valueof(t_EITC(0, ts_RslLinkID_DCCH(0), l3, true)), + valueof(t_EITC(3, ts_RslLinkID_DCCH(3), l3, true)) }; f_rll_testmatrix(tcs, refers(f_TC_rll_ud_req)); } testcase TC_rll_unit_data_req_ACCH() runs on test_CT { var octetstring l3 := f_rnd_octstring(19); var RllTestCases tcs := { - valueof(t_EITC(0, valueof(ts_RslLinkID_SACCH(0)), l3, true)), - valueof(t_EITC(3, valueof(ts_RslLinkID_SACCH(3)), l3, true)) + valueof(t_EITC(0, ts_RslLinkID_SACCH(0), l3, true)), + valueof(t_EITC(3, ts_RslLinkID_SACCH(3), l3, true)) }; f_rll_testmatrix(tcs, refers(f_TC_rll_ud_req)); } @@ -6573,16 +6574,16 @@ testcase TC_rll_unit_data_ind_DCCH() runs on test_CT { var octetstring l3 := f_rnd_octstring(20); var RllTestCases tcs := { - valueof(t_EITC(0, valueof(ts_RslLinkID_DCCH(0)), l3, true)), - valueof(t_EITC(3, valueof(ts_RslLinkID_DCCH(3)), l3, true)) + valueof(t_EITC(0, ts_RslLinkID_DCCH(0), l3, true)), + valueof(t_EITC(3, ts_RslLinkID_DCCH(3), l3, true)) }; f_rll_testmatrix(tcs, refers(f_TC_rll_ud_ind)); } testcase TC_rll_unit_data_ind_ACCH() runs on test_CT { var octetstring l3 := f_rnd_octstring(18); var RllTestCases tcs := { - valueof(t_EITC(0, valueof(ts_RslLinkID_SACCH(0)), l3, true)), - valueof(t_EITC(3, valueof(ts_RslLinkID_SACCH(3)), l3, true)) + valueof(t_EITC(0, ts_RslLinkID_SACCH(0), l3, true)), + valueof(t_EITC(3, ts_RslLinkID_SACCH(3), l3, true)) }; f_rll_testmatrix(tcs, refers(f_TC_rll_ud_ind)); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24478 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I56cd32a6ba91c078608d64c95538b9a43e2fada9 Gerrit-Change-Number: 24478 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 Jun 1 02:17:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 02:17:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: HACK: allow running parallel BTS_Tests.ConnHdlr components References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24479 ) Change subject: HACK: allow running parallel BTS_Tests.ConnHdlr components ...................................................................... HACK: allow running parallel BTS_Tests.ConnHdlr components Unfortunately, trxcon does not support handling more than one connection in parallel. If there is already one connection established, it would reject all other connection attempts. This causes an error in f_handler_init(). As a quick hack, let's allow running BTS_Tests.ConnHdlr components without establishing L1CTL connections at all. Change-Id: I72bcaed6c3803a0e18c9b787036a441e30c220cc Related: SYS#4895, OS#4941 --- M bts/BTS_Tests.ttcn 1 file changed, 8 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/79/24479/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index d00c40e..8b10d0e 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -639,7 +639,8 @@ /* create a new test component */ friend function f_start_handler(void_fn fn, ConnHdlrPars pars, boolean pcu_comp := false, - boolean trxc_comp := false) + boolean trxc_comp := false, + boolean l1ctl := true) runs on test_CT return ConnHdlr { var charstring id := testcasename(); var ConnHdlr vc_conn; @@ -660,6 +661,9 @@ unmap(self:BTS_TRXC, system:BTS_TRXC); map(vc_conn:BTS_TRXC, system:BTS_TRXC); } + if (l1ctl) { + map(vc_conn:L1CTL, system:L1CTL); + } /* Obtain frequency hopping parameters for a given timeslot */ if (mp_freq_hop_enabled and mp_transceiver_num > 1) { @@ -697,8 +701,9 @@ g_pars := pars; g_chan_nr := pars.chan_nr; - map(self:L1CTL, system:L1CTL); - f_connect_reset(L1CTL); + if (L1CTL.checkstate("Mapped")) { + f_connect_reset(L1CTL); + } if (mp_bts_trxc_port != -1 and BTS_TRXC.checkstate("Mapped")) { f_init_trxc(BTS_TRXC, id, g_bts_trxc_conn_id); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24479 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I72bcaed6c3803a0e18c9b787036a441e30c220cc Gerrit-Change-Number: 24479 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 Jun 1 02:17:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 02:17:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: [VAMOS] BTS: add CHANnel ACTIVation test cases References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24480 ) Change subject: [VAMOS] BTS: add CHANnel ACTIVation test cases ...................................................................... [VAMOS] BTS: add CHANnel ACTIVation test cases Change-Id: I79817b3504b0d956e9fa52b8640d3a4d0fd2c4ba Related: SYS#4895, OS#4941 --- M bts/BTS_Tests.cfg M bts/BTS_Tests.ttcn A bts/BTS_Tests_VAMOS.ttcn 3 files changed, 250 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/80/24480/1 diff --git a/bts/BTS_Tests.cfg b/bts/BTS_Tests.cfg index 4673359..4b6e6ca 100644 --- a/bts/BTS_Tests.cfg +++ b/bts/BTS_Tests.cfg @@ -37,3 +37,4 @@ [EXECUTE] BTS_Tests.control BTS_Tests_SMSCB.control +BTS_Tests_VAMOS.control diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 8b10d0e..ee5258c 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -66,6 +66,7 @@ import from BTS_Tests_LAPDm all; friend module BTS_Tests_SMSCB; +friend module BTS_Tests_VAMOS; friend module BTS_Tests_virtphy; friend module BTS_Tests_LAPDm; friend module BTS_Tests_perf; @@ -580,7 +581,7 @@ f_connect_reset(L1CTL); } -private type function void_fn(charstring id) runs on ConnHdlr; +friend type function void_fn(charstring id) runs on ConnHdlr; private type record length(8) of FreqHopGroups FreqHopConfig; diff --git a/bts/BTS_Tests_VAMOS.ttcn b/bts/BTS_Tests_VAMOS.ttcn new file mode 100644 index 0000000..31a7f46 --- /dev/null +++ b/bts/BTS_Tests_VAMOS.ttcn @@ -0,0 +1,247 @@ +module BTS_Tests_VAMOS { + +/* Integration Tests for OsmoBTS + * + * (C) 2020 by sysmocom - s.m.f.c. GmbH + * Author: Vadim Yanitskiy + * + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + * + * This module contains VAMOS specific test cases. + */ + +import from Misc_Helpers all; +import from General_Types all; +import from Osmocom_Types all; +import from GSM_Types all; +import from L1CTL_PortType all; +import from L1CTL_Types all; +import from LAPDm_Types all; +import from IPA_Emulation all; +import from GSM_RR_Types all; +import from L3_Templates all; + +import from RSL_Emulation all; +import from RSL_Types all; + +import from BTS_Tests all; + +private type record of ChanNrModeSet ChanNrModeTest; +private type record of ChanNrMode ChanNrModeSet; +private type record ChanNrMode { + RslChannelNr chan_nr, + RSL_IE_ChannelMode chan_mode +}; + +/* VFF: V0(TCH/F) & V1(TCH/F), 2 channels total */ +private template (value) ChanNrModeTest +ChanNrModeTestVFF(uint3_t tn) := { + { + { ts_RslChanNr_Bm(tn), /* V0(TCH/F), signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_OSMO_TCH_F_VAMOS) }, + { ts_RslChanNr_Osmo_VAMOS_Bm(tn), /* V1(TCH/F), signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_OSMO_TCH_F_VAMOS) } + }, + { + { ts_RslChanNr_Bm(tn), /* V0(TCH/F), FR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_F_VAMOS, RSL_CMOD_SP_GSM1) }, + { ts_RslChanNr_Osmo_VAMOS_Bm(tn), /* V1(TCH/F), signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_OSMO_TCH_F_VAMOS) } + }, + { + { ts_RslChanNr_Bm(tn), /* V0(TCH/F), EFR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_F_VAMOS, RSL_CMOD_SP_GSM2) }, + { ts_RslChanNr_Osmo_VAMOS_Bm(tn), /* V1(TCH/F), AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_F_VAMOS, RSL_CMOD_SP_GSM3) } + }, + { + { ts_RslChanNr_Bm(tn), /* V0(TCH/F), AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_F_VAMOS, RSL_CMOD_SP_GSM3) }, + { ts_RslChanNr_Osmo_VAMOS_Bm(tn), /* V1(TCH/F), AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_F_VAMOS, RSL_CMOD_SP_GSM3) } + } +}; + +/* VHH: V0(TCH/H0) & V1(TCH/H0) + V0(TCH/H1) & V1(TCH/H1), 4 channels total */ +private template (value) ChanNrModeTest +ChanNrModeTestVHH(uint3_t tn) := { + { + { ts_RslChanNr_Lm(tn, 0), /* V0(TCH/H0), signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_OSMO_TCH_H_VAMOS) }, + { ts_RslChanNr_Lm(tn, 1), /* V0(TCH/H1), signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_OSMO_TCH_H_VAMOS) }, + { ts_RslChanNr_Osmo_VAMOS_Lm(tn, 0), /* V1(TCH/H0), signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_OSMO_TCH_H_VAMOS) }, + { ts_RslChanNr_Osmo_VAMOS_Lm(tn, 1), /* V1(TCH/H1), signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_OSMO_TCH_H_VAMOS) } + }, + { + { ts_RslChanNr_Lm(tn, 0), /* V0(TCH/H0), signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_OSMO_TCH_H_VAMOS) }, + { ts_RslChanNr_Lm(tn, 1), /* V0(TCH/H1), HR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM1) }, + { ts_RslChanNr_Osmo_VAMOS_Lm(tn, 0), /* V1(TCH/H0), HR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM1) }, + { ts_RslChanNr_Osmo_VAMOS_Lm(tn, 1), /* V1(TCH/H1), signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_OSMO_TCH_H_VAMOS) } + }, + { + { ts_RslChanNr_Lm(tn, 0), /* V0(TCH/H0), HR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM1) }, + { ts_RslChanNr_Lm(tn, 1), /* V0(TCH/H1), AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM3) }, + { ts_RslChanNr_Osmo_VAMOS_Lm(tn, 0), /* V1(TCH/H0), signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_OSMO_TCH_H_VAMOS) }, + { ts_RslChanNr_Osmo_VAMOS_Lm(tn, 1), /* V1(TCH/H1), signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_OSMO_TCH_H_VAMOS) } + }, + { + { ts_RslChanNr_Lm(tn, 0), /* V0(TCH/H0), AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM3) }, + { ts_RslChanNr_Lm(tn, 1), /* V0(TCH/H1), AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM3) }, + { ts_RslChanNr_Osmo_VAMOS_Lm(tn, 0), /* V1(TCH/H0), AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM3) }, + { ts_RslChanNr_Osmo_VAMOS_Lm(tn, 1), /* V1(TCH/H1), AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM3) } + } +}; + +/* HVHH: TCH/H0 + V0(TCH/H1) & V1(TCH/H1), 3 channels total (mixed) */ +private template (value) ChanNrModeTest +ChanNrModeTestHVHH(uint3_t tn) := { + { + { ts_RslChanNr_Lm(tn, 0), /* TCH/H0, signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_TCH_H) }, + { ts_RslChanNr_Lm(tn, 1), /* V0(TCH/H1), signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_OSMO_TCH_H_VAMOS) }, + { ts_RslChanNr_Osmo_VAMOS_Lm(tn, 1), /* V1(TCH/H1), signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_OSMO_TCH_H_VAMOS) } + }, + { + { ts_RslChanNr_Lm(tn, 0), /* TCH/H0, signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_TCH_H) }, + { ts_RslChanNr_Lm(tn, 1), /* V0(TCH/H1), AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM3) }, + { ts_RslChanNr_Osmo_VAMOS_Lm(tn, 1), /* V1(TCH/H1), AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM3) } + }, + { + { ts_RslChanNr_Lm(tn, 0), /* TCH/H0, HR codec */ + ts_RSL_ChanMode(RSL_CHRT_TCH_H, RSL_CMOD_SP_GSM1) }, + { ts_RslChanNr_Lm(tn, 1), /* V0(TCH/H1), HR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM1) }, + { ts_RslChanNr_Osmo_VAMOS_Lm(tn, 1), /* V1(TCH/H1), AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM3) } + }, + { + { ts_RslChanNr_Lm(tn, 0), /* TCH/H0, AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_TCH_H, RSL_CMOD_SP_GSM3) }, + { ts_RslChanNr_Lm(tn, 1), /* V0(TCH/H1), AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM3) }, + { ts_RslChanNr_Osmo_VAMOS_Lm(tn, 1), /* V1(TCH/H1), AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM3) } + } +}; + +private template (value) RSL_IE +ts_RSL_IE_OsmoTSC := { + iei := RSL_IE_OSMO_TRAINING_SEQUENCE, + body := { + osmo_training_sequence := { + len := 0, /* overridden */ + tsc_set := f_rnd_int(4), + tsc := f_rnd_int(8) + } + } +} + +private function f_TC_vamos_exec_async(in ChanNrModeTest test, void_fn handler) +runs on test_CT { + /* Up to 4 simultenious lchans */ + var ConnHdlrPars pars[4]; + var ConnHdlr vc_conn[4]; + + f_init(); + + for (var integer i := 0; i < lengthof(test); i := i + 1) { + /* Start a ConnHdlr component for each logical channel */ + for (var integer ch := 0; ch < lengthof(test[i]); ch := ch + 1) { + pars[ch] := valueof(t_Pars(test[i][ch].chan_nr, + test[i][ch].chan_mode)); + vc_conn[ch] := f_start_handler(handler, pars[ch], l1ctl := false); + } + + /* Wait for all ConnHdlr components to finish */ + for (var integer ch := 0; ch < lengthof(test[i]); ch := ch + 1) { + vc_conn[ch].done; + } + } +} + +private function f_TC_vamos_chan_act(charstring id) +runs on ConnHdlr { + var RSL_IE tsc_ie := valueof(ts_RSL_IE_OsmoTSC); + + /* CHANnel ACTIVation with Osmocom specific TSC IE */ + f_rsl_chan_act(g_pars.chan_mode, more_ies := { tsc_ie }); + + /* Hold the channel for a while */ + f_sleep(0.3); + + /* DEACTivate the channel */ + f_rsl_chan_deact(); + f_rslem_unregister(0, g_chan_nr); +} + +/* VFF: V0(TCH/F) & V1(TCH/F), 2 channels total */ +testcase TC_vamos_chan_act_vff() runs on test_CT { /* TCH/F on TS1 */ + var ChanNrModeTest test := valueof(ChanNrModeTestVFF(1)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_act)); +} +testcase TC_vamos_chan_act_dyn_ipa_vff() runs on test_CT { /* TCH/F+PDCH on TS3 */ + var ChanNrModeTest test := valueof(ChanNrModeTestVFF(3)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_act)); +} +testcase TC_vamos_chan_act_dyn_osmo_vff() runs on test_CT { /* TCH/F+TCH/H+PDCH on TS4 */ + var ChanNrModeTest test := valueof(ChanNrModeTestVFF(4)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_act)); +} + +/* VHH: V0(TCH/H0) & V1(TCH/H0) + V0(TCH/H1) & V1(TCH/H1), 4 channels total */ +testcase TC_vamos_chan_act_vhh() runs on test_CT { + var ChanNrModeTest test := valueof(ChanNrModeTestVHH(5)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_act)); /* TCH/H on TS5 */ +} +testcase TC_vamos_chan_act_dyn_osmo_vhh() runs on test_CT { /* TCH/F+TCH/H+PDCH on TS4 */ + var ChanNrModeTest test := valueof(ChanNrModeTestVHH(4)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_act)); +} + +/* HVHH: TCH/H0 + V0(TCH/H1) & V1(TCH/H1), 3 channels total (mixed) */ +testcase TC_vamos_chan_act_hvhh() runs on test_CT { + var ChanNrModeTest test := valueof(ChanNrModeTestHVHH(5)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_act)); /* TCH/H on TS5 */ +} +testcase TC_vamos_chan_act_dyn_osmo_hvhh() runs on test_CT { /* TCH/F+TCH/H+PDCH on TS4 */ + var ChanNrModeTest test := valueof(ChanNrModeTestHVHH(4)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_act)); +} + +control { + /* CHANnel ACTIVation tests */ + execute( TC_vamos_chan_act_vff() ); + execute( TC_vamos_chan_act_vhh() ); + execute( TC_vamos_chan_act_hvhh() ); + execute( TC_vamos_chan_act_dyn_ipa_vff() ); + execute( TC_vamos_chan_act_dyn_osmo_vff() ); + execute( TC_vamos_chan_act_dyn_osmo_vhh() ); + execute( TC_vamos_chan_act_dyn_osmo_hvhh() ); +} + +} -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I79817b3504b0d956e9fa52b8640d3a4d0fd2c4ba Gerrit-Change-Number: 24480 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 Jun 1 02:17:27 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 02:17:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: [VAMOS] BTS: add MODE MODIFY test cases References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24481 ) Change subject: [VAMOS] BTS: add MODE MODIFY test cases ...................................................................... [VAMOS] BTS: add MODE MODIFY test cases Change-Id: If4202287902442629bab716e41d3e6b2d05d09fb Related: SYS#4895, OS#4941 --- M bts/BTS_Tests_VAMOS.ttcn 1 file changed, 99 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/81/24481/1 diff --git a/bts/BTS_Tests_VAMOS.ttcn b/bts/BTS_Tests_VAMOS.ttcn index 31a7f46..ac7b2d7 100644 --- a/bts/BTS_Tests_VAMOS.ttcn +++ b/bts/BTS_Tests_VAMOS.ttcn @@ -161,6 +161,23 @@ } } +private function f_TC_vamos_exec_sync(in ChanNrModeTest test, void_fn handler) +runs on test_CT { + var ConnHdlrPars pars; + var ConnHdlr vc_conn; + + f_init(); + + for (var integer i := 0; i < lengthof(test); i := i + 1) { + /* Start a ConnHdlr component for each logical channel */ + for (var integer ch := 0; ch < lengthof(test[i]); ch := ch + 1) { + pars := valueof(t_Pars(test[i][ch].chan_nr, test[i][ch].chan_mode)); + vc_conn := f_start_handler(handler, pars, l1ctl := false); + vc_conn.done; + } + } +} + private function f_TC_vamos_exec_async(in ChanNrModeTest test, void_fn handler) runs on test_CT { /* Up to 4 simultenious lchans */ @@ -233,6 +250,79 @@ f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_act)); } +private function f_TC_vamos_chan_mode_modify(charstring id) +runs on ConnHdlr { + var RSL_IE tsc_ie := valueof(ts_RSL_IE_OsmoTSC); + + /* CHANnel ACTIVation with Osmocom specific IEs */ + f_rsl_chan_act(g_pars.chan_mode, more_ies := { tsc_ie }); + + /* If we're in signalling mode, modify to speech */ + if (g_pars.chan_mode.spd_ind == RSL_SPDI_SIGN) { + g_pars.chan_mode.spd_ind := RSL_SPDI_SPEECH; + g_pars.chan_mode.coding_alg_rate := RSL_CMOD_SP_GSM1; + } else { /* ... or vice versa */ + g_pars.chan_mode.spd_ind := RSL_SPDI_SIGN; + g_pars.chan_mode.coding_alg_rate := RSL_CMOD_NO_RESOURCE; + } + + var RSL_Message rsl := valueof(ts_RSL_MODE_MODIFY_REQ(g_chan_nr, g_pars.chan_mode)); + rsl.ies := rsl.ies & { tsc_ie }; + RSL.send(rsl); + + timer T := 1.0; + T.start; + alt { + [] RSL.receive(tr_RSL_MODE_MODIFY_ACK(g_chan_nr)) { setverdict(pass); } + [] RSL.receive(tr_RSL_MODE_MODIFY_NACK(g_chan_nr, ?)) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Rx MODE MODIFY NACK"); + } + [] T.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Timeout waiting for MODE MODIFY (N)ACK"); + } + } + + /* DEACTivate the channel */ + f_rsl_chan_deact(); + f_rslem_unregister(0, g_chan_nr); +} + +/* VFF: V0(TCH/F) & V1(TCH/F), 2 channels total */ +testcase TC_vamos_chan_mode_modify_vff() runs on test_CT { /* TCH/F on TS1 */ + var ChanNrModeTest test := valueof(ChanNrModeTestVFF(1)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_mode_modify)); +} +testcase TC_vamos_chan_mode_modify_dyn_ipa_vff() runs on test_CT { /* TCH/F+PDCH on TS3 */ + var ChanNrModeTest test := valueof(ChanNrModeTestVFF(3)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_mode_modify)); +} +testcase TC_vamos_chan_mode_modify_dyn_osmo_vff() runs on test_CT { /* TCH/F+TCH/H+PDCH on TS4 */ + var ChanNrModeTest test := valueof(ChanNrModeTestVFF(4)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_mode_modify)); +} + +/* VHH: V0(TCH/H0) & V1(TCH/H0) + V0(TCH/H1) & V1(TCH/H1), 4 channels total */ +testcase TC_vamos_chan_mode_modify_vhh() runs on test_CT { + var ChanNrModeTest test := valueof(ChanNrModeTestVHH(5)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_mode_modify)); /* TCH/H on TS5 */ +} +testcase TC_vamos_chan_mode_modify_dyn_osmo_vhh() runs on test_CT { /* TCH/F+TCH/H+PDCH on TS4 */ + var ChanNrModeTest test := valueof(ChanNrModeTestVHH(4)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_mode_modify)); +} + +/* HVHH: TCH/H0 + V0(TCH/H1) & V1(TCH/H1), 3 channels total (mixed) */ +testcase TC_vamos_chan_mode_modify_hvhh() runs on test_CT { + var ChanNrModeTest test := valueof(ChanNrModeTestHVHH(5)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_mode_modify)); /* TCH/H on TS5 */ +} +testcase TC_vamos_chan_mode_modify_dyn_osmo_hvhh() runs on test_CT { /* TCH/F+TCH/H+PDCH on TS4 */ + var ChanNrModeTest test := valueof(ChanNrModeTestHVHH(4)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_mode_modify)); +} + control { /* CHANnel ACTIVation tests */ execute( TC_vamos_chan_act_vff() ); @@ -242,6 +332,15 @@ execute( TC_vamos_chan_act_dyn_osmo_vff() ); execute( TC_vamos_chan_act_dyn_osmo_vhh() ); execute( TC_vamos_chan_act_dyn_osmo_hvhh() ); + + /* MODE MODIFY tests */ + execute( TC_vamos_chan_mode_modify_vff() ); + execute( TC_vamos_chan_mode_modify_vhh() ); + execute( TC_vamos_chan_mode_modify_hvhh() ); + execute( TC_vamos_chan_mode_modify_dyn_ipa_vff() ); + execute( TC_vamos_chan_mode_modify_dyn_osmo_vff() ); + execute( TC_vamos_chan_mode_modify_dyn_osmo_vhh() ); + execute( TC_vamos_chan_mode_modify_dyn_osmo_hvhh() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If4202287902442629bab716e41d3e6b2d05d09fb Gerrit-Change-Number: 24481 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 Jun 1 02:17:27 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 02:17:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: [VAMOS] BTS: add RLL ESTablish REQuest test cases References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24482 ) Change subject: [VAMOS] BTS: add RLL ESTablish REQuest test cases ...................................................................... [VAMOS] BTS: add RLL ESTablish REQuest test cases Change-Id: I98aa6f77c39e0ef68f232a42c1096a2526d14c5b Related: SYS#4895, OS#4941 --- M bts/BTS_Tests.ttcn M bts/BTS_Tests_VAMOS.ttcn 2 files changed, 63 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/82/24482/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index ee5258c..eacea3f 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -2211,7 +2211,7 @@ } /* Establish dedicated channel: L1CTL + RSL side */ -private function f_est_dchan(boolean encr_enable := false, RSL_IE_List more_ies := {}) runs on ConnHdlr { +friend function f_est_dchan(boolean encr_enable := false, RSL_IE_List more_ies := {}) runs on ConnHdlr { var GsmFrameNumber fn; var ImmediateAssignment imm_ass; var ChannelDescription ch_desc; diff --git a/bts/BTS_Tests_VAMOS.ttcn b/bts/BTS_Tests_VAMOS.ttcn index ac7b2d7..570fffa 100644 --- a/bts/BTS_Tests_VAMOS.ttcn +++ b/bts/BTS_Tests_VAMOS.ttcn @@ -161,7 +161,8 @@ } } -private function f_TC_vamos_exec_sync(in ChanNrModeTest test, void_fn handler) +private function f_TC_vamos_exec_sync(in ChanNrModeTest test, void_fn handler, + template (omit) TestSpecUnion spec := omit) runs on test_CT { var ConnHdlrPars pars; var ConnHdlr vc_conn; @@ -171,14 +172,17 @@ for (var integer i := 0; i < lengthof(test); i := i + 1) { /* Start a ConnHdlr component for each logical channel */ for (var integer ch := 0; ch < lengthof(test[i]); ch := ch + 1) { - pars := valueof(t_Pars(test[i][ch].chan_nr, test[i][ch].chan_mode)); - vc_conn := f_start_handler(handler, pars, l1ctl := false); + pars := valueof(t_Pars(test[i][ch].chan_nr, + test[i][ch].chan_mode, + spec := spec)); + vc_conn := f_start_handler(handler, pars); vc_conn.done; } } } -private function f_TC_vamos_exec_async(in ChanNrModeTest test, void_fn handler) +private function f_TC_vamos_exec_async(in ChanNrModeTest test, void_fn handler, + template (omit) TestSpecUnion spec := omit) runs on test_CT { /* Up to 4 simultenious lchans */ var ConnHdlrPars pars[4]; @@ -190,7 +194,8 @@ /* Start a ConnHdlr component for each logical channel */ for (var integer ch := 0; ch < lengthof(test[i]); ch := ch + 1) { pars[ch] := valueof(t_Pars(test[i][ch].chan_nr, - test[i][ch].chan_mode)); + test[i][ch].chan_mode, + spec := spec)); vc_conn[ch] := f_start_handler(handler, pars[ch], l1ctl := false); } @@ -323,6 +328,58 @@ f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_mode_modify)); } +private function f_TC_vamos_rll_est_req(charstring id) +runs on ConnHdlr { + var RSL_IE tsc_ie := valueof(ts_RSL_IE_OsmoTSC); + var RllTestCase tc := g_pars.spec.rll; + timer T := 3.0; + + f_l1_tune(L1CTL); + L1CTL.clear; + + /* CHANnel ACTIVation with Osmocom specific IEs */ + f_est_dchan(more_ies := { tsc_ie }); + + log("f_TC_vamos_rll_est_req(): sending EST REQ"); + + /* Establish a logical link towards the MS */ + RSL.send(ts_RSL_EST_REQ(g_chan_nr, tc.link_id)); + T.start; + alt { + [] as_l1_exp_lapdm(tr_LAPDm_SABM(tc.sapi, cr_MT_CMD, true, ''O)); + [] T.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Timeout waiting for LAPDm func=SABM"); + } + } + + log("f_TC_vamos_rll_est_req(): got EST REQ!"); + + /* DEACTivate the channel */ + f_rsl_chan_deact(); + f_rslem_unregister(0, g_chan_nr); +} + +/* VFF: V0(TCH/F) & V1(TCH/F), 2 channels total */ +testcase TC_vamos_rll_est_req_vff() runs on test_CT { /* TCH/F on TS1 */ + var RllTestCase rll := valueof(t_EITC(0, ts_RslLinkID_DCCH(0), ''O, true)); + var ChanNrModeTest test := valueof(ChanNrModeTestVFF(1)); + f_TC_vamos_exec_sync(test, refers(f_TC_vamos_rll_est_req), + TestSpecUnion:{ rll := rll }); +} +testcase TC_vamos_rll_est_req_dyn_ipa_vff() runs on test_CT { /* TCH/F+PDCH on TS3 */ + var RllTestCase rll := valueof(t_EITC(0, ts_RslLinkID_DCCH(0), ''O, true)); + var ChanNrModeTest test := valueof(ChanNrModeTestVFF(3)); + f_TC_vamos_exec_sync(test, refers(f_TC_vamos_rll_est_req), + TestSpecUnion:{ rll := rll }); +} +testcase TC_vamos_rll_est_req_dyn_osmo_vff() runs on test_CT { /* TCH/F+TCH/H+PDCH on TS4 */ + var RllTestCase rll := valueof(t_EITC(0, ts_RslLinkID_DCCH(0), ''O, true)); + var ChanNrModeTest test := valueof(ChanNrModeTestVFF(4)); + f_TC_vamos_exec_sync(test, refers(f_TC_vamos_rll_est_req), + TestSpecUnion:{ rll := rll }); +} + control { /* CHANnel ACTIVation tests */ execute( TC_vamos_chan_act_vff() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24482 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I98aa6f77c39e0ef68f232a42c1096a2526d14c5b Gerrit-Change-Number: 24482 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 Jun 1 02:22:21 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 02:22:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: [VAMOS] BTS: add CHANnel ACTIVation test cases In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24480 to look at the new patch set (#2). Change subject: [VAMOS] BTS: add CHANnel ACTIVation test cases ...................................................................... [VAMOS] BTS: add CHANnel ACTIVation test cases Change-Id: I79817b3504b0d956e9fa52b8640d3a4d0fd2c4ba Related: SYS#4895, OS#4941 --- M bts/BTS_Tests.cfg M bts/BTS_Tests.ttcn A bts/BTS_Tests_VAMOS.ttcn 3 files changed, 250 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/80/24480/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I79817b3504b0d956e9fa52b8640d3a4d0fd2c4ba Gerrit-Change-Number: 24480 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 02:33:57 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 02:33:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: [VAMOS] BTS: add MODE MODIFY test cases In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24481 to look at the new patch set (#3). Change subject: [VAMOS] BTS: add MODE MODIFY test cases ...................................................................... [VAMOS] BTS: add MODE MODIFY test cases Change-Id: If4202287902442629bab716e41d3e6b2d05d09fb Related: SYS#4895, OS#4941 --- M bts/BTS_Tests_VAMOS.ttcn 1 file changed, 82 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/81/24481/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If4202287902442629bab716e41d3e6b2d05d09fb Gerrit-Change-Number: 24481 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 02:40:07 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 02:40:07 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: implement and enable PDU batching for TRXDv2 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24324 ) Change subject: [VAMOS] osmo-bts-trx: implement and enable PDU batching for TRXDv2 ...................................................................... Patch Set 4: Code-Review+2 I need to move this work forward, so adding CR+2 and merging now. We can always add comments and/or improve the code later. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9b4cc8e10cd683b28d22e32890569484cd20372d Gerrit-Change-Number: 24324 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 02: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 Tue Jun 1 02:46:44 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 02:46:44 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: implement and enable PDU batching for TRXDv2 In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24324 ) Change subject: [VAMOS] osmo-bts-trx: implement and enable PDU batching for TRXDv2 ...................................................................... [VAMOS] osmo-bts-trx: implement and enable PDU batching for TRXDv2 This change implements TRXD PDU batching approach b), which is described in section 25.3.4 of the user manual [1]. This approach is quite easy to implement on the transceiver side, so we can enable it by default. .Example: datagram structure for combination b) ---- +--------+----------------+---------+------------------------+ | TRXN=N | TDMA FN=F TN=0 | BATCH=1 | Hard-/Soft-bits | +--------+----------------+---------+------------------------+ | TRXN=N | TDMA FN=F TN=1 | BATCH=1 | Hard-/Soft-bits | +--------+----------------+---------+------------------------+ | TRXN=N | TDMA FN=F TN=2 | BATCH=1 | Hard-/Soft-bits | +--------+----------------+---------+------------------------+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +--------+----------------+---------+------------------------+ | TRXN=N | TDMA FN=F TN=7 | BATCH=0 | Hard-/Soft-bits | +--------+----------------+---------+------------------------+ ---- Other PDU batching approaches can be introduced later. [1] https://downloads.osmocom.org/docs/latest/osmobts-usermanual.pdf Change-Id: I9b4cc8e10cd683b28d22e32890569484cd20372d Related: SYS#4895, OS#4941 --- M include/osmo-bts/scheduler.h M src/osmo-bts-trx/scheduler_trx.c M src/osmo-bts-trx/trx_if.c 3 files changed, 23 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index 3ea08d9..cf980bc 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -256,8 +256,6 @@ size_t burst_len; }; -#define TRX_BR_F_MORE_PDUS (1 << 0) - /*! DL burst request with the corresponding meta info */ struct trx_dl_burst_req { uint8_t flags; /*!< see TRX_BR_F_* */ diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 2a37abb..fa5c719 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -143,6 +143,9 @@ continue; trx_if_send_burst(l1h, br); } + + /* Batch all timeslots into a single TRXD PDU */ + trx_if_send_burst(l1h, NULL); } } diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index fcad75c..eae11ee 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -1071,6 +1071,7 @@ { uint8_t pdu_ver = l1h->config.trxd_pdu_ver_use; static uint8_t *buf = &trx_data_buf[0]; + static uint8_t *last_pdu = NULL; static unsigned int pdu_num = 0; ssize_t snd_len, buf_len; @@ -1081,6 +1082,16 @@ return -ENODEV; } + /* Burst batching breaker */ + if (br == NULL) { + if (pdu_num > 0) + goto sendall; + return -ENOMSG; + } + + /* Pointer to the last encoded PDU */ + last_pdu = &buf[0]; + switch (pdu_ver) { /* Both versions have the same PDU format */ case 0: /* TRXDv0 */ @@ -1092,7 +1103,8 @@ break; case 2: /* TRXDv2 */ buf[0] = br->tn; - buf[1] = (br->trx_num & 0x3f) | (br->flags << 7); + /* BATCH.ind will be unset in the last PDU */ + buf[1] = (br->trx_num & 0x3f) | (1 << 7); buf[2] = br->mts; buf[3] = br->att; buf[4] = (uint8_t) br->scpir; @@ -1117,14 +1129,19 @@ /* One more PDU in the buffer */ pdu_num++; - /* More PDUs to send? Batch them! */ - if (pdu_ver >= 2 && br->flags & TRX_BR_F_MORE_PDUS) + /* TRXDv2: wait for the batching breaker */ + if (pdu_ver >= 2) return 0; +sendall: LOGPPHI(l1h->phy_inst, DTRX, LOGL_DEBUG, "Tx TRXDv%u datagram with %u PDU(s): fn=%u\n", pdu_ver, pdu_num, br->fn); + /* TRXDv2: unset BATCH.ind in the last PDU */ + if (pdu_ver >= 2) + last_pdu[1] &= ~(1 << 7); + buf_len = buf - &trx_data_buf[0]; buf = &trx_data_buf[0]; pdu_num = 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9b4cc8e10cd683b28d22e32890569484cd20372d Gerrit-Change-Number: 24324 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 02:46:45 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 02:46:45 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: indicate MTS in Downlink TRXDv2 PDUs In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24325 ) Change subject: [VAMOS] osmo-bts-trx: indicate MTS in Downlink TRXDv2 PDUs ...................................................................... [VAMOS] osmo-bts-trx: indicate MTS in Downlink TRXDv2 PDUs Change-Id: I1a17a25883214c068f9b1a6d651128b8f760d1fb Related: SYS#4895, OS#4941 --- M include/osmo-bts/scheduler.h M src/common/scheduler.c M src/osmo-bts-trx/trx_if.c 3 files changed, 19 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index cf980bc..beb2716 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -264,10 +264,13 @@ uint32_t fn; /*!< TDMA frame number */ uint8_t tn; /*!< TDMA timeslot number */ uint8_t att; /*!< Tx power attenuation */ - uint8_t mts; /*!< MTS (Modulation and Training Sequence) */ int8_t scpir; /*!< SCPIR (for AQPSK only) */ uint8_t trx_num; /*!< TRX (RF channel) number */ + enum trx_mod_type mod; /*!< Modulation type */ + uint8_t tsc_set; /*!< Training Sequence Set */ + uint8_t tsc; /*!< Training Sequence Code */ + /* Internally used by the scheduler */ enum trx_chan_type chan; uint8_t bid; diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 4af6457..90b9479 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -1217,10 +1217,17 @@ if (!TRX_CHAN_IS_ACTIVE(l1cs, br->chan)) return; + /* Training Sequence Code and Set */ + br->tsc = gsm_ts_tsc(l1ts->ts); + br->tsc_set = 0; + /* get burst from function */ if (func(l1ts, br) != 0) return; + /* Modulation is indicated by func() */ + br->mod = l1cs->dl_mod_type; + /* BS Power reduction (in dB) per logical channel */ if (l1cs->lchan != NULL) br->att = l1cs->lchan->bs_power_ctrl.current; diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index eae11ee..af1deef 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -740,6 +740,11 @@ TRX_UL_V2HDR_LEN, /* TRXDv2 */ }; +static const uint8_t trx_data_mod_val[] = { + [TRX_MOD_T_GMSK] = 0x00, /* .00xx... */ + [TRX_MOD_T_8PSK] = 0x20, /* .010x... */ +}; + /* Header dissector for TRXDv0 (and part of TRXDv1) */ static inline void trx_data_handle_hdr_v0_part(struct trx_ul_burst_ind *bi, const uint8_t *buf) @@ -1105,7 +1110,9 @@ buf[0] = br->tn; /* BATCH.ind will be unset in the last PDU */ buf[1] = (br->trx_num & 0x3f) | (1 << 7); - buf[2] = br->mts; + buf[2] = trx_data_mod_val[br->mod] + | (br->tsc_set << 3) + | (br->tsc & 0x07); buf[3] = br->att; buf[4] = (uint8_t) br->scpir; buf[5] = buf[6] = buf[7] = 0x00; /* Spare */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1a17a25883214c068f9b1a6d651128b8f760d1fb Gerrit-Change-Number: 24325 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 02:46:46 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 02:46:46 +0000 Subject: Change in osmo-bts[master]: [VAMOS] rsl_rx_mode_modif(): handle Channel Identification IE In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24339 ) Change subject: [VAMOS] rsl_rx_mode_modif(): handle Channel Identification IE ...................................................................... [VAMOS] rsl_rx_mode_modif(): handle Channel Identification IE For some reason, handling of the Channel Identification IE was done in l1sap_chan_act(). This function is being called on reciept of the CHANnel ACTIVation message, but not on MODE MODIFY. Change-Id: I07f95e69e6230a1daca62cc0a7c64954f191fa8a Related: SYS#5315, OS#4940 --- M src/common/l1sap.c M src/common/rsl.c 2 files changed, 32 insertions(+), 17 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 45abe4e..a47f653 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1962,27 +1962,10 @@ int l1sap_chan_act(struct gsm_bts_trx *trx, uint8_t chan_nr, struct tlv_parsed *tp) { struct gsm_lchan *lchan = get_lchan_by_chan_nr(trx, chan_nr); - const struct gsm48_chan_desc *cd; int rc; LOGPLCHAN(lchan, DL1C, LOGL_INFO, "activating channel %s\n", rsl_chan_nr_str(chan_nr)); - /* osmo-pcu calls this without a valid 'tp' parameter, so we - * need to make sure ew don't crash here */ - if (tp && TLVP_PRES_LEN(tp, RSL_IE_CHAN_IDENT, sizeof(*cd) + 1)) { - /* Channel Description IE comes together with its IEI (see 9.3.5) */ - cd = (const struct gsm48_chan_desc *) (TLVP_VAL(tp, RSL_IE_CHAN_IDENT) + 1); - - /* The PHY may not support using different TSCs */ - if (!osmo_bts_has_feature(trx->bts->features, BTS_FEAT_MULTI_TSC) - && cd->h0.tsc != BTS_TSC(trx->bts)) { - LOGPLCHAN(lchan, DL1C, LOGL_ERROR, "This PHY does not support " - "lchan TSC %u != BSIC-TSC %u, sending NACK\n", - cd->h0.tsc, BTS_TSC(trx->bts)); - return -RSL_ERR_SERV_OPT_UNIMPL; - } - } - lchan->s = trx->bts->radio_link_timeout.current; rc = l1sap_chan_act_dact_modify(trx, chan_nr, PRIM_INFO_ACTIVATE, 0); diff --git a/src/common/rsl.c b/src/common/rsl.c index 1cc7abb..601e5f8 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -230,6 +230,33 @@ return 0; } +/* Handle RSL Channel Identification IE (see section 9.3.5) */ +static int rsl_handle_chan_ident_ie(struct gsm_lchan *lchan, + const struct tlv_parsed *tp, + uint8_t *cause) +{ + const struct gsm_bts_trx_ts *ts = lchan->ts; + const struct gsm_bts *bts = ts->trx->bts; + const struct gsm48_chan_desc *cd; + + if (TLVP_PRES_LEN(tp, RSL_IE_CHAN_IDENT, sizeof(*cd) + 1)) { + /* Channel Description IE comes together with its IEI (see 9.3.5) */ + cd = (const struct gsm48_chan_desc *) (TLVP_VAL(tp, RSL_IE_CHAN_IDENT) + 1); + + /* The PHY may not support using different TSCs */ + if (!osmo_bts_has_feature(bts->features, BTS_FEAT_MULTI_TSC) + && cd->h0.tsc != BTS_TSC(bts)) { + LOGPLCHAN(lchan, DL1C, LOGL_ERROR, "This PHY does not support " + "lchan TSC %u != BSIC-TSC %u, sending NACK\n", + cd->h0.tsc, BTS_TSC(bts)); + *cause = RSL_ERR_SERV_OPT_UNIMPL; + return -ENOTSUP; + } + } + + return 0; +} + /* * support @@ -1445,6 +1472,8 @@ if (type != RSL_ACT_OSMO_PDCH) { if (rsl_handle_chan_mod_ie(lchan, &tp, &cause) != 0) return rsl_tx_chan_act_nack(lchan, cause); + if (rsl_handle_chan_ident_ie(lchan, &tp, &cause) != 0) + return rsl_tx_chan_act_nack(lchan, cause); } /* 9.3.7 Encryption Information */ @@ -1956,6 +1985,9 @@ /* 9.3.6 Channel Mode */ if (rsl_handle_chan_mod_ie(lchan, &tp, &cause) != 0) return rsl_tx_mode_modif_nack(lchan, cause); + /* 9.3.5 Channel Identification */ + if (rsl_handle_chan_ident_ie(lchan, &tp, &cause) != 0) + return rsl_tx_mode_modif_nack(lchan, cause); if (bts_supports_cm(lchan->ts->trx->bts, ts_pchan(lchan->ts), lchan->tch_mode) != 1) { LOGPLCHAN(lchan, DRSL, LOGL_ERROR, "%s: invalid mode: %s (wrong BSC configuration?)\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I07f95e69e6230a1daca62cc0a7c64954f191fa8a Gerrit-Change-Number: 24339 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 Tue Jun 1 02:46:46 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 02:46:46 +0000 Subject: Change in osmo-bts[master]: [VAMOS] rsl: call bts_supports_cm() from rsl_handle_chan_mod_ie() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24340 ) Change subject: [VAMOS] rsl: call bts_supports_cm() from rsl_handle_chan_mod_ie() ...................................................................... [VAMOS] rsl: call bts_supports_cm() from rsl_handle_chan_mod_ie() Ensure that we check the PHY capabilities in both cases: * RSL CHANnel ACTIVation, and * RSL CHANnel MODE MODIFY, by calling bts_supports_cm() from rsl_handle_chan_mod_ie(). Modify bts_supports_cm() to accept a 'struct rsl_ie_chan_mode', so we can handle VAMOS enabled channel modes and CSD later on. Change-Id: I31a444592436705ec9d6ddade3cbfa7f8cb4bb91 Related: SYS#5315, OS#4940 --- M include/osmo-bts/bts.h M src/common/bts.c M src/common/rsl.c M tests/misc/misc_test.c 4 files changed, 69 insertions(+), 35 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmo-bts/bts.h b/include/osmo-bts/bts.h index 141dce2..978a548 100644 --- a/include/osmo-bts/bts.h +++ b/include/osmo-bts/bts.h @@ -400,8 +400,8 @@ int bts_main(int argc, char **argv); -int bts_supports_cm(struct gsm_bts *bts, enum gsm_phys_chan_config pchan, - enum gsm48_chan_mode cm); +int bts_supports_cm(const struct gsm_bts *bts, + const struct rsl_ie_chan_mode *cm); int32_t bts_get_avg_fn_advance(const struct gsm_bts *bts); diff --git a/src/common/bts.c b/src/common/bts.c index fe4d26e..b5615d6 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -854,28 +854,35 @@ return &bts->gsm_time; } -int bts_supports_cm(struct gsm_bts *bts, enum gsm_phys_chan_config pchan, - enum gsm48_chan_mode cm) +int bts_supports_cm(const struct gsm_bts *bts, + const struct rsl_ie_chan_mode *cm) { enum osmo_bts_features feature = _NUM_BTS_FEAT; - /* We assume that signalling support is mandatory, - * there is no BTS_FEAT_* definition to check that. */ - if (cm == GSM48_CMODE_SIGN) + switch (cm->spd_ind) { + case RSL_CMOD_SPD_SIGN: + /* We assume that signalling support is mandatory, + * there is no BTS_FEAT_* definition to check that. */ return 1; + case RSL_CMOD_SPD_SPEECH: + break; + case RSL_CMOD_SPD_DATA: + default: + return 0; + } /* Before the requested pchan/cm combination can be checked, we need to * convert it to a feature identifier we can check */ - switch (pchan) { - case GSM_PCHAN_TCH_F: - switch(cm) { - case GSM48_CMODE_SPEECH_V1: + switch (cm->chan_rt) { + case RSL_CMOD_CRT_TCH_Bm: + switch (cm->chan_rate) { + case RSL_CMOD_SP_GSM1: feature = BTS_FEAT_SPEECH_F_V1; break; - case GSM48_CMODE_SPEECH_EFR: + case RSL_CMOD_SP_GSM2: feature = BTS_FEAT_SPEECH_F_EFR; break; - case GSM48_CMODE_SPEECH_AMR: + case RSL_CMOD_SP_GSM3: feature = BTS_FEAT_SPEECH_F_AMR; break; default: @@ -884,12 +891,12 @@ } break; - case GSM_PCHAN_TCH_H: - switch(cm) { - case GSM48_CMODE_SPEECH_V1: + case RSL_CMOD_CRT_TCH_Lm: + switch (cm->chan_rate) { + case RSL_CMOD_SP_GSM1: feature = BTS_FEAT_SPEECH_H_V1; break; - case GSM48_CMODE_SPEECH_AMR: + case RSL_CMOD_SP_GSM3: feature = BTS_FEAT_SPEECH_H_AMR; break; default: @@ -899,8 +906,9 @@ break; default: - LOGP(DRSL, LOGL_ERROR, "BTS %u: unhandled pchan %s when checking mode %s\n", - bts->nr, gsm_pchan_name(pchan), gsm48_chan_mode_name(cm)); + LOGP(DRSL, LOGL_ERROR, + "Unhandled RSL channel type=0x%02x/rate=0x%02x\n", + cm->chan_rt, cm->chan_rate); return 0; } diff --git a/src/common/rsl.c b/src/common/rsl.c index 601e5f8..bb53aa5 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -227,6 +227,14 @@ #undef RSL_CMODE + if (bts_supports_cm(lchan->ts->trx->bts, cm) != 1) { + LOGPLCHAN(lchan, DRSL, LOGL_ERROR, "Channel type=0x%02x/mode=%s " + "is not supported by the PHY\n", cm->chan_rt, + gsm48_chan_mode_name(lchan->tch_mode)); + *cause = RSL_ERR_SERV_OPT_UNAVAIL; + return -ENOTSUP; + } + return 0; } @@ -1989,12 +1997,6 @@ if (rsl_handle_chan_ident_ie(lchan, &tp, &cause) != 0) return rsl_tx_mode_modif_nack(lchan, cause); - if (bts_supports_cm(lchan->ts->trx->bts, ts_pchan(lchan->ts), lchan->tch_mode) != 1) { - LOGPLCHAN(lchan, DRSL, LOGL_ERROR, "%s: invalid mode: %s (wrong BSC configuration?)\n", - gsm_ts_and_pchan_name(lchan->ts), gsm48_chan_mode_name(lchan->tch_mode)); - return rsl_tx_mode_modif_nack(lchan, RSL_ERR_SERV_OPT_UNAVAIL); - } - /* 9.3.7 Encryption Information */ if (TLVP_PRESENT(&tp, RSL_IE_ENCR_INFO)) { uint8_t len = TLVP_LEN(&tp, RSL_IE_ENCR_INFO); diff --git a/tests/misc/misc_test.c b/tests/misc/misc_test.c index 439d6b3..e65fcb4 100644 --- a/tests/misc/misc_test.c +++ b/tests/misc/misc_test.c @@ -162,25 +162,49 @@ static void test_bts_supports_cm(void) { + struct rsl_ie_chan_mode cm; struct gsm_bts *bts; bts = gsm_bts_alloc(ctx, 0); + /* Signalling shall be supported regardless of the features */ + cm = (struct rsl_ie_chan_mode) { .chan_rt = RSL_CMOD_CRT_TCH_Bm, + .spd_ind = RSL_CMOD_SPD_SIGN }; + OSMO_ASSERT(bts_supports_cm(bts, &cm) == 1); /* TCH/F */ + + cm = (struct rsl_ie_chan_mode) { .chan_rt = RSL_CMOD_CRT_TCH_Lm, + .spd_ind = RSL_CMOD_SPD_SIGN }; + OSMO_ASSERT(bts_supports_cm(bts, &cm) == 1); /* TCH/H */ + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_F_V1); osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_H_V1); osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_F_AMR); osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_H_AMR); - OSMO_ASSERT(bts_supports_cm - (bts, GSM_PCHAN_TCH_F, GSM48_CMODE_SPEECH_V1) == 1); - OSMO_ASSERT(bts_supports_cm - (bts, GSM_PCHAN_TCH_H, GSM48_CMODE_SPEECH_V1) == 1); - OSMO_ASSERT(bts_supports_cm - (bts, GSM_PCHAN_TCH_F, GSM48_CMODE_SPEECH_EFR) == 0); - OSMO_ASSERT(bts_supports_cm - (bts, GSM_PCHAN_TCH_F, GSM48_CMODE_SPEECH_AMR) == 1); - OSMO_ASSERT(bts_supports_cm - (bts, GSM_PCHAN_TCH_H, GSM48_CMODE_SPEECH_AMR) == 1); + cm = (struct rsl_ie_chan_mode) { .chan_rt = RSL_CMOD_CRT_TCH_Bm, + .spd_ind = RSL_CMOD_SPD_SPEECH, + .chan_rate = RSL_CMOD_SP_GSM1 }; + OSMO_ASSERT(bts_supports_cm(bts, &cm) == 1); /* TCH/FS */ + + cm = (struct rsl_ie_chan_mode) { .chan_rt = RSL_CMOD_CRT_TCH_Lm, + .spd_ind = RSL_CMOD_SPD_SPEECH, + .chan_rate = RSL_CMOD_SP_GSM1 }; + OSMO_ASSERT(bts_supports_cm(bts, &cm) == 1); /* TCH/HS */ + + cm = (struct rsl_ie_chan_mode) { .chan_rt = RSL_CMOD_CRT_TCH_Bm, + .spd_ind = RSL_CMOD_SPD_SPEECH, + .chan_rate = RSL_CMOD_SP_GSM2 }; + OSMO_ASSERT(bts_supports_cm(bts, &cm) == 0); /* TCH/EFS */ + + cm = (struct rsl_ie_chan_mode) { .chan_rt = RSL_CMOD_CRT_TCH_Bm, + .spd_ind = RSL_CMOD_SPD_SPEECH, + .chan_rate = RSL_CMOD_SP_GSM3 }; + OSMO_ASSERT(bts_supports_cm(bts, &cm) == 1); /* TCH/AFS */ + + cm = (struct rsl_ie_chan_mode) { .chan_rt = RSL_CMOD_CRT_TCH_Lm, + .spd_ind = RSL_CMOD_SPD_SPEECH, + .chan_rate = RSL_CMOD_SP_GSM3 }; + OSMO_ASSERT(bts_supports_cm(bts, &cm) == 1); /* TCH/AHS */ talloc_free(bts); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24340 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I31a444592436705ec9d6ddade3cbfa7f8cb4bb91 Gerrit-Change-Number: 24340 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 02:46:47 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 02:46:47 +0000 Subject: Change in osmo-bts[master]: [VAMOS] bts_supports_cm(): handle RSL_CMOD_CRT_OSMO_TCH_VAMOS_{Bm, Lm} In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24341 ) Change subject: [VAMOS] bts_supports_cm(): handle RSL_CMOD_CRT_OSMO_TCH_VAMOS_{Bm,Lm} ...................................................................... [VAMOS] bts_supports_cm(): handle RSL_CMOD_CRT_OSMO_TCH_VAMOS_{Bm,Lm} Change-Id: I61040df30246ff79c9b13055bb1fec92fe64f3dd Related: SYS#5315, OS#4940 --- M src/common/bts.c 1 file changed, 8 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/bts.c b/src/common/bts.c index b5615d6..bf29113 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -874,6 +874,10 @@ /* Before the requested pchan/cm combination can be checked, we need to * convert it to a feature identifier we can check */ switch (cm->chan_rt) { + case RSL_CMOD_CRT_OSMO_TCH_VAMOS_Bm: + if (!osmo_bts_has_feature(bts->features, BTS_FEAT_VAMOS)) + return 0; + /* fall-through */ case RSL_CMOD_CRT_TCH_Bm: switch (cm->chan_rate) { case RSL_CMOD_SP_GSM1: @@ -891,6 +895,10 @@ } break; + case RSL_CMOD_CRT_OSMO_TCH_VAMOS_Lm: + if (!osmo_bts_has_feature(bts->features, BTS_FEAT_VAMOS)) + return 0; + /* fall-through */ case RSL_CMOD_CRT_TCH_Lm: switch (cm->chan_rate) { case RSL_CMOD_SP_GSM1: -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24341 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I61040df30246ff79c9b13055bb1fec92fe64f3dd Gerrit-Change-Number: 24341 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 Tue Jun 1 02:46:47 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 02:46:47 +0000 Subject: Change in osmo-bts[master]: [VAMOS] common/scheduler: unify symbol names for training sequences In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24326 ) Change subject: [VAMOS] common/scheduler: unify symbol names for training sequences ...................................................................... [VAMOS] common/scheduler: unify symbol names for training sequences Change-Id: Ice464e5b02b11b0f13df247fe6a01420a29bf1c5 Related: SYS#4895, OS#4941 --- M include/osmo-bts/scheduler_backend.h M src/common/scheduler.c M src/osmo-bts-trx/sched_lchan_fcch_sch.c M src/osmo-bts-trx/sched_lchan_pdtch.c M src/osmo-bts-trx/sched_lchan_tchf.c M src/osmo-bts-trx/sched_lchan_tchh.c M src/osmo-bts-trx/sched_lchan_xcch.c 7 files changed, 12 insertions(+), 12 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/osmo-bts/scheduler_backend.h b/include/osmo-bts/scheduler_backend.h index 2a0dd11..d5ce5bf 100644 --- a/include/osmo-bts/scheduler_backend.h +++ b/include/osmo-bts/scheduler_backend.h @@ -35,9 +35,9 @@ extern const struct trx_chan_desc trx_chan_desc[_TRX_CHAN_MAX]; extern const ubit_t _sched_dummy_burst[]; -extern const ubit_t _sched_tsc[8][26]; -extern const ubit_t _sched_egprs_tsc[8][78]; -extern const ubit_t _sched_sch_train[64]; +extern const ubit_t _sched_train_seq_gmsk_nb[8][26]; +extern const ubit_t _sched_train_seq_8psk_nb[8][78]; +extern const ubit_t _sched_train_seq_gmsk_sb[64]; struct msgb *_sched_dequeue_prim(struct l1sched_ts *l1ts, const struct trx_dl_burst_req *br); diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 90b9479..a3647a9 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -63,7 +63,7 @@ }; /*! \brief Training Sequences (TS 05.02 Chapter 5.2.3) */ -const ubit_t _sched_tsc[8][26] = { +const ubit_t _sched_train_seq_gmsk_nb[8][26] = { { 0,0,1,0,0,1,0,1,1,1,0,0,0,0,1,0,0,0,1,0,0,1,0,1,1,1, }, { 0,0,1,0,1,1,0,1,1,1,0,1,1,1,1,0,0,0,1,0,1,1,0,1,1,1, }, { 0,1,0,0,0,0,1,1,1,0,1,1,1,0,1,0,0,1,0,0,0,0,1,1,1,0, }, @@ -74,7 +74,7 @@ { 1,1,1,0,1,1,1,1,0,0,0,1,0,0,1,0,1,1,1,0,1,1,1,1,0,0, }, }; -const ubit_t _sched_egprs_tsc[8][78] = { +const ubit_t _sched_train_seq_8psk_nb[8][78] = { { 1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0, 1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1, 1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1, }, @@ -102,7 +102,7 @@ }; /*! \brief SCH training sequence (TS 05.02 Chapter 5.2.5) */ -const ubit_t _sched_sch_train[64] = { +const ubit_t _sched_train_seq_gmsk_sb[64] = { 1,0,1,1,1,0,0,1,0,1,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1, 0,0,1,0,1,1,0,1,0,1,0,0,0,1,0,1,0,1,1,1,0,1,1,0,0,0,0,1,1,0,1,1, }; diff --git a/src/osmo-bts-trx/sched_lchan_fcch_sch.c b/src/osmo-bts-trx/sched_lchan_fcch_sch.c index 44da04c..993cb63 100644 --- a/src/osmo-bts-trx/sched_lchan_fcch_sch.c +++ b/src/osmo-bts-trx/sched_lchan_fcch_sch.c @@ -80,7 +80,7 @@ /* compose burst */ memcpy(br->burst + 3, burst, 39); - memcpy(br->burst + 42, _sched_sch_train, 64); + memcpy(br->burst + 42, _sched_train_seq_gmsk_sb, 64); memcpy(br->burst + 106, burst + 39, 39); br->burst_len = GSM_BURST_LEN; diff --git a/src/osmo-bts-trx/sched_lchan_pdtch.c b/src/osmo-bts-trx/sched_lchan_pdtch.c index 8648cb8..dede371 100644 --- a/src/osmo-bts-trx/sched_lchan_pdtch.c +++ b/src/osmo-bts-trx/sched_lchan_pdtch.c @@ -212,7 +212,7 @@ burst = *bursts_p + br->bid * 348; memset(br->burst, 1, 9); memcpy(br->burst + 9, burst, 174); - memcpy(br->burst + 183, _sched_egprs_tsc[gsm_ts_tsc(l1ts->ts)], 78); + memcpy(br->burst + 183, _sched_train_seq_8psk_nb[gsm_ts_tsc(l1ts->ts)], 78); memcpy(br->burst + 261, burst + 174, 174); memset(br->burst + 435, 1, 9); @@ -220,7 +220,7 @@ } else { burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); - memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(l1ts->ts)], 26); + memcpy(br->burst + 61, _sched_train_seq_gmsk_nb[gsm_ts_tsc(l1ts->ts)], 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c index 0961758..5605969 100644 --- a/src/osmo-bts-trx/sched_lchan_tchf.c +++ b/src/osmo-bts-trx/sched_lchan_tchf.c @@ -562,7 +562,7 @@ /* compose burst */ burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); - memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(l1ts->ts)], 26); + memcpy(br->burst + 61, _sched_train_seq_gmsk_nb[gsm_ts_tsc(l1ts->ts)], 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c index e526e48..91ce02f 100644 --- a/src/osmo-bts-trx/sched_lchan_tchh.c +++ b/src/osmo-bts-trx/sched_lchan_tchh.c @@ -451,7 +451,7 @@ /* compose burst */ burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); - memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(l1ts->ts)], 26); + memcpy(br->burst + 61, _sched_train_seq_gmsk_nb[gsm_ts_tsc(l1ts->ts)], 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; diff --git a/src/osmo-bts-trx/sched_lchan_xcch.c b/src/osmo-bts-trx/sched_lchan_xcch.c index 62b511c..b31175e 100644 --- a/src/osmo-bts-trx/sched_lchan_xcch.c +++ b/src/osmo-bts-trx/sched_lchan_xcch.c @@ -239,7 +239,7 @@ /* compose burst */ burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); - memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(l1ts->ts)], 26); + memcpy(br->burst + 61, _sched_train_seq_gmsk_nb[gsm_ts_tsc(l1ts->ts)], 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ice464e5b02b11b0f13df247fe6a01420a29bf1c5 Gerrit-Change-Number: 24326 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 02:51:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 02:51:26 +0000 Subject: Change in osmo-bts[master]: [VAMOS] l1sap: get_lchan_by_chan_nr() may return NULL References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24483 ) Change subject: [VAMOS] l1sap: get_lchan_by_chan_nr() may return NULL ...................................................................... [VAMOS] l1sap: get_lchan_by_chan_nr() may return NULL Change-Id: Ic309622d0ee818302dfc66d69fd2914ae28261d6 --- M src/common/l1sap.c 1 file changed, 12 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/83/24483/1 diff --git a/src/common/l1sap.c b/src/common/l1sap.c index a47f653..b0cffe5 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -765,6 +765,12 @@ struct info_act_cnf_param *info_act_cnf) { struct gsm_lchan *lchan = get_lchan_by_chan_nr(trx, info_act_cnf->chan_nr); + if (lchan == NULL) { + LOGPTRX(trx, DL1C, LOGL_ERROR, "get_lchan_by_chan_nr(chan_nr=%s) " + "yields NULL for PRIM_INFO_ACTIVATE.conf\n", + rsl_chan_nr_str(info_act_cnf->chan_nr)); + return -ENODEV; + } LOGPLCHAN(lchan, DL1C, LOGL_INFO, "activate confirm chan_nr=%s trx=%d\n", rsl_chan_nr_str(info_act_cnf->chan_nr), trx->nr); @@ -788,6 +794,12 @@ struct info_act_cnf_param *info_act_cnf) { struct gsm_lchan *lchan = get_lchan_by_chan_nr(trx, info_act_cnf->chan_nr); + if (lchan == NULL) { + LOGPTRX(trx, DL1C, LOGL_ERROR, "get_lchan_by_chan_nr(chan_nr=%s) " + "yields NULL for PRIM_INFO_ACTIVATE.conf\n", + rsl_chan_nr_str(info_act_cnf->chan_nr)); + return -ENODEV; + } LOGPLCHAN(lchan, DL1C, LOGL_INFO, "deactivate confirm chan_nr=%s trx=%d\n", rsl_chan_nr_str(info_act_cnf->chan_nr), trx->nr); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic309622d0ee818302dfc66d69fd2914ae28261d6 Gerrit-Change-Number: 24483 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 Jun 1 02:51:27 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 02:51:27 +0000 Subject: Change in osmo-bts[master]: [VAMOS] oml_rx_set_chan_attr(): clarify NM_ATT_CHAN_COMB handling References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24484 ) Change subject: [VAMOS] oml_rx_set_chan_attr(): clarify NM_ATT_CHAN_COMB handling ...................................................................... [VAMOS] oml_rx_set_chan_attr(): clarify NM_ATT_CHAN_COMB handling Change-Id: I8a4aace97515ca59ac4c6b5d50a9ee242edfe409 --- M src/common/oml.c 1 file changed, 8 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/84/24484/1 diff --git a/src/common/oml.c b/src/common/oml.c index 7bf89c5..cf83903 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -789,9 +789,12 @@ return bts_model_apply_oml(trx->bts, msg, tp_merged, NM_OC_RADIO_CARRIER, trx); } -static int conf_lchans(struct gsm_bts_trx_ts *ts) +static int handle_chan_comb(struct gsm_bts_trx_ts *ts, const uint8_t comb) { - enum gsm_phys_chan_config pchan = ts->pchan; + enum gsm_phys_chan_config pchan; + + pchan = abis_nm_pchan4chcomb(comb); + ts->pchan = pchan; /* RSL_MT_IPAC_PDCH_ACT style dyn PDCH */ if (pchan == GSM_PCHAN_TCH_F_PDCH) @@ -946,12 +949,10 @@ /* 9.4.13 Channel Combination */ if (TLVP_PRES_LEN(&tp, NM_ATT_CHAN_COMB, 1)) { - uint8_t comb = *TLVP_VAL(&tp, NM_ATT_CHAN_COMB); - ts->pchan = abis_nm_pchan4chcomb(comb); - rc = conf_lchans(ts); - if (rc < 0) { + const uint8_t comb = *TLVP_VAL(&tp, NM_ATT_CHAN_COMB); + if ((rc = handle_chan_comb(ts, comb)) != 0) { LOGPFOH(DOML, LOGL_ERROR, foh, "SET CHAN ATTR: invalid Chan Comb 0x%x" - " (pchan=%s, conf_lchans()->%d)\n", + " (pchan=%s, handle_chan_comb() returns %d)\n", comb, gsm_pchan_name(ts->pchan), rc); talloc_free(tp_merged); /* Send NACK */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24484 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8a4aace97515ca59ac4c6b5d50a9ee242edfe409 Gerrit-Change-Number: 24484 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 Jun 1 02:51:27 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 02:51:27 +0000 Subject: Change in osmo-bts[master]: [VAMOS] conf_lchans_as_pchan(): improve readability References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24485 ) Change subject: [VAMOS] conf_lchans_as_pchan(): improve readability ...................................................................... [VAMOS] conf_lchans_as_pchan(): improve readability Change-Id: I1c5a033e89d9ca5fb01ebe9ffb521fd67d159bee --- M src/common/oml.c 1 file changed, 18 insertions(+), 31 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/85/24485/1 diff --git a/src/common/oml.c b/src/common/oml.c index cf83903..d31bacd 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -816,59 +816,46 @@ int conf_lchans_as_pchan(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config pchan) { - struct gsm_lchan *lchan; unsigned int i; +#define lchans_type_set(ts, ltype, num) do { \ + for (i = 0; i < num; i++) \ + (ts)->lchan[i].type = ltype; \ + } while(0) + switch (pchan) { case GSM_PCHAN_CCCH_SDCCH4_CBCH: - /* fallthrough */ case GSM_PCHAN_CCCH_SDCCH4: - for (i = 0; i < 4; i++) { - lchan = &ts->lchan[i]; - if (pchan == GSM_PCHAN_CCCH_SDCCH4_CBCH - && i == 2) { - lchan->type = GSM_LCHAN_CBCH; - } else { - lchan->type = GSM_LCHAN_SDCCH; - } - } + lchans_type_set(ts, GSM_LCHAN_SDCCH, 4); + if (pchan == GSM_PCHAN_CCCH_SDCCH4_CBCH) + ts->lchan[2].type = GSM_LCHAN_CBCH; /* fallthrough */ case GSM_PCHAN_CCCH: - lchan = &ts->lchan[CCCH_LCHAN]; - lchan->type = GSM_LCHAN_CCCH; + ts->lchan[CCCH_LCHAN].type = GSM_LCHAN_CBCH; break; case GSM_PCHAN_TCH_F: - lchan = &ts->lchan[0]; - lchan->type = GSM_LCHAN_TCH_F; + lchans_type_set(ts, GSM_LCHAN_TCH_F, 1); break; case GSM_PCHAN_TCH_H: - for (i = 0; i < 2; i++) { - lchan = &ts->lchan[i]; - lchan->type = GSM_LCHAN_TCH_H; - } + lchans_type_set(ts, GSM_LCHAN_TCH_H, 2); break; case GSM_PCHAN_SDCCH8_SACCH8C_CBCH: - /* fallthrough */ case GSM_PCHAN_SDCCH8_SACCH8C: - for (i = 0; i < 8; i++) { - lchan = &ts->lchan[i]; - if (pchan == GSM_PCHAN_SDCCH8_SACCH8C_CBCH - && i == 2) { - lchan->type = GSM_LCHAN_CBCH; - } else { - lchan->type = GSM_LCHAN_SDCCH; - } - } + lchans_type_set(ts, GSM_LCHAN_SDCCH, 8); + if (pchan == GSM_PCHAN_SDCCH8_SACCH8C_CBCH) + ts->lchan[2].type = GSM_LCHAN_CBCH; break; case GSM_PCHAN_PDCH: - lchan = &ts->lchan[0]; - lchan->type = GSM_LCHAN_PDTCH; + lchans_type_set(ts, GSM_LCHAN_PDTCH, 1); break; default: LOGP(DOML, LOGL_ERROR, "Unknown/unhandled PCHAN type: %u %s\n", ts->pchan, gsm_pchan_name(ts->pchan)); return -NM_NACK_PARAM_RANGE; } + +#undef lchans_type_set + return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1c5a033e89d9ca5fb01ebe9ffb521fd67d159bee Gerrit-Change-Number: 24485 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 Jun 1 02:51:27 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 02:51:27 +0000 Subject: Change in osmo-bts[master]: [VAMOS] scheduler: drop meaningless channel number checks References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24486 ) Change subject: [VAMOS] scheduler: drop meaningless channel number checks ...................................................................... [VAMOS] scheduler: drop meaningless channel number checks Change-Id: Icc57e58feece51c2d1c421454352bc821e338973 --- M src/common/scheduler.c 1 file changed, 0 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/86/24486/1 diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 75cf6bd..6472e89 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -874,11 +874,6 @@ chan_nr = trx_chan_desc[br->chan].chan_nr | br->tn; link_id = trx_chan_desc[br->chan].link_id; - if (!chan_nr) { - LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "RTS func with non-existing chan_nr 0x%02x\n", chan_nr); - return -ENODEV; - } - /* For handover detection, there are cases where the SACCH should remain inactive until the first RACH * indicating the TA is received. */ if (L1SAP_IS_LINK_SACCH(link_id) @@ -914,11 +909,6 @@ chan_nr = trx_chan_desc[br->chan].chan_nr | br->tn; link_id = trx_chan_desc[br->chan].link_id; - if (!chan_nr) { - LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "RTS func with non-existing chan_nr 0x%02x\n", chan_nr); - return -ENODEV; - } - LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "TCH RTS.ind: chan_nr=0x%02x\n", chan_nr); /* only send, if FACCH is selected */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icc57e58feece51c2d1c421454352bc821e338973 Gerrit-Change-Number: 24486 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 Jun 1 03:36:12 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 03:36:12 +0000 Subject: Change in osmo-sip-connector[master]: SIP re-INVITE: fix media connection change detection References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/24487 ) Change subject: SIP re-INVITE: fix media connection change detection ...................................................................... SIP re-INVITE: fix media connection change detection Use the correct variable in address comparison. The type cast hid the incompatible type from the compiler. Change-Id: I701150f22f0eb49fae821996358568d60a385035 --- M src/sip.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sip-connector refs/changes/87/24487/1 diff --git a/src/sip.c b/src/sip.c index ba9730a..93ae69c 100644 --- a/src/sip.c +++ b/src/sip.c @@ -234,7 +234,7 @@ osmo_sockaddr_ntop((struct sockaddr*)&leg->base.addr, ip_addr), osmo_sockaddr_port((struct sockaddr*)&leg->base.addr)); if (osmo_sockaddr_cmp((struct osmo_sockaddr *)&prev_addr, - (struct osmo_sockaddr *)&leg->base)) { + (struct osmo_sockaddr *)&leg->base.addr)) { LOGP(DSIP, LOGL_INFO, "re-INVITE changes media connection.\n"); if (other->update_rtp) other->update_rtp(leg->base.call->remote); -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/24487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I701150f22f0eb49fae821996358568d60a385035 Gerrit-Change-Number: 24487 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 Jun 1 03:36:13 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 03:36:13 +0000 Subject: Change in osmo-sip-connector[master]: SIP re-INVITE: log media connection References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/24488 ) Change subject: SIP re-INVITE: log media connection ...................................................................... SIP re-INVITE: log media connection Change-Id: I2d11be9fe65aa76e044a91f88ba0e9a1d8e756ec --- M src/sip.c 1 file changed, 9 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sip-connector refs/changes/88/24488/1 diff --git a/src/sip.c b/src/sip.c index 93ae69c..f0bc4c3 100644 --- a/src/sip.c +++ b/src/sip.c @@ -214,8 +214,8 @@ } LOGP(DSIP, LOGL_DEBUG, "pre re-INVITE have IP:port (%s:%u)\n", - osmo_sockaddr_ntop((struct sockaddr*)&leg->base.addr, ip_addr), - osmo_sockaddr_port((struct sockaddr*)&leg->base.addr)); + osmo_sockaddr_ntop((struct sockaddr*)&prev_addr, ip_addr), + osmo_sockaddr_port((struct sockaddr*)&prev_addr)); if (mode == sdp_sendonly) { /* SIP side places call on HOLD */ @@ -235,9 +235,15 @@ osmo_sockaddr_port((struct sockaddr*)&leg->base.addr)); if (osmo_sockaddr_cmp((struct osmo_sockaddr *)&prev_addr, (struct osmo_sockaddr *)&leg->base.addr)) { - LOGP(DSIP, LOGL_INFO, "re-INVITE changes media connection.\n"); + LOGP(DSIP, LOGL_INFO, "re-INVITE changes media connection to %s:%u\n", + osmo_sockaddr_ntop((struct sockaddr*)&leg->base.addr, ip_addr), + osmo_sockaddr_port((struct sockaddr*)&leg->base.addr)); if (other->update_rtp) other->update_rtp(leg->base.call->remote); + } else { + LOGP(DSIP, LOGL_INFO, "re-INVITE does not change media connection (%s:%u)\n", + osmo_sockaddr_ntop((struct sockaddr*)&prev_addr, ip_addr), + osmo_sockaddr_port((struct sockaddr*)&prev_addr)); } sdp = sdp_create_file(leg, other, sdp_sendrecv); } -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/24488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I2d11be9fe65aa76e044a91f88ba0e9a1d8e756ec Gerrit-Change-Number: 24488 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 Jun 1 03:58:30 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 03:58:30 +0000 Subject: Change in osmo-bts[master]: manuals/abis/rsl.adoc: s/TS 08.58/TS 48.058/ References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24489 ) Change subject: manuals/abis/rsl.adoc: s/TS 08.58/TS 48.058/ ...................................................................... manuals/abis/rsl.adoc: s/TS 08.58/TS 48.058/ Change-Id: Iae8e184f98f089c95dce4c51f512971521c4b059 Related: SYS#4895, OS#4941 --- M doc/manuals/abis/rsl.adoc 1 file changed, 76 insertions(+), 76 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/89/24489/1 diff --git a/doc/manuals/abis/rsl.adoc b/doc/manuals/abis/rsl.adoc index 7b45acf..c9ad495 100644 --- a/doc/manuals/abis/rsl.adoc +++ b/doc/manuals/abis/rsl.adoc @@ -3,16 +3,16 @@ === List of Messages The following tables list the RSL messages used by OsmoBTS A-bis/IP, -grouped by their level of compliance with 3GPP TS 08.58. +grouped by their level of compliance with 3GPP TS 48.058. -==== Messages Compliant With TS 08.58 +==== Messages Compliant With TS 48.058 Specific additions and limitations apply, see the linked sections. -.Messages compliant with TS 08.58 +.Messages compliant with TS 48.058 [options="header",cols="10%,20%,45%,5%,20%"] |=== -| TS 08.58 ? | This document ? | Message | <-/-> | Received/Sent by OsmoBTS +| TS 48.058 ? | This document ? | Message | <-/-> | Received/Sent by OsmoBTS 5+<| *Radio link layer management messages* | 8.3.1 | - | DATA REQUEST | <- | Received | 8.3.2 | - | DATA INDICATION | -> | Sent @@ -59,7 +59,7 @@ ==== Messages Specific to OsmoBTS -.Messages specific to OsmoBTS, not found in 3GPP TS 08.58 +.Messages specific to OsmoBTS, not found in 3GPP TS 48.058 [options="header",cols="15%,15%,45%,5%,20%"] |=== 2+| This document ? | Message | <-/-> | Received/Sent by OsmoBTS @@ -87,10 +87,10 @@ ==== Messages Not Implemented by OsmoBTS -.3GPP TS 08.58 messages not implemented by OsmoBTS +.3GPP TS 48.058 messages not implemented by OsmoBTS [options="header",cols="10%,90%"] |=== -| TS 08.58 ? | Message +| TS 48.058 ? | Message 2+<| *DEDICATED CHANNEL MANAGEMENT MESSAGES* | 8.4.12 | PHYSICAL CONTEXT REQUEST | 8.4.13 | PHYSICAL CONTEXT CONFIRM @@ -135,24 +135,24 @@ [[MEASUREMENT_RESULT]] ==== Measurement Result -Conforms to 3GPP TS 08.58 ? 8.4.8 with this limitation: +Conforms to 3GPP TS 48.058 ? 8.4.8 with this limitation: ._Measurement Result_ IE limitations [options="header",cols="10%,30%,60%"] |=== -| TS 08.58 ? | IE Name | Handling +| TS 48.058 ? | IE Name | Handling | 9.3.37 | MS Timing Offset | never sent by OsmoBTS |=== [[MODE_MODIFY]] ==== Mode Modify -Conforms to 3GPP TS 08.58 ? 8.4.9 with these limitations: +Conforms to 3GPP TS 48.058 ? 8.4.9 with these limitations: ._Mode Modify_ IE limitations [options="header",cols="10%,30%,60%"] |=== -| TS 08.58 ? | IE Name | Handling +| TS 48.058 ? | IE Name | Handling | 9.3.45 | Main channel reference | _ignored_ | 9.3.53 | MultiRate Control | _ignored_ | 9.3.54 | Supported Codec Types | _ignored_ @@ -161,12 +161,12 @@ [[MS_POWER_CONTROL]] ==== MS Power Control -Conforms to 3GPP TS 08.58 ? 8.4.15 with these limitations: +Conforms to 3GPP TS 48.058 ? 8.4.15 with these limitations: ._MS Power Control_ IE limitations [options="header",cols="10%,30%,60%"] |=== -| TS 08.58 ? | IE Name | Handling +| TS 48.058 ? | IE Name | Handling | 9.3.31 | MS Power Parameters | _ignored_ |=== @@ -174,12 +174,12 @@ [[SACCH_INFO_MODIFY]] ==== SACCH Info Modify -Conforms to 3GPP TS 08.58 ? 8.4.20, with these exceptions: +Conforms to 3GPP TS 48.058 ? 8.4.20, with these exceptions: ._SACCH Info Modify_ IE limitations [options="header",cols="10%,30%,60%"] |=== -| TS 08.58 ? | IE Name | Handling +| TS 48.058 ? | IE Name | Handling | 9.3.30 | System Info Type | See below for available types | 9.3.23 | Starting Time | not supported, provokes an _Error Report_ response |=== @@ -199,12 +199,12 @@ [[BCCH_INFORMATION]] ==== BCCH Information -Conforms to 3GPP TS 08.58 ? 8.5.1, with these limitations and extensions: +Conforms to 3GPP TS 48.058 ? 8.5.1, with these limitations and extensions: ._BCCH Information_ IE details [options="header",cols="10%,30%,60%"] |=== -| TS 08.58 ? | IE Name | Handling +| TS 48.058 ? | IE Name | Handling | 9.3.30 | System Info Type | See <> for available types | 9.3.11 | L3 Info | This IE may be included instead of a 9.3.39 _Full BCCH Info_ IE. The _Full BCCH Info_ takes precedence over _L3 Info_. @@ -215,12 +215,12 @@ [[CHANNEL_REQUIRED]] ==== Channel Required -Conforms to 3GPP TS 08.58 ? 8.5.3, with these limitations: +Conforms to 3GPP TS 48.058 ? 8.5.3, with these limitations: ._Channel Required_ message IE details [options="header",cols="10%,30%,60%"] |=== -| TS 08.58 ? | IE Name | Handling +| TS 48.058 ? | IE Name | Handling | 9.3.16 | Physical Context | never sent by OsmoBTS |=== @@ -228,12 +228,12 @@ [[PAGING_COMMAND]] ==== Paging Command -Conforms to 3GPP TS 08.58 ? 8.5.5, with these limitations: +Conforms to 3GPP TS 48.058 ? 8.5.5, with these limitations: ._Paging Command_ message IE details [options="header",cols="10%,30%,60%"] |=== -| TS 08.58 ? | IE Name | Handling +| TS 48.058 ? | IE Name | Handling | 9.3.49 | eMLPP Priority | _ignored_ |=== @@ -244,15 +244,15 @@ [[RF_RESOURCE_INDICATION]] ==== RF Resource Indication -This message does not conform to 3GPP TS 08.58 ? 8.6.1, in that it omits the +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 08.58 ? | IE Name | Handling -| 9.3.21 | Resource Information | OsmoBTS omits this IE, though TS 08.58 +| TS 48.058 ? | IE Name | Handling +| 9.3.21 | Resource Information | OsmoBTS omits this IE, though TS 48.058 specifies it as mandatory. |=== @@ -260,12 +260,12 @@ [[SACCH_FILLING]] ==== SACCH Filling -Conforms to 3GPP TS 08.58 ? 8.6.2, with these limitations: +Conforms to 3GPP TS 48.058 ? 8.6.2, with these limitations: ._SACCH Filling_ message IE limitations [options="header",cols="10%,30%,60%"] |=== -| TS 08.58 ? | IE Name | Handling +| TS 48.058 ? | IE Name | Handling | 9.3.30 | System Info Type | See <> for available types | 9.3.23 | Starting Time | _ignored_ |=== @@ -275,7 +275,7 @@ === User Plane Transport Management This chapter defines the A-bis/IP specific RSL procedures that are -introduced in addition to the 3GPP TS 08.58 standard procedures. +introduced in addition to the 3GPP TS 48.058 standard procedures. In classic A-bis over E1, user plane traffic is carried over 16kBps sub-slots of 64kBps E1 time-slots according to ETSI/3GPP TS 08.60. As @@ -423,10 +423,10 @@ procedure according to <>, with these modifications: * The 'C-bits' part of the 'Channel Number' IE take the non-standard binary - value 11000 (C5 through C1 as seen in 3GPP TS 08.58 ? 9.3.1). + value 11000 (C5 through C1 as seen in 3GPP TS 48.058 ? 9.3.1). * The 'A-bits' part of the 'Activation Type' IE take the non-standard binary value 1111, with an additional fourth bit (add A4 to A3 through A1 as seen in - 3GPP TS 08.58 ? 9.3.3; all remaining reserved bits as well as the 'R' bit are + 3GPP TS 48.058 ? 9.3.3; all remaining reserved bits as well as the 'R' bit are coded as zero). * The normally mandatory 'Channel Mode' IE is omitted; none of the optional IEs are included. @@ -436,7 +436,7 @@ .PDCH type _Channel Activation_ message IEs [options="header",cols="10%,30%,60%"] |=== -| TS 08.58 ? | IE Name | Handling +| TS 48.058 ? | IE Name | Handling | 9.1 | Message discriminator | Dedicated Channel Management | 9.2 | Message type | CHANnel ACTIVation | 9.3.1 | Channel number | 'C-bits' 11000, plus TS bits as usual @@ -489,9 +489,9 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 +| Channel number | 48.058 9.3.1 | M | TV | 2 | Destination IP Address | <> | O | TV | 5 | Destination IP Port | <> | O | TV | 3 | IP Speech Mode | <> | O | TV | 2 @@ -509,9 +509,9 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 +| Channel number | 48.058 9.3.1 | M | TV | 2 | Connection Id | <> | M | TV | 3 | Source IP Address | <> | O | TV | 5 | Source IP Port | <> | O | TV | 3 @@ -529,12 +529,12 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 +| Channel number | 48.058 9.3.1 | M | TV | 2 | Destination IP Address | <> | O | TV | 5 | Destination IP Port | <> | O | TV | 3 -| Cause | 08.58 9.3.26 | O | TLV | >= 3 +| Cause | 48.058 9.3.26 | O | TLV | >= 3 |=== @@ -548,9 +548,9 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 +| Channel number | 48.058 9.3.1 | M | TV | 2 | Connection Id | <> | O | TV | 3 | Destination IP Address | <> | O | TV | 5 | Destination IP Port | <> | O | TV | 3 @@ -569,9 +569,9 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 +| Channel number | 48.058 9.3.1 | M | TV | 2 | Connection Id | <> | O | TV | 3 | Source IP Address | <> | C | TV | 5 | Source IP Port | <> | C | TV | 3 @@ -590,10 +590,10 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 -| Cause | 08.58 9.3.26 | M | TLV | >= 3 +| Channel number | 48.058 9.3.1 | M | TV | 2 +| Cause | 48.058 9.3.26 | M | TLV | >= 3 |=== [[rsl_dlcx_ind_msg]] @@ -607,12 +607,12 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 +| Channel number | 48.058 9.3.1 | M | TV | 2 | Connection Id | <> | M | TV | 3 | Connection Id | <> | M | TV | 3 -| Cause | 08.58 9.3.26 | M | TLV | >= 3 +| Cause | 48.058 9.3.26 | M | TLV | >= 3 |=== [[rsl_dlcx_msg]] @@ -626,9 +626,9 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 +| Channel number | 48.058 9.3.1 | M | TV | 2 | Connection Id | <> | O | TV | 3 |=== @@ -644,9 +644,9 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 +| Channel number | 48.058 9.3.1 | M | TV | 2 | Connection Id | <> | O | TV | 3 | Connection Statistics | <> | C | TV | 29 |=== @@ -663,11 +663,11 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 +| Channel number | 48.058 9.3.1 | M | TV | 2 | Connection Id | <> | O | TV | 3 -| Cause | 08.58 9.3.26 | M | TLV | >= 3 +| Cause | 48.058 9.3.26 | M | TLV | >= 3 |=== [[rsl_pdch_act]] @@ -680,9 +680,9 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 +| Channel number | 48.058 9.3.1 | M | TV | 2 |=== NOTE:: This message is *not* used by Osmocom style dynamic channels @@ -697,10 +697,10 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 -| Frame Number | 08.58 9.3.8 | O | TV | 3 +| Channel number | 48.058 9.3.1 | M | TV | 2 +| Frame Number | 48.058 9.3.8 | O | TV | 3 |=== NOTE:: This message is *not* used by Osmocom style dynamic channels @@ -715,10 +715,10 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 -| Cause | 08.58 9.3.26 | M | TLV | >= 3 +| Channel number | 48.058 9.3.1 | M | TV | 2 +| Cause | 48.058 9.3.26 | M | TLV | >= 3 |=== NOTE:: This message is *not* used by Osmocom style dynamic channels @@ -733,9 +733,9 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 +| Channel number | 48.058 9.3.1 | M | TV | 2 |=== NOTE:: This message is *not* used by Osmocom style dynamic channels @@ -750,9 +750,9 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 +| Channel number | 48.058 9.3.1 | M | TV | 2 |=== NOTE:: This message is *not* used by Osmocom style dynamic channels @@ -767,10 +767,10 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 -| Cause | 08.58 9.3.26 | M | TLV | >= 3 +| Channel number | 48.058 9.3.1 | M | TV | 2 +| Cause | 48.058 9.3.26 | M | TLV | >= 3 |=== NOTE:: This message is *not* used by Osmocom style dynamic channels @@ -794,10 +794,10 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 -| SMSCB Message | 08.58 9.3.42 | M | TLV | 2-58 +| Channel number | 48.058 9.3.1 | M | TV | 2 +| SMSCB Message | 48.058 9.3.42 | M | TLV | 2-58 |=== @@ -807,7 +807,7 @@ ==== A-bis/IP specific RSL Message discriminators The following message discriminators are used in addition to those -indicated in 3GPP TS 08.58 Section 9.1: +indicated in 3GPP TS 48.058 Section 9.1: .OsmoBTS specific new message discriminators [options="header",cols="10%,50%,40%"] @@ -835,7 +835,7 @@ ==== A-bis/IP specific RSL IEIs The following Information Element Identifiers (IEIs) are used in -addition to those indicated in 3GPP TS 08.58 Section 9.3: +addition to those indicated in 3GPP TS 48.058 Section 9.3: .A-bis/IP specific information elements [options="header",cols="10%,50%,40%"] @@ -857,13 +857,13 @@ [[RSL_IE_CHAN_NR]] ==== RSL_IE_CHAN_NR -This information element is coded like 3GPP TS 08.58 Section 9.3.1, +This information element is coded like 3GPP TS 48.058 Section 9.3.1, but in addition supports the following extended coding: * C5..C1 bits 0b11000 for PDCH type channels The TN-Bits are not re-defined in this case but use the same encoding -as specified in TS 08.58 Section 9.3.1. +as specified in TS 48.058 Section 9.3.1. NOTE:: The above extension is only valid on an Osmocom-style dynamic channel, having configured the 'NM_CHANC_IPAC_TCHFull_PDCH' channel -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iae8e184f98f089c95dce4c51f512971521c4b059 Gerrit-Change-Number: 24489 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 Jun 1 03:58:31 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 03:58:31 +0000 Subject: Change in osmo-bts[master]: manuals/abis/rsl.adoc: rework Channel Number description References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24490 ) Change subject: manuals/abis/rsl.adoc: rework Channel Number description ...................................................................... manuals/abis/rsl.adoc: rework Channel Number description Change-Id: I3013c6b2c38db33d7d80e174b3d4910f8b01963d Related: SYS#4895, OS#4941 --- M doc/manuals/abis/rsl.adoc 1 file changed, 11 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/90/24490/1 diff --git a/doc/manuals/abis/rsl.adoc b/doc/manuals/abis/rsl.adoc index c9ad495..2d17a89 100644 --- a/doc/manuals/abis/rsl.adoc +++ b/doc/manuals/abis/rsl.adoc @@ -857,17 +857,22 @@ [[RSL_IE_CHAN_NR]] ==== RSL_IE_CHAN_NR -This information element is coded like 3GPP TS 48.058 Section 9.3.1, -but in addition supports the following extended coding: +This information element is coded as described in 3GPP TS 48.058 Section 9.3.1, +but in addition supports the following vendor specific values: -* C5..C1 bits 0b11000 for PDCH type channels +.RSL Channel Number extensions +[options="header",cols="5%,5%,5%,5%,5%,75%"] +|=== +| C5 | C4 | C3 | C2 | C1 | Description +| 1 | 1 | 0 | 0 | 0 | PDCH `<1>` +|=== + +`<1>` This extension is only valid on an Osmocom-style dynamic channel, having +configured the 'NM_CHANC_IPAC_TCHFull_PDCH' channel combination by OML. The TN-Bits are not re-defined in this case but use the same encoding as specified in TS 48.058 Section 9.3.1. -NOTE:: The above extension is only valid on an Osmocom-style dynamic -channel, having configured the 'NM_CHANC_IPAC_TCHFull_PDCH' channel -combination by OML. [[RSL_IE_IPAC_REMOTE_IP]] ==== RSL_IE_IPAC_REMOTE_IP -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3013c6b2c38db33d7d80e174b3d4910f8b01963d Gerrit-Change-Number: 24490 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 Jun 1 03:58:32 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 03:58:32 +0000 Subject: Change in osmo-bts[master]: manuals/abis/rsl.adoc: add missing CBCH Channel Number values References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24491 ) Change subject: manuals/abis/rsl.adoc: add missing CBCH Channel Number values ...................................................................... manuals/abis/rsl.adoc: add missing CBCH Channel Number values Change-Id: Iab64c35a384978ba2eb1878f619de2c3827cd8c5 Related: SYS#4895, OS#4941 --- M doc/manuals/abis/rsl.adoc 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/91/24491/1 diff --git a/doc/manuals/abis/rsl.adoc b/doc/manuals/abis/rsl.adoc index 2d17a89..17d2cb0 100644 --- a/doc/manuals/abis/rsl.adoc +++ b/doc/manuals/abis/rsl.adoc @@ -865,6 +865,8 @@ |=== | C5 | C4 | C3 | C2 | C1 | Description | 1 | 1 | 0 | 0 | 0 | PDCH `<1>` +| 1 | 1 | 0 | 0 | 1 | CBCH on SDCCH4 +| 1 | 1 | 0 | 1 | 0 | CBCH on SDCCH8 |=== `<1>` This extension is only valid on an Osmocom-style dynamic channel, having -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iab64c35a384978ba2eb1878f619de2c3827cd8c5 Gerrit-Change-Number: 24491 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 Jun 1 03:58:33 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 03:58:33 +0000 Subject: Change in osmo-bts[master]: manuals/abis/rsl.adoc: add VAMOS specific Channel Number values References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24492 ) Change subject: manuals/abis/rsl.adoc: add VAMOS specific Channel Number values ...................................................................... manuals/abis/rsl.adoc: add VAMOS specific Channel Number values Change-Id: Ib3ad7652dfcbd104d25b031ac89f5491da2673a6 Related: SYS#4895, OS#4941 --- M doc/manuals/abis/rsl.adoc 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/92/24492/1 diff --git a/doc/manuals/abis/rsl.adoc b/doc/manuals/abis/rsl.adoc index 17d2cb0..bda98ee 100644 --- a/doc/manuals/abis/rsl.adoc +++ b/doc/manuals/abis/rsl.adoc @@ -867,10 +867,14 @@ | 1 | 1 | 0 | 0 | 0 | PDCH `<1>` | 1 | 1 | 0 | 0 | 1 | CBCH on SDCCH4 | 1 | 1 | 0 | 1 | 0 | CBCH on SDCCH8 +| 1 | 1 | 1 | 0 | 1 | VAMOS TCH/F `<2>` +| 1 | 1 | 1 | 1 | T | VAMOS TCH/H `<2>` |=== `<1>` This extension is only valid on an Osmocom-style dynamic channel, having configured the 'NM_CHANC_IPAC_TCHFull_PDCH' channel combination by OML. +`<2>` These Osmocom specific values are used by osmo-bsc to address logical +channels on the shadow timeslots in VAMOS mode, iff the BTS is VAMOS-capable. The TN-Bits are not re-defined in this case but use the same encoding as specified in TS 48.058 Section 9.3.1. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib3ad7652dfcbd104d25b031ac89f5491da2673a6 Gerrit-Change-Number: 24492 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 Jun 1 04:00:55 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 04:00:55 +0000 Subject: Change in osmo-sip-connector[master]: fix use-after-free in SIP re-INVITE In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/24474 ) Change subject: fix use-after-free in SIP re-INVITE ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/24474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I4c48832f01e61e98536de8f164ab5a3caa64f34a Gerrit-Change-Number: 24474 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 01 Jun 2021 04:00: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 Jun 1 04:01:32 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 04:01:32 +0000 Subject: Change in osmo-sip-connector[master]: SIP re-INVITE: fix media connection change detection In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/24487 ) Change subject: SIP re-INVITE: fix media connection change detection ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/24487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I701150f22f0eb49fae821996358568d60a385035 Gerrit-Change-Number: 24487 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 01 Jun 2021 04:01: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 Jun 1 04:02:27 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 04:02:27 +0000 Subject: Change in osmo-sip-connector[master]: SIP re-INVITE: log media connection In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/24488 ) Change subject: SIP re-INVITE: log media connection ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/24488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I2d11be9fe65aa76e044a91f88ba0e9a1d8e756ec Gerrit-Change-Number: 24488 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 01 Jun 2021 04: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 Tue Jun 1 07:26:26 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 1 Jun 2021 07:26:26 +0000 Subject: Change in osmo-hlr[master]: Add post-upgrade script for automatic db upgrade References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/24493 ) Change subject: Add post-upgrade script for automatic db upgrade ...................................................................... Add post-upgrade script for automatic db upgrade Closes: OS#5138 Change-Id: I34e943e5020285f63a2162010eb42675af1520bf --- M contrib/Makefile.am A contrib/osmo-hlr-post-upgrade.sh M contrib/osmo-hlr.spec.in M debian/osmo-hlr.install A debian/postinst 5 files changed, 116 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/93/24493/1 diff --git a/contrib/Makefile.am b/contrib/Makefile.am index cfd0b15..37c4aa4 100644 --- a/contrib/Makefile.am +++ b/contrib/Makefile.am @@ -2,3 +2,13 @@ systemd \ dgsm \ $(NULL) + +EXTRA_DIST = osmo-hlr-post-upgrade.sh + +install-data-hook: + install -Dm755 $(srcdir)/osmo-hlr-post-upgrade.sh \ + -t $(DESTDIR)$(datadir)/osmocom/ + +uninstall-hook: + @$(PRE_UNINSTALL) + $(RM) $(DESTDIR)$(datadir)/osmocom/osmo-hlr-post-upgrade.sh diff --git a/contrib/osmo-hlr-post-upgrade.sh b/contrib/osmo-hlr-post-upgrade.sh new file mode 100644 index 0000000..88416a1 --- /dev/null +++ b/contrib/osmo-hlr-post-upgrade.sh @@ -0,0 +1,95 @@ +#!/bin/sh -e +# SPDX-License-Identifier: AGPL-3.0-or-later +# Copyright 2021 sysmocom s.f.m.c GmbH +# +# Packagers are supposed to call this script in post-upgrade, so it can safely +# upgrade the database scheme if required. + +DB="/var/lib/osmocom/hlr.db" +IS_ACTIVE=0 + +msg() { + echo "osmo-hlr-post-upgrade: $@" +} + +err() { + msg "ERROR: $@" +} + +open_db() { + # Attempt to open the database with osmo-hlr-db-tool, it will fail if + # upgrading the schema is required + osmo-hlr-db-tool -s -l "$DB" create +} + +check_upgrade_required() { + if ! [ -e "$DB" ]; then + msg "nothing to do (no existing database)" + exit 0 + fi + + if open_db 2>/dev/null; then + msg "nothing to do (database version is up to date)" + exit 0 + fi + + msg "database upgrade is required" +} + +stop_service() { + if systemctl is-active -q osmo-hlr; then + IS_ACTIVE=1 + msg "stopping osmo-hlr service" + systemctl stop osmo-hlr + + # Verify that it stopped + for i in $(seq 1 100); do + if ! systemctl is-active -q osmo-hlr; then + return + fi + sleep 0.1 + done + + err "failed to stop osmo-hlr service" + exit 1 + else + msg "osmo-hlr service is not running" + fi +} + +create_backup() { + backup="$DB.$(date +%Y%m%d%H%M%S).bak" + msg "creating backup: $backup" + if [ -e "$backup" ]; then + err "backup already exists: $backup" + exit 1 + fi + cp "$DB" "$backup" +} + +upgrade() { + msg "performing database upgrade" + osmo-hlr-db-tool -s -U -l "$DB" create + + if ! open_db 2>/dev/null; then + err "failed to open the database after upgrade" + err "osmo-hlr-db-tool output:" + open_db + # exit because of "set -e" + fi + + msg "database upgrade successful" +} + +start_service() { + if [ "$IS_ACTIVE" = "1" ]; then + msg "starting osmo-hlr service" + systemctl start osmo-hlr + fi +} + +check_upgrade_required +stop_service +create_backup +upgrade +start_service diff --git a/contrib/osmo-hlr.spec.in b/contrib/osmo-hlr.spec.in index c4029be..d0a1b57 100644 --- a/contrib/osmo-hlr.spec.in +++ b/contrib/osmo-hlr.spec.in @@ -136,10 +136,13 @@ %pre %service_add_pre %{name}.service +%endif %post +%if 0%{?suse_version} %service_add_post %{name}.service %endif +/usr/share/osmocom/osmo-hlr-post-upgrade.sh %post -n libosmo-gsup-client0 -p /sbin/ldconfig %postun -n libosmo-gsup-client0 -p /sbin/ldconfig @@ -162,6 +165,8 @@ %dir %{_sysconfdir}/osmocom %config %{_sysconfdir}/osmocom/osmo-hlr.cfg %{_unitdir}/osmo-hlr.service +%dir %{_datadir}/osmocom +%{_datadir}/osmocom/osmo-hlr-post-upgrade.sh %files -n libosmo-gsup-client0 %{_libdir}/libosmo-gsup-client.so.0* diff --git a/debian/osmo-hlr.install b/debian/osmo-hlr.install index 1b2cb56..421d5f4 100644 --- a/debian/osmo-hlr.install +++ b/debian/osmo-hlr.install @@ -5,4 +5,5 @@ /usr/share/doc/osmo-hlr/sql/hlr.sql /usr/share/doc/osmo-hlr/sql/hlr_data.sql /usr/share/doc/osmo-hlr/examples/osmo-hlr.cfg +/usr/share/osmocom/osmo-hlr-post-upgrade.sh /var/lib/osmocom diff --git a/debian/postinst b/debian/postinst new file mode 100755 index 0000000..390d304 --- /dev/null +++ b/debian/postinst @@ -0,0 +1,5 @@ +#!/bin/sh -e +# Debian's postinst script is called on both installation and upgrade. Call the +# post-upgrade script in both cases, it won't do anything if there is nothing +# to do. +/usr/share/osmocom/osmo-hlr-post-upgrade.sh -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/24493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I34e943e5020285f63a2162010eb42675af1520bf Gerrit-Change-Number: 24493 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 Jun 1 07:29:06 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 1 Jun 2021 07:29:06 +0000 Subject: Change in osmo-hlr[master]: Add post-upgrade script for automatic db upgrade In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/24493 to look at the new patch set (#2). Change subject: Add post-upgrade script for automatic db upgrade ...................................................................... Add post-upgrade script for automatic db upgrade Closes: OS#5138 Change-Id: I34e943e5020285f63a2162010eb42675af1520bf --- M contrib/Makefile.am A contrib/osmo-hlr-post-upgrade.sh M contrib/osmo-hlr.spec.in M debian/osmo-hlr.install A debian/postinst 5 files changed, 116 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/93/24493/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/24493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I34e943e5020285f63a2162010eb42675af1520bf Gerrit-Change-Number: 24493 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 07:52:30 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 1 Jun 2021 07:52:30 +0000 Subject: Change in libosmocore[master]: stat, rate_ctr: Allow setting group name and use it at report time In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24467 ) Change subject: stat,rate_ctr: Allow setting group name and use it at report time ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0dc510783dd9ae8436dae8005a7b3330e80d36f3 Gerrit-Change-Number: 24467 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 01 Jun 2021 07:52:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 07:55:25 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 1 Jun 2021 07:55:25 +0000 Subject: Change in libosmocore[master]: ns2: Use NSVC bufid in stats report In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24468 ) Change subject: ns2: Use NSVC bufid in stats report ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4c696c615ba3416f8524d0797ce06c0ecd3a18f2 Gerrit-Change-Number: 24468 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 01 Jun 2021 07: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 Tue Jun 1 08:51:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 08:51:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: accept optional TestSpecUnion in t_Pars In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24475 ) Change subject: BTS_Tests: accept optional TestSpecUnion in t_Pars ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I75462c3d30544bb87b578f2627b304cce57393e5 Gerrit-Change-Number: 24475 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 08:51: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 Jun 1 08:52:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 08:52:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: use as_l1_exp_lapdm() in f_TC_rll_est_req() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24476 ) Change subject: BTS_Tests: use as_l1_exp_lapdm() in f_TC_rll_est_req() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24476 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic0ecef07385621e0f0fbdae67daad95ef628cdd5 Gerrit-Change-Number: 24476 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 08:52: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 Jun 1 08:53:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 08:53:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: make it less private and more friendly In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24477 ) Change subject: BTS_Tests: make it less private and more friendly ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24477 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia4eae7f14228e72cd63bd8f84e27606ac972006c Gerrit-Change-Number: 24477 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 08:53:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 08:54:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 08:54:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: accept templates as parameters in t_EITC() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24478 ) Change subject: BTS_Tests: accept templates as parameters in t_EITC() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24478 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I56cd32a6ba91c078608d64c95538b9a43e2fada9 Gerrit-Change-Number: 24478 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 08:54:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 08:56:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 08:56:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: HACK: allow running parallel BTS_Tests.ConnHdlr components In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24479 ) Change subject: HACK: allow running parallel BTS_Tests.ConnHdlr components ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24479 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I72bcaed6c3803a0e18c9b787036a441e30c220cc Gerrit-Change-Number: 24479 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 08:56: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 Jun 1 08:58:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 08:58:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: [VAMOS] BTS: add CHANnel ACTIVation test cases In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24480 ) Change subject: [VAMOS] BTS: add CHANnel ACTIVation test cases ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I79817b3504b0d956e9fa52b8640d3a4d0fd2c4ba Gerrit-Change-Number: 24480 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 08:58:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 08:58:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 08:58:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: [VAMOS] BTS: add MODE MODIFY test cases In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24481 ) Change subject: [VAMOS] BTS: add MODE MODIFY test cases ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If4202287902442629bab716e41d3e6b2d05d09fb Gerrit-Change-Number: 24481 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 08: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 Tue Jun 1 09:00:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 09:00:03 +0000 Subject: Change in osmo-bts[master]: [VAMOS] l1sap: get_lchan_by_chan_nr() may return NULL In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24483 ) Change subject: [VAMOS] l1sap: get_lchan_by_chan_nr() may return NULL ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic309622d0ee818302dfc66d69fd2914ae28261d6 Gerrit-Change-Number: 24483 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 09:00: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 Jun 1 09:01:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 09:01:58 +0000 Subject: Change in osmo-bts[master]: [VAMOS] oml_rx_set_chan_attr(): clarify NM_ATT_CHAN_COMB handling In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24484 ) Change subject: [VAMOS] oml_rx_set_chan_attr(): clarify NM_ATT_CHAN_COMB handling ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24484 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8a4aace97515ca59ac4c6b5d50a9ee242edfe409 Gerrit-Change-Number: 24484 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 09:01: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 Jun 1 09:02:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 09:02:53 +0000 Subject: Change in osmo-bts[master]: [VAMOS] conf_lchans_as_pchan(): improve readability In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24485 ) Change subject: [VAMOS] conf_lchans_as_pchan(): improve readability ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1c5a033e89d9ca5fb01ebe9ffb521fd67d159bee Gerrit-Change-Number: 24485 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 09: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 Tue Jun 1 09:03:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 09:03:45 +0000 Subject: Change in osmo-bts[master]: [VAMOS] scheduler: drop meaningless channel number checks In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24486 ) Change subject: [VAMOS] scheduler: drop meaningless channel number checks ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icc57e58feece51c2d1c421454352bc821e338973 Gerrit-Change-Number: 24486 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 09:03: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 Jun 1 09:04:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 09:04:25 +0000 Subject: Change in osmo-bts[master]: manuals/abis/rsl.adoc: s/TS 08.58/TS 48.058/ In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24489 ) Change subject: manuals/abis/rsl.adoc: s/TS 08.58/TS 48.058/ ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iae8e184f98f089c95dce4c51f512971521c4b059 Gerrit-Change-Number: 24489 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 09:04: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 Jun 1 09:04:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 09:04:54 +0000 Subject: Change in osmo-bts[master]: manuals/abis/rsl.adoc: rework Channel Number description In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24490 ) Change subject: manuals/abis/rsl.adoc: rework Channel Number description ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3013c6b2c38db33d7d80e174b3d4910f8b01963d Gerrit-Change-Number: 24490 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 09:04:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 09:05:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 09:05:16 +0000 Subject: Change in osmo-bts[master]: manuals/abis/rsl.adoc: add missing CBCH Channel Number values In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24491 ) Change subject: manuals/abis/rsl.adoc: add missing CBCH Channel Number values ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iab64c35a384978ba2eb1878f619de2c3827cd8c5 Gerrit-Change-Number: 24491 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 09:05:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 09:05:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 09:05:34 +0000 Subject: Change in osmo-bts[master]: manuals/abis/rsl.adoc: add VAMOS specific Channel Number values In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24492 ) Change subject: manuals/abis/rsl.adoc: add VAMOS specific Channel Number values ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib3ad7652dfcbd104d25b031ac89f5491da2673a6 Gerrit-Change-Number: 24492 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 09:05: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 Jun 1 09:07:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 09:07:00 +0000 Subject: Change in osmo-sip-connector[master]: fix use-after-free in SIP re-INVITE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/24474 ) Change subject: fix use-after-free in SIP re-INVITE ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/24474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I4c48832f01e61e98536de8f164ab5a3caa64f34a Gerrit-Change-Number: 24474 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 09:07: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 Jun 1 09:07:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 09:07:33 +0000 Subject: Change in osmo-sip-connector[master]: SIP re-INVITE: fix media connection change detection In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/24487 ) Change subject: SIP re-INVITE: fix media connection change detection ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/24487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I701150f22f0eb49fae821996358568d60a385035 Gerrit-Change-Number: 24487 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 09: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 Tue Jun 1 09:08:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 09:08:42 +0000 Subject: Change in osmo-sip-connector[master]: SIP re-INVITE: log media connection In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/24488 ) Change subject: SIP re-INVITE: log media connection ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/24488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I2d11be9fe65aa76e044a91f88ba0e9a1d8e756ec Gerrit-Change-Number: 24488 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 09: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 Tue Jun 1 09:11:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 09:11:26 +0000 Subject: Change in osmo-hlr[master]: Add post-upgrade script for automatic db upgrade In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/24493 ) Change subject: Add post-upgrade script for automatic db upgrade ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/24493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I34e943e5020285f63a2162010eb42675af1520bf Gerrit-Change-Number: 24493 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 09: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 Tue Jun 1 10:01:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 10:01:13 +0000 Subject: Change in osmo-ggsn[master]: ggsn: Log tun fd write errors References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24494 ) Change subject: ggsn: Log tun fd write errors ...................................................................... ggsn: Log tun fd write errors Change-Id: I5f681b5edcc4cf525629d2078ae0c0ffd7ebb72d --- M ggsn/ggsn.h M lib/tun.c M lib/tun.h 3 files changed, 11 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/94/24494/1 diff --git a/ggsn/ggsn.h b/ggsn/ggsn.h index 82984a0..132d059 100644 --- a/ggsn/ggsn.h +++ b/ggsn/ggsn.h @@ -167,6 +167,3 @@ LOGP(DGGSN, level, "GGSN(%s): " fmt, (ggsn)->cfg.name, ## args) #define LOGPPDP(level, pdp, fmt, args...) LOGPDPX(DGGSN, level, pdp, fmt, ## args) - -#define LOGTUN(level, tun, fmt, args...) \ - LOGP(DTUN, level, "TUN(%s): " fmt, (tun)->devname, ## args) diff --git a/lib/tun.c b/lib/tun.c index c771b92..cb66fef 100644 --- a/lib/tun.c +++ b/lib/tun.c @@ -318,7 +318,14 @@ int tun_encaps(struct tun_t *tun, void *pack, unsigned len) { - return write(tun->fd, pack, len); + int rc; + rc = write(tun->fd, pack, len); + if (rc < 0) { + SYS_ERR(DTUN, LOGL_ERROR, errno, "TUN(%s): write() failed", tun->devname); + } else if (rc < len) { + LOGTUN(LOGL_ERROR, tun, "short write() %d < %u\n", rc, len); + } + return rc; } int tun_runscript(struct tun_t *tun, char *script) diff --git a/lib/tun.h b/lib/tun.h index 07ca04a..36a4f7e 100644 --- a/lib/tun.h +++ b/lib/tun.h @@ -59,4 +59,7 @@ int tun_ip_local_get(const struct tun_t *tun, struct in46_prefix *prefix_list, size_t prefix_size, int flags); +#define LOGTUN(level, tun, fmt, args...) \ + LOGP(DTUN, level, "TUN(%s): " fmt, (tun)->devname, ## args) + #endif /* !_TUN_H */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I5f681b5edcc4cf525629d2078ae0c0ffd7ebb72d Gerrit-Change-Number: 24494 Gerrit-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 Jun 1 10:13:55 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Tue, 1 Jun 2021 10:13:55 +0000 Subject: Change in osmo-gsm-tester[master]: util: adds the feature to force the rpath when patching files. In-Reply-To: References: Message-ID: alealcon has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 ) Change subject: util: adds the feature to force the rpath when patching files. ...................................................................... Patch Set 1: It is patching the srsenb binary. We have a custom toolchain for the BBU embedded Linux (libs + ld). BBU is a ppc with an old linux kernel (Linux b4860qds 3.12.37) and our toolchain contains up to date versions of the libraries that we need to run the srsenb, so we don't want the systems libraries and our toolchain libraries to mix (we don't add out libraries to the system's enviroment, we keep them isolated to they don't mix). When we build the srsenb binary, we specify the rpath and the dynamic linker, so it points to our toolchain environment instead of the systems defaults. This is what happens when we don't force the rpath and we try to launch the srsenb: root at b4860qds:# patchelf --set-rpath /mnt/nfs/bdlibs ../srslte/bin/srsenb root at b4860qds:# ../srslte/bin/srsenb srsenb.conf ../srslte/bin/srsenb: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory And when we patch it with the --force-path option it works: root at b4860qds:# patchelf --force-rpath --set-rpath /mnt/nfs/bdlibs ../srslte/bin/srsenb root at b4860qds:# ../srslte/bin/srsenb srsenb.conf --- Software Radio Systems LTE eNodeB --- Reading configuration file srsenb.conf... WARNING: Could not verify cpu0 scaling governor WARNING: Could not verify cpu1 scaling governor For an extra information, this is the contents of the folder with the toolchain libraries (what I call the new environment) root at b4860qds:~# ls /mnt/nfs/bdlibs/ ld-2.32.so libc-2.32.so libelf-0.181.so libmbedx509.so libsctp.so.1 ld.so.1 libc.so.6 libelf.so libmbedx509.so.0 libsctp.so.1.0.17 libanl-2.32.so libconfig++.so libelf.so.1 libmbedx509.so.2.16.10 libstdc++.so libanl.so.1 libconfig++.so.11 libgcc_s.so libmem.so libstdc++.so.6 libasan.so libconfig++.so.11.0.2 libgcc_s.so.1 libnss_dns-2.32.so libstdc++.so.6.0.28 libasan.so.6 libconfig.so libinproctrace.so libnss_dns.so.2 libthread_db-1.0.so libasan.so.6.0.0 libconfig.so.11 libipc.so libnss_files-2.32.so libthread_db.so.1 libasm-0.181.so libconfig.so.11.0.2 libm-2.32.so libnss_files.so.2 libutil-2.32.so libasm.so libcrypt-2.32.so libm.so.6 libpthread-2.32.so libutil.so.1 libasm.so.1 libcrypt.so.1 libmbedcrypto.so libpthread.so.0 libz.so libatomic.so libdl-2.32.so libmbedcrypto.so.2.16.10 libresolv-2.32.so libz.so.1 libatomic.so.1 libdl.so.2 libmbedcrypto.so.3 libresolv.so.2 libz.so.1.2.11 libatomic.so.1.2.0 libdw-0.181.so libmbedtls.so librt-2.32.so malloc_interceptor_bt.so libboost_program_options.so libdw.so libmbedtls.so.12 librt.so.1 libboost_program_options.so.1.75.0 libdw.so.1 libmbedtls.so.2.16.10 libsctp.so I added the new function to patch with --force-rpath option to avoid modifying the previous patch function, because the --force-rapth option sets the RPATH variable which is deprecated, while with the normal patch function RUN_PATH variable is set. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2d4a105d4843c0d31d6b5d8f8d4195247b290aec Gerrit-Change-Number: 24272 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 10:13: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 Tue Jun 1 10:16:01 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Tue, 1 Jun 2021 10:16:01 +0000 Subject: Change in osmo-gsm-tester[master]: iperfserver: adds an offset to the default port. In-Reply-To: References: Message-ID: alealcon has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24271 ) Change subject: iperfserver: adds an offset to the default port. ...................................................................... Patch Set 1: > Patch Set 1: Code-Review-1 > > I don't really see the point of adding this parameter, it's not really needed, since you can already set the port directly. If you want to count from the default port, then you can easily do something like this: > srv = IPerf3Server(...) > srv.set_port(srv.DEFAULT_SRV_PORT + offset) Cool I will do as you suggest. I modified the constructor because I'm used to define those values in the constructor instead of a setter function. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I23f0e5ae599825627a23333a0255577bbc013a3c Gerrit-Change-Number: 24271 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 10:16:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 10:51:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 10:51:24 +0000 Subject: Change in osmo-gsm-tester[master]: util: adds the feature to force the rpath when patching files. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 ) Change subject: util: adds the feature to force the rpath when patching files. ...................................................................... Patch Set 1: Ok so the summary IIUC is that you need --force-rpath because the toolchain/loader in the old kernel is not acting properly, as explained in "man patchelf": """ --force-rpath Forces the use of the obsolete DT_RPATH in the file instead of DT_RUNPATH. By default DT_RPATH is converted to DT_RUNPATH """ Now, I'm still asking myself whether it's really needed to do this in OGT itself. As far as I understand, you are building a special "inst" (trial) with binaries for that machine right? That means to me it makes much more sense to put these bits into the jobs building the "inst" archive. I see 2 possiblities: 1- Run the "patchelf --force-rpath --set-rpath /mnt/fns/bdlibs/" when generating the "inst", on each binary, since basically the path of where the libs are for the system your are building for is known at that time. 2- Move all the libs from /mnt/nfs/bdlibs to the "inst/lib" directory instead, so you have all non-system libraries needed there for that trial. Can you give a try to option 1 and/or provide any feedback if you see any issue with the proposal? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2d4a105d4843c0d31d6b5d8f8d4195247b290aec Gerrit-Change-Number: 24272 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 10:51: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 Tue Jun 1 11:12:18 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 1 Jun 2021 11:12:18 +0000 Subject: Change in libosmocore[master]: stat, rate_ctr: Introduce new API to get counter at given index In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24469 ) Change subject: stat,rate_ctr: Introduce new API to get counter at given index ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iebbf401f11e36645f8964d389460918eb9e0910e Gerrit-Change-Number: 24469 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 01 Jun 2021 11:12: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 Jun 1 11:14:01 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 1 Jun 2021 11:14:01 +0000 Subject: Change in osmo-ggsn[master]: ggsn: Log tun fd write errors In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24494 ) Change subject: ggsn: Log tun fd write errors ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I5f681b5edcc4cf525629d2078ae0c0ffd7ebb72d Gerrit-Change-Number: 24494 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 01 Jun 2021 11: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 Tue Jun 1 11:16:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 11:16:26 +0000 Subject: Change in osmo-ggsn[master]: ggsn: Log tun fd write errors In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24494 ) Change subject: ggsn: Log tun fd write errors ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ggsn/+/24494/1/lib/tun.h File lib/tun.h: https://gerrit.osmocom.org/c/osmo-ggsn/+/24494/1/lib/tun.h at 62 PS1, Line 62: #define LOGTUN(level, tun, fmt, args...) \ Why is it necessary to move the macro here? -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I5f681b5edcc4cf525629d2078ae0c0ffd7ebb72d Gerrit-Change-Number: 24494 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 01 Jun 2021 11:16:26 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 11:22:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 11:22:57 +0000 Subject: Change in osmo-ggsn[master]: ggsn: Log tun fd write errors In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24494 ) Change subject: ggsn: Log tun fd write errors ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ggsn/+/24494/1/lib/tun.h File lib/tun.h: https://gerrit.osmocom.org/c/osmo-ggsn/+/24494/1/lib/tun.h at 62 PS1, Line 62: #define LOGTUN(level, tun, fmt, args...) \ > Why is it necessary to move the macro here? because ggsn/ depends on lib/, not the other way. Since we start using the macro in code under lib/, we need it here. Furthermore, it makes more sense to have it here, where all tun stuff is placed. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I5f681b5edcc4cf525629d2078ae0c0ffd7ebb72d Gerrit-Change-Number: 24494 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 01 Jun 2021 11:22:57 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 11:38:53 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 1 Jun 2021 11:38:53 +0000 Subject: Change in osmo-dev[master]: ttcn3: prepare_local_bin: update respawn.sh path References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-dev/+/24495 ) Change subject: ttcn3: prepare_local_bin: update respawn.sh path ...................................................................... ttcn3: prepare_local_bin: update respawn.sh path Make logic to install the file simpler while at it, and allow it to create /usr/local/bin if it doesn't exist (I just had that). Change-Id: I497b9e8909a419f5b5286fcccce9d8a1ba9d515c --- M ttcn3/ttcn3.sh 1 file changed, 2 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/95/24495/1 diff --git a/ttcn3/ttcn3.sh b/ttcn3/ttcn3.sh index d76fb9c..f4888d3 100755 --- a/ttcn3/ttcn3.sh +++ b/ttcn3/ttcn3.sh @@ -144,7 +144,7 @@ # inside the docker container prepare_local_bin() { local scripts=" - ${DIR_OSMODEV}/src/docker-playground/osmo-bts-master/respawn.sh + ${DIR_OSMODEV}/src/docker-playground/common/respawn.sh " for script in $scripts; do @@ -153,10 +153,7 @@ continue fi - set -x - sudo cp "$script" "$script_path_localbin" - sudo chmod +x /usr/local/bin/respawn.sh - set +x + install -v -Dm755 "$script" "$script_path_localbin" done } -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I497b9e8909a419f5b5286fcccce9d8a1ba9d515c Gerrit-Change-Number: 24495 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 Jun 1 11:43:07 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 1 Jun 2021 11:43:07 +0000 Subject: Change in osmo-dev[master]: ttcn3: prepare_local_bin: update respawn.sh path In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/24495 ) Change subject: ttcn3: prepare_local_bin: update respawn.sh path ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I497b9e8909a419f5b5286fcccce9d8a1ba9d515c Gerrit-Change-Number: 24495 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 01 Jun 2021 11:43:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 12:02:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 12:02:46 +0000 Subject: Change in libosmocore[master]: range_enc_determine_range(): Don't dereference array on size=0 References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24496 ) Change subject: range_enc_determine_range(): Don't dereference array on size=0 ...................................................................... range_enc_determine_range(): Don't dereference array on size=0 cherry-picked from osmo-bsc.git d4c391eab03ce768d7eaf483368d9cda4f9668df Change-Id: Iae058c35506bc25c9f4790889b89ac46aea664b6 Fixes: Coverity CID#182710 (osmo-bsc.git) --- M src/gsm/gsm48_arfcn_range_encode.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/96/24496/1 diff --git a/src/gsm/gsm48_arfcn_range_encode.c b/src/gsm/gsm48_arfcn_range_encode.c index 6423a9a..cb06d04 100644 --- a/src/gsm/gsm48_arfcn_range_encode.c +++ b/src/gsm/gsm48_arfcn_range_encode.c @@ -166,6 +166,10 @@ { int max = 0; + /* don't dereference arfcns[] array if size is 0 */ + if (size == 0) + return ARFCN_RANGE_128; + /* * Go for the easiest. And pick arfcns[0] == f0. */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iae058c35506bc25c9f4790889b89ac46aea664b6 Gerrit-Change-Number: 24496 Gerrit-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 Jun 1 12:04:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 12:04:28 +0000 Subject: Change in libosmocore[master]: range_enc_determine_range(): Don't dereference array on size=0 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/+/24496 to look at the new patch set (#2). Change subject: range_enc_determine_range(): Don't dereference array on size=0 ...................................................................... range_enc_determine_range(): Don't dereference array on size=0 cherry-picked from osmo-bsc.git d4c391eab03ce768d7eaf483368d9cda4f9668df Change-Id: Iae058c35506bc25c9f4790889b89ac46aea664b6 Fixes: Coverity CID#182710 (osmo-bsc.git) --- M src/gsm/gsm48_arfcn_range_encode.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/96/24496/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iae058c35506bc25c9f4790889b89ac46aea664b6 Gerrit-Change-Number: 24496 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 Jun 1 12:15:29 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 1 Jun 2021 12:15:29 +0000 Subject: Change in osmo-dev[master]: ttcn3: add missing ttcn3-docker-run.sh References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-dev/+/24497 ) Change subject: ttcn3: add missing ttcn3-docker-run.sh ...................................................................... ttcn3: add missing ttcn3-docker-run.sh After recent refactoring, having this file in /usr/local/bin is required to run the testsuites. Change-Id: I23467136af6deaca69e0b43697a06385cb65444d --- M ttcn3/ttcn3.sh 1 file changed, 9 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/97/24497/1 diff --git a/ttcn3/ttcn3.sh b/ttcn3/ttcn3.sh index f4888d3..5019c41 100755 --- a/ttcn3/ttcn3.sh +++ b/ttcn3/ttcn3.sh @@ -145,10 +145,18 @@ prepare_local_bin() { local scripts=" ${DIR_OSMODEV}/src/docker-playground/common/respawn.sh + ${DIR_OSMODEV}/src/docker-playground/debian-stretch-titan/ttcn3-docker-run.sh " for script in $scripts; do - local script_path_localbin="/usr/local/bin/$(basename "$script")" + local script_lath_localbin + local name_install="$(basename "$script")" + + case "$name_install" in + ttcn3-docker-run.sh) name_install="ttcn3-docker-run" ;; + esac + + script_path_localbin="/usr/local/bin/$name_install" if [ -x "$script_path_localbin" ]; then continue fi -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I23467136af6deaca69e0b43697a06385cb65444d Gerrit-Change-Number: 24497 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 Jun 1 12:15:38 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 1 Jun 2021 12:15:38 +0000 Subject: Change in osmo-dev[master]: ttcn3: prepare_local_bin: update respawn.sh path In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/24495 ) Change subject: ttcn3: prepare_local_bin: update respawn.sh path ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I497b9e8909a419f5b5286fcccce9d8a1ba9d515c Gerrit-Change-Number: 24495 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 01 Jun 2021 12:15:38 +0000 Gerrit-HasComments: 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 Jun 1 12:15:47 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 1 Jun 2021 12:15:47 +0000 Subject: Change in osmo-dev[master]: ttcn3: add missing ttcn3-docker-run.sh In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/24497 ) Change subject: ttcn3: add missing ttcn3-docker-run.sh ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I23467136af6deaca69e0b43697a06385cb65444d Gerrit-Change-Number: 24497 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 01 Jun 2021 12: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 Tue Jun 1 12:16:29 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 1 Jun 2021 12:16:29 +0000 Subject: Change in osmo-dev[master]: ttcn3: add missing ttcn3-docker-run.sh In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-dev/+/24497 ) Change subject: ttcn3: add missing ttcn3-docker-run.sh ...................................................................... ttcn3: add missing ttcn3-docker-run.sh After recent refactoring, having this file in /usr/local/bin is required to run the testsuites. Change-Id: I23467136af6deaca69e0b43697a06385cb65444d --- M ttcn3/ttcn3.sh 1 file changed, 9 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/97/24497/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I23467136af6deaca69e0b43697a06385cb65444d Gerrit-Change-Number: 24497 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 12:17:10 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 1 Jun 2021 12:17:10 +0000 Subject: Change in osmo-dev[master]: ttcn3: add missing ttcn3-docker-run.sh In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/24497 ) Change subject: ttcn3: add missing ttcn3-docker-run.sh ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I23467136af6deaca69e0b43697a06385cb65444d Gerrit-Change-Number: 24497 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 01 Jun 2021 12:17: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 Jun 1 12:19:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 12:19:24 +0000 Subject: Change in osmo-dev[master]: ttcn3: prepare_local_bin: update respawn.sh path In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/24495 ) Change subject: ttcn3: prepare_local_bin: update respawn.sh path ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I497b9e8909a419f5b5286fcccce9d8a1ba9d515c Gerrit-Change-Number: 24495 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 12:19: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 Jun 1 12:44:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 12:44:59 +0000 Subject: Change in osmo-sip-connector[master]: fix use-after-free in SIP re-INVITE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/24474 ) Change subject: fix use-after-free in SIP re-INVITE ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/24474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I4c48832f01e61e98536de8f164ab5a3caa64f34a Gerrit-Change-Number: 24474 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 12: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 Tue Jun 1 12:45:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 12:45:14 +0000 Subject: Change in osmo-sip-connector[master]: SIP re-INVITE: fix media connection change detection In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/24487 ) Change subject: SIP re-INVITE: fix media connection change detection ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/24487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I701150f22f0eb49fae821996358568d60a385035 Gerrit-Change-Number: 24487 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 12:45: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 Jun 1 12:45:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 12:45:25 +0000 Subject: Change in osmo-sip-connector[master]: SIP re-INVITE: log media connection In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/24488 ) Change subject: SIP re-INVITE: log media connection ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/24488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I2d11be9fe65aa76e044a91f88ba0e9a1d8e756ec Gerrit-Change-Number: 24488 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 12:45:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 12:45:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 12:45:27 +0000 Subject: Change in osmo-sip-connector[master]: fix use-after-free in SIP re-INVITE In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/24474 ) Change subject: fix use-after-free in SIP re-INVITE ...................................................................... fix use-after-free in SIP re-INVITE Copy the m_mode before freeing the parser. Address sanitizer aborted with: 20210601033017695 DSIP INFO re-INVITE for call 854A5CDA8037073 (sip.c:192) ================================================================= ==8583==ERROR: AddressSanitizer: heap-use-after-free on address 0x612000003250 at pc 0x55c3b4624dc5 bp 0x7ffe8a4464d0 sp 0x7ffe8a4464c8 READ of size 8 at 0x612000003250 thread T0 #0 0x55c3b4624dc4 in sdp_get_sdp_mode ../../../src/osmo-sip-connector/src/sdp.c:72 #1 0x55c3b462be9e in sip_handle_reinvite ../../../src/osmo-sip-connector/src/sip.c:202 #2 0x55c3b462d676 in nua_callback ../../../src/osmo-sip-connector/src/sip.c:397 [...] Change-Id: I4c48832f01e61e98536de8f164ab5a3caa64f34a --- M src/sdp.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/sdp.c b/src/sdp.c index f1909d4..7bfcff5 100644 --- a/src/sdp.c +++ b/src/sdp.c @@ -68,8 +68,8 @@ return sdp_sendrecv; } - sdp_parser_free(parser); *mode = sdp->sdp_media->m_mode; + sdp_parser_free(parser); return true; } -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/24474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I4c48832f01e61e98536de8f164ab5a3caa64f34a Gerrit-Change-Number: 24474 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 12:45:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 12:45:28 +0000 Subject: Change in osmo-sip-connector[master]: SIP re-INVITE: fix media connection change detection In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/24487 ) Change subject: SIP re-INVITE: fix media connection change detection ...................................................................... SIP re-INVITE: fix media connection change detection Use the correct variable in address comparison. The type cast hid the incompatible type from the compiler. Change-Id: I701150f22f0eb49fae821996358568d60a385035 --- M src/sip.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved laforge: Looks good to me, approved diff --git a/src/sip.c b/src/sip.c index ba9730a..93ae69c 100644 --- a/src/sip.c +++ b/src/sip.c @@ -234,7 +234,7 @@ osmo_sockaddr_ntop((struct sockaddr*)&leg->base.addr, ip_addr), osmo_sockaddr_port((struct sockaddr*)&leg->base.addr)); if (osmo_sockaddr_cmp((struct osmo_sockaddr *)&prev_addr, - (struct osmo_sockaddr *)&leg->base)) { + (struct osmo_sockaddr *)&leg->base.addr)) { LOGP(DSIP, LOGL_INFO, "re-INVITE changes media connection.\n"); if (other->update_rtp) other->update_rtp(leg->base.call->remote); -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/24487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I701150f22f0eb49fae821996358568d60a385035 Gerrit-Change-Number: 24487 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 12:45:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 12:45:28 +0000 Subject: Change in osmo-sip-connector[master]: SIP re-INVITE: log media connection In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/24488 ) Change subject: SIP re-INVITE: log media connection ...................................................................... SIP re-INVITE: log media connection Change-Id: I2d11be9fe65aa76e044a91f88ba0e9a1d8e756ec --- M src/sip.c 1 file changed, 9 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved laforge: Looks good to me, approved diff --git a/src/sip.c b/src/sip.c index 93ae69c..f0bc4c3 100644 --- a/src/sip.c +++ b/src/sip.c @@ -214,8 +214,8 @@ } LOGP(DSIP, LOGL_DEBUG, "pre re-INVITE have IP:port (%s:%u)\n", - osmo_sockaddr_ntop((struct sockaddr*)&leg->base.addr, ip_addr), - osmo_sockaddr_port((struct sockaddr*)&leg->base.addr)); + osmo_sockaddr_ntop((struct sockaddr*)&prev_addr, ip_addr), + osmo_sockaddr_port((struct sockaddr*)&prev_addr)); if (mode == sdp_sendonly) { /* SIP side places call on HOLD */ @@ -235,9 +235,15 @@ osmo_sockaddr_port((struct sockaddr*)&leg->base.addr)); if (osmo_sockaddr_cmp((struct osmo_sockaddr *)&prev_addr, (struct osmo_sockaddr *)&leg->base.addr)) { - LOGP(DSIP, LOGL_INFO, "re-INVITE changes media connection.\n"); + LOGP(DSIP, LOGL_INFO, "re-INVITE changes media connection to %s:%u\n", + osmo_sockaddr_ntop((struct sockaddr*)&leg->base.addr, ip_addr), + osmo_sockaddr_port((struct sockaddr*)&leg->base.addr)); if (other->update_rtp) other->update_rtp(leg->base.call->remote); + } else { + LOGP(DSIP, LOGL_INFO, "re-INVITE does not change media connection (%s:%u)\n", + osmo_sockaddr_ntop((struct sockaddr*)&prev_addr, ip_addr), + osmo_sockaddr_port((struct sockaddr*)&prev_addr)); } sdp = sdp_create_file(leg, other, sdp_sendrecv); } -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/24488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I2d11be9fe65aa76e044a91f88ba0e9a1d8e756ec Gerrit-Change-Number: 24488 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 12:45:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 12:45:53 +0000 Subject: Change in osmo-hlr[master]: Add post-upgrade script for automatic db upgrade In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/24493 ) Change subject: Add post-upgrade script for automatic db upgrade ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/24493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I34e943e5020285f63a2162010eb42675af1520bf Gerrit-Change-Number: 24493 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 12:45:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 12:45:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 12:45:56 +0000 Subject: Change in osmo-hlr[master]: Add post-upgrade script for automatic db upgrade In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/24493 ) Change subject: Add post-upgrade script for automatic db upgrade ...................................................................... Add post-upgrade script for automatic db upgrade Closes: OS#5138 Change-Id: I34e943e5020285f63a2162010eb42675af1520bf --- M contrib/Makefile.am A contrib/osmo-hlr-post-upgrade.sh M contrib/osmo-hlr.spec.in M debian/osmo-hlr.install A debian/postinst 5 files changed, 116 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/contrib/Makefile.am b/contrib/Makefile.am index cfd0b15..37c4aa4 100644 --- a/contrib/Makefile.am +++ b/contrib/Makefile.am @@ -2,3 +2,13 @@ systemd \ dgsm \ $(NULL) + +EXTRA_DIST = osmo-hlr-post-upgrade.sh + +install-data-hook: + install -Dm755 $(srcdir)/osmo-hlr-post-upgrade.sh \ + -t $(DESTDIR)$(datadir)/osmocom/ + +uninstall-hook: + @$(PRE_UNINSTALL) + $(RM) $(DESTDIR)$(datadir)/osmocom/osmo-hlr-post-upgrade.sh diff --git a/contrib/osmo-hlr-post-upgrade.sh b/contrib/osmo-hlr-post-upgrade.sh new file mode 100644 index 0000000..eaef417 --- /dev/null +++ b/contrib/osmo-hlr-post-upgrade.sh @@ -0,0 +1,95 @@ +#!/bin/sh -e +# SPDX-License-Identifier: AGPL-3.0-or-later +# Copyright 2021 sysmocom s.f.m.c GmbH +# +# Packagers are supposed to call this script in post-upgrade, so it can safely +# upgrade the database scheme if required. + +DB="/var/lib/osmocom/hlr.db" +IS_ACTIVE=0 + +msg() { + echo "osmo-hlr-post-upgrade: $@" +} + +err() { + msg "ERROR: $@" +} + +open_db() { + # Attempt to open the database with osmo-hlr-db-tool, it will fail if + # upgrading the schema is required + osmo-hlr-db-tool -s -l "$DB" create +} + +check_upgrade_required() { + if ! [ -e "$DB" ]; then + msg "nothing to do (no existing database)" + exit 0 + fi + + if open_db 2>/dev/null; then + msg "nothing to do (database version is up to date)" + exit 0 + fi + + msg "database upgrade is required" +} + +stop_service() { + if systemctl is-active -q osmo-hlr; then + IS_ACTIVE=1 + msg "stopping osmo-hlr service" + systemctl stop osmo-hlr + + # Verify that it stopped + for i in $(seq 1 100); do + if ! systemctl is-active -q osmo-hlr; then + return + fi + sleep 0.1 + done + + err "failed to stop osmo-hlr service" + exit 1 + else + msg "osmo-hlr service is not running" + fi +} + +create_backup() { + backup="$DB.$(date +%Y%m%d%H%M%S).bak" + msg "creating backup: $backup" + if [ -e "$backup" ]; then + err "backup already exists: $backup" + exit 1 + fi + cp "$DB" "$backup" +} + +upgrade() { + msg "performing database upgrade" + osmo-hlr-db-tool -s -U -l "$DB" create + + if ! open_db 2>/dev/null; then + err "failed to open the database after upgrade" + err "osmo-hlr-db-tool output:" + open_db + # exit because of "set -e" + fi + + msg "database upgrade successful" +} + +start_service() { + if [ "$IS_ACTIVE" = "1" ]; then + msg "starting osmo-hlr service" + systemctl start osmo-hlr + fi +} + +check_upgrade_required +stop_service +create_backup +upgrade +start_service diff --git a/contrib/osmo-hlr.spec.in b/contrib/osmo-hlr.spec.in index c4029be..d0a1b57 100644 --- a/contrib/osmo-hlr.spec.in +++ b/contrib/osmo-hlr.spec.in @@ -136,10 +136,13 @@ %pre %service_add_pre %{name}.service +%endif %post +%if 0%{?suse_version} %service_add_post %{name}.service %endif +/usr/share/osmocom/osmo-hlr-post-upgrade.sh %post -n libosmo-gsup-client0 -p /sbin/ldconfig %postun -n libosmo-gsup-client0 -p /sbin/ldconfig @@ -162,6 +165,8 @@ %dir %{_sysconfdir}/osmocom %config %{_sysconfdir}/osmocom/osmo-hlr.cfg %{_unitdir}/osmo-hlr.service +%dir %{_datadir}/osmocom +%{_datadir}/osmocom/osmo-hlr-post-upgrade.sh %files -n libosmo-gsup-client0 %{_libdir}/libosmo-gsup-client.so.0* diff --git a/debian/osmo-hlr.install b/debian/osmo-hlr.install index 1b2cb56..421d5f4 100644 --- a/debian/osmo-hlr.install +++ b/debian/osmo-hlr.install @@ -5,4 +5,5 @@ /usr/share/doc/osmo-hlr/sql/hlr.sql /usr/share/doc/osmo-hlr/sql/hlr_data.sql /usr/share/doc/osmo-hlr/examples/osmo-hlr.cfg +/usr/share/osmocom/osmo-hlr-post-upgrade.sh /var/lib/osmocom diff --git a/debian/postinst b/debian/postinst new file mode 100755 index 0000000..390d304 --- /dev/null +++ b/debian/postinst @@ -0,0 +1,5 @@ +#!/bin/sh -e +# Debian's postinst script is called on both installation and upgrade. Call the +# post-upgrade script in both cases, it won't do anything if there is nothing +# to do. +/usr/share/osmocom/osmo-hlr-post-upgrade.sh -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/24493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I34e943e5020285f63a2162010eb42675af1520bf Gerrit-Change-Number: 24493 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 Jun 1 12:47:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 12:47:29 +0000 Subject: Change in libosmocore[master]: stat, rate_ctr: Allow setting group name and use it at report time In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24467 ) Change subject: stat,rate_ctr: Allow setting group name and use it at report time ...................................................................... Patch Set 1: Code-Review+1 looks good to me, but IMHO thhs should definitely go past daniel, who just went on holiday yesterday... for years nobody touches that code until our resident stats/counter expert is on holidays :/ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0dc510783dd9ae8436dae8005a7b3330e80d36f3 Gerrit-Change-Number: 24467 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 01 Jun 2021 12:47:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 12:48:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 12:48:58 +0000 Subject: Change in libosmocore[master]: ns2: Use NSVC bufid in stats report In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24468 ) Change subject: ns2: Use NSVC bufid in stats report ...................................................................... Patch Set 1: The "problem" with this approach is that it may look nice for IPA style NS-VC, but it will definitely look quite convoluted (and maybe even contain non-ctrl-capable characters?) for true 3GPP GbIP (e.g. IP-SNS) NSVC. Those don't have an NSVCI so the only real identifier is the full tuple fo source/destination ip/port :( -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4c696c615ba3416f8524d0797ce06c0ecd3a18f2 Gerrit-Change-Number: 24468 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 01 Jun 2021 12:48: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 Jun 1 12:49:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 12:49:24 +0000 Subject: Change in libosmocore[master]: ns2: Use NSVC bufid in stats report In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24468 ) Change subject: ns2: Use NSVC bufid in stats report ...................................................................... Patch Set 1: ading lynxis for the IP-SNS implications -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4c696c615ba3416f8524d0797ce06c0ecd3a18f2 Gerrit-Change-Number: 24468 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 01 Jun 2021 12:49: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 Tue Jun 1 12:50:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 12:50:46 +0000 Subject: Change in libosmocore[master]: stat, rate_ctr: Introduce new API to get counter at given index In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24469 ) Change subject: stat,rate_ctr: Introduce new API to get counter at given index ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iebbf401f11e36645f8964d389460918eb9e0910e Gerrit-Change-Number: 24469 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 01 Jun 2021 12:50: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 Jun 1 13:18:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 13:18:47 +0000 Subject: Change in osmo-ggsn[master]: ggsn: Log tun fd write errors In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24494 ) Change subject: ggsn: Log tun fd write errors ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I5f681b5edcc4cf525629d2078ae0c0ffd7ebb72d Gerrit-Change-Number: 24494 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 01 Jun 2021 13:18:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 13:19:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 13:19:16 +0000 Subject: Change in libosmocore[master]: range_enc_determine_range(): Don't dereference array on size=0 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24496 ) Change subject: range_enc_determine_range(): Don't dereference array on size=0 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iae058c35506bc25c9f4790889b89ac46aea664b6 Gerrit-Change-Number: 24496 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 01 Jun 2021 13:19:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 13:32:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 13:32:17 +0000 Subject: Change in libosmocore[master]: ns2: Use NSVC bufid in stats report In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24468 ) Change subject: ns2: Use NSVC bufid in stats report ...................................................................... Patch Set 1: > Patch Set 1: > > The "problem" with this approach is that it may look nice for IPA style NS-VC, but it will definitely look quite convoluted (and maybe even contain non-ctrl-capable characters?) for true 3GPP GbIP (e.g. IP-SNS) NSVC. Those don't have an NSVCI so the only real identifier is the full tuple fo source/destination ip/port :( If we find out we end up with some uncompatible character in there, it's as easy as adding a sanitize function, same we do with FSM names. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4c696c615ba3416f8524d0797ce06c0ecd3a18f2 Gerrit-Change-Number: 24468 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 01 Jun 2021 13:32: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 Jun 1 13:39:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 13:39:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: accept optional TestSpecUnion in t_Pars In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24475 ) Change subject: BTS_Tests: accept optional TestSpecUnion in t_Pars ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I75462c3d30544bb87b578f2627b304cce57393e5 Gerrit-Change-Number: 24475 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 13:39:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 13:40:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 13:40:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: use as_l1_exp_lapdm() in f_TC_rll_est_req() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24476 ) Change subject: BTS_Tests: use as_l1_exp_lapdm() in f_TC_rll_est_req() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24476 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic0ecef07385621e0f0fbdae67daad95ef628cdd5 Gerrit-Change-Number: 24476 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 13:40:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 13:40:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 13:40:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: make it less private and more friendly In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24477 ) Change subject: BTS_Tests: make it less private and more friendly ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24477 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia4eae7f14228e72cd63bd8f84e27606ac972006c Gerrit-Change-Number: 24477 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 13: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 Tue Jun 1 13:40:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 13:40:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: accept templates as parameters in t_EITC() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24478 ) Change subject: BTS_Tests: accept templates as parameters in t_EITC() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24478 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I56cd32a6ba91c078608d64c95538b9a43e2fada9 Gerrit-Change-Number: 24478 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 13:40:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 13:41:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 13:41:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: HACK: allow running parallel BTS_Tests.ConnHdlr components In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24479 ) Change subject: HACK: allow running parallel BTS_Tests.ConnHdlr components ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24479 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I72bcaed6c3803a0e18c9b787036a441e30c220cc Gerrit-Change-Number: 24479 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 13:41:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 13:41:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 13:41:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: [VAMOS] BTS: add CHANnel ACTIVation test cases In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24480 ) Change subject: [VAMOS] BTS: add CHANnel ACTIVation test cases ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I79817b3504b0d956e9fa52b8640d3a4d0fd2c4ba Gerrit-Change-Number: 24480 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 13:41: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 Jun 1 13:41:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 13:41:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: [VAMOS] BTS: add MODE MODIFY test cases In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24481 ) Change subject: [VAMOS] BTS: add MODE MODIFY test cases ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If4202287902442629bab716e41d3e6b2d05d09fb Gerrit-Change-Number: 24481 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 13:41:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 13:42:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 13:42:21 +0000 Subject: Change in osmo-bsc[master]: make sure channel mode and s15_s0 are updated only after an ACK In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24352 ) Change subject: make sure channel mode and s15_s0 are updated only after an ACK ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie0da36124d73efc28a8809b63d7c96e2167fc412 Gerrit-Change-Number: 24352 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 01 Jun 2021 13:42: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 Jun 1 13:43:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 13:43:33 +0000 Subject: Change in osmo-bsc[master]: allow explixit TSC Set and TSC on chan activ / modif / assignment In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24369 ) Change subject: allow explixit TSC Set and TSC on chan activ / modif / assignment ...................................................................... Patch Set 11: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic665125255d7354f5499d10dda1dd866ab243d24 Gerrit-Change-Number: 24369 Gerrit-PatchSet: 11 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 13:43: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 Jun 1 13:53:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 13:53:44 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24374 ) Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... Patch Set 12: Code-Review-1 (1 comment) I really do think cosnistency in the VTY is important and I often blame myself for not having caught something at code review which is now quite inconsistenc in the VTY. Let's make sure we get this right before submission. https://gerrit.osmocom.org/c/osmo-bsc/+/24374/10/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24374/10/src/osmo-bsc/bsc_vty.c at 2174 PS10, Line 2174: modify lchan > multiple words: then what about "handover1 power budget interval <1-99>"? ;) [?] The "handover1 power budget interval <1-99>" and the like are annoying early mistakes from a long time ago when at least I did not yet understand fully the nature of VTY (or its father-in-kind of Cisco command line interfaces). These days, whenever I see something like that, I find it almost embarrassing that we let this past code review in the first place. I also find the ovrall lack of consistency a serious problem. It's not about everyone putting their own style in somewhere. The user expects consistency. The more I thik about this, the more it should be "bts <0-255> trx <0-255> timeslot <0-7> sub-slot <0-7> vamos modify-lchan" or the like. The object is specified first and then the action. This way you first specify the TRX/TS/sub-slot/... in a unique way (you iterate the tree of the data structure) and then you get a choice of actions you can do with that specific object. I don't really care whether the trx / timeslot verbs are explicitly spelled or not. However, as that is what we have in place for now, new commands should follow it. And in the worst case we could always add a second "lchan <0-255> <0-255> <0-7> <0-1>" entry path which then accepts the same action commands below it. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 12 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 13:53:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: neels Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 14:20:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 14:20:36 +0000 Subject: Change in osmo-msc[master]: Autofill LCLS parameters for A-interface transactions In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/13422 ) Change subject: Autofill LCLS parameters for A-interface transactions ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/13422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I35ae6b6ca04925c8d300bc1a0269af00eac727f3 Gerrit-Change-Number: 13422 Gerrit-PatchSet: 18 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 14:34:37 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 14:34:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: accept optional TestSpecUnion in t_Pars In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24475 ) Change subject: BTS_Tests: accept optional TestSpecUnion in t_Pars ...................................................................... BTS_Tests: accept optional TestSpecUnion in t_Pars Change-Id: I75462c3d30544bb87b578f2627b304cce57393e5 Related: SYS#4895, OS#4941 --- M bts/BTS_Tests.ttcn 1 file changed, 4 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index eff1277..8874d85 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -769,8 +769,9 @@ } friend template ConnHdlrPars t_Pars(template RslChannelNr chan_nr, - template RSL_IE_ChannelMode chan_mode, - float t_guard := 20.0) := { + template RSL_IE_ChannelMode chan_mode, + template (omit) TestSpecUnion spec := omit, + float t_guard := 20.0) := { chan_nr := valueof(chan_nr), chan_mode := valueof(chan_mode), t_guard := t_guard, @@ -794,7 +795,7 @@ ms_actual_ta := mp_ms_actual_ta_exp, facch_enabled := false }, - spec := omit, + spec := spec, encr := omit, bts0_band := omit, tsc := mp_tsc_def, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I75462c3d30544bb87b578f2627b304cce57393e5 Gerrit-Change-Number: 24475 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 14:34:37 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 14:34:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: use as_l1_exp_lapdm() in f_TC_rll_est_req() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24476 ) Change subject: BTS_Tests: use as_l1_exp_lapdm() in f_TC_rll_est_req() ...................................................................... BTS_Tests: use as_l1_exp_lapdm() in f_TC_rll_est_req() Change-Id: Ic0ecef07385621e0f0fbdae67daad95ef628cdd5 Related: SYS#4895, OS#4941 --- M bts/BTS_Tests.ttcn 1 file changed, 1 insertion(+), 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/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 8874d85..9289673 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -6324,21 +6324,7 @@ RSL.send(ts_RSL_EST_REQ(g_chan_nr, tc.link_id)); T.start; alt { - [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, ?)) -> value dl { - var LapdmFrame lapdm; - var octetstring l2 := dl.payload.data_ind.payload; - if (dl.dl_info.link_id.c == SACCH) { - /* remove L1 header */ - l2 := substr(l2, 2, lengthof(l2)-2); - } - lapdm.ab := dec_LapdmFrameAB(l2); - if (match(lapdm, tr_LAPDm_SABM(tc.sapi, cr_MT_CMD, true, ''O))) { - setverdict(pass); - } else { - repeat; - } - } - [] L1CTL.receive { repeat; } + [] as_l1_exp_lapdm(tr_LAPDm_SABM(tc.sapi, cr_MT_CMD, true, ''O)); [] T.timeout { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for SABM"); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24476 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic0ecef07385621e0f0fbdae67daad95ef628cdd5 Gerrit-Change-Number: 24476 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 14:34:38 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 14:34:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: make it less private and more friendly In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24477 ) Change subject: BTS_Tests: make it less private and more friendly ...................................................................... BTS_Tests: make it less private and more friendly These definitions will be also used in 'BTS_Tests_VAMOS' module. Change-Id: Ia4eae7f14228e72cd63bd8f84e27606ac972006c Related: SYS#4895, OS#4941 --- M bts/BTS_Tests.ttcn 1 file changed, 6 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 9289673..6c5663a 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -294,7 +294,7 @@ }; /* Test-specific parameters */ -private type union TestSpecUnion { +friend type union TestSpecUnion { RllTestCase rll } @@ -6209,15 +6209,15 @@ } } -private type record RllTestCase { +friend type record RllTestCase { uint3_t sapi, RslLinkId link_id, octetstring l3, boolean exp } -private type record of RllTestCase RllTestCases; -private template RllTestCase t_EITC(uint3_t sapi, RslLinkId id, - octetstring l3, boolean exp) := { +friend type record of RllTestCase RllTestCases; +friend template RllTestCase t_EITC(uint3_t sapi, RslLinkId id, + octetstring l3, boolean exp) := { sapi := sapi, link_id := id, l3 := l3, @@ -6350,7 +6350,7 @@ } /* altstep to receive a LAPDm frame matching the given template */ -private altstep as_l1_exp_lapdm(template LapdmFrame exp) runs on ConnHdlr { +friend altstep as_l1_exp_lapdm(template LapdmFrame exp) runs on ConnHdlr { var L1ctlDlMessage dl; [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, ?)) -> value dl { var LapdmFrame lapdm; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24477 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia4eae7f14228e72cd63bd8f84e27606ac972006c Gerrit-Change-Number: 24477 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 14:34:38 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 14:34:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: accept templates as parameters in t_EITC() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24478 ) Change subject: BTS_Tests: accept templates as parameters in t_EITC() ...................................................................... BTS_Tests: accept templates as parameters in t_EITC() Change-Id: I56cd32a6ba91c078608d64c95538b9a43e2fada9 Related: SYS#4895, OS#4941 --- M bts/BTS_Tests.ttcn 1 file changed, 26 insertions(+), 25 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 6c5663a..d00c40e 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -6216,7 +6216,8 @@ boolean exp } friend type record of RllTestCase RllTestCases; -friend template RllTestCase t_EITC(uint3_t sapi, RslLinkId id, +friend template RllTestCase t_EITC(template (present) uint3_t sapi, + template (present) RslLinkId id, octetstring l3, boolean exp) := { sapi := sapi, link_id := id, @@ -6293,16 +6294,16 @@ testcase TC_rll_est_ind() runs on test_CT { var RllTestCases tcs := { /* SAPI0 establishment (contention resolution) */ - valueof(t_EITC(0, valueof(ts_RslLinkID_DCCH(0)), '01020304'O, true)), + valueof(t_EITC(0, ts_RslLinkID_DCCH(0), '01020304'O, true)), /* normal SAPI0 establishment */ - valueof(t_EITC(0, valueof(ts_RslLinkID_DCCH(0)), ''O, true)), + valueof(t_EITC(0, ts_RslLinkID_DCCH(0), ''O, true)), /* SAPI 3 doesn't support contention resolution */ - valueof(t_EITC(3, valueof(ts_RslLinkID_DCCH(3)), '01020304'O, false)), - valueof(t_EITC(3, valueof(ts_RslLinkID_SACCH(3)), '01020304'O, false)), + valueof(t_EITC(3, ts_RslLinkID_DCCH(3), '01020304'O, false)), + valueof(t_EITC(3, ts_RslLinkID_SACCH(3), '01020304'O, false)), /* normal SAPI3 establishment on main DCCH */ - valueof(t_EITC(3, valueof(ts_RslLinkID_DCCH(3)), ''O, true)), + valueof(t_EITC(3, ts_RslLinkID_DCCH(3), ''O, true)), /* normal SAPI3 establishment on SACCH */ - valueof(t_EITC(3, valueof(ts_RslLinkID_SACCH(3)), ''O, true)) + valueof(t_EITC(3, ts_RslLinkID_SACCH(3), ''O, true)) }; f_rll_testmatrix(tcs, refers(f_TC_rll_est_ind)); } @@ -6337,14 +6338,14 @@ testcase TC_rll_est_req_DCCH_3() runs on test_CT { var RllTestCases tcs := { /* normal SAPI3 establishment on main DCCH */ - valueof(t_EITC(3, valueof(ts_RslLinkID_DCCH(3)), ''O, true))//, + valueof(t_EITC(3, ts_RslLinkID_DCCH(3), ''O, true))//, }; f_rll_testmatrix(tcs, refers(f_TC_rll_est_req)); } testcase TC_rll_est_req_ACCH_3() runs on test_CT { var RllTestCases tcs := { /* normal SAPI3 establishment on SACCH */ - valueof(t_EITC(3, valueof(ts_RslLinkID_SACCH(3)), ''O, true)) + valueof(t_EITC(3, ts_RslLinkID_SACCH(3), ''O, true)) } f_rll_testmatrix(tcs, refers(f_TC_rll_est_req)); } @@ -6435,26 +6436,26 @@ } testcase TC_rll_rel_ind_DCCH_0() runs on test_CT { var RllTestCases tcs := { - valueof(t_EITC(0, valueof(ts_RslLinkID_DCCH(0)), '01020304'O, true)) + valueof(t_EITC(0, ts_RslLinkID_DCCH(0), '01020304'O, true)) }; f_rll_testmatrix(tcs, refers(f_TC_rll_rel_ind)); } testcase TC_rll_rel_ind_ACCH_0() runs on test_CT { var RllTestCases tcs := { - valueof(t_EITC(0, valueof(ts_RslLinkID_SACCH(0)), ''O, true)) + valueof(t_EITC(0, ts_RslLinkID_SACCH(0), ''O, true)) }; f_rll_testmatrix(tcs, refers(f_TC_rll_rel_ind)); } testcase TC_rll_rel_ind_DCCH_3() runs on test_CT { var RllTestCases tcs := { - valueof(t_EITC(3, valueof(ts_RslLinkID_DCCH(3)), ''O, true)) + valueof(t_EITC(3, ts_RslLinkID_DCCH(3), ''O, true)) }; f_rll_testmatrix(tcs, refers(f_TC_rll_rel_ind)); } testcase TC_rll_rel_ind_ACCH_3() runs on test_CT { var RllTestCases tcs := { - valueof(t_EITC(3, valueof(ts_RslLinkID_SACCH(3)), ''O, true)) + valueof(t_EITC(3, ts_RslLinkID_SACCH(3), ''O, true)) }; f_rll_testmatrix(tcs, refers(f_TC_rll_rel_ind)); } @@ -6488,10 +6489,10 @@ } testcase TC_rll_rel_req() runs on test_CT { var RllTestCases tcs := { - valueof(t_EITC(0, valueof(ts_RslLinkID_DCCH(0)), '01020304'O, true)), - valueof(t_EITC(0, valueof(ts_RslLinkID_SACCH(0)), ''O, true)), - valueof(t_EITC(3, valueof(ts_RslLinkID_DCCH(3)), ''O, true)), - valueof(t_EITC(3, valueof(ts_RslLinkID_SACCH(3)), ''O, true)) + valueof(t_EITC(0, ts_RslLinkID_DCCH(0), '01020304'O, true)), + valueof(t_EITC(0, ts_RslLinkID_SACCH(0), ''O, true)), + valueof(t_EITC(3, ts_RslLinkID_DCCH(3), ''O, true)), + valueof(t_EITC(3, ts_RslLinkID_SACCH(3), ''O, true)) }; f_rll_testmatrix(tcs, refers(f_TC_rll_rel_req)); } @@ -6531,16 +6532,16 @@ testcase TC_rll_unit_data_req_DCCH() runs on test_CT { var octetstring l3 := f_rnd_octstring(15); var RllTestCases tcs := { - valueof(t_EITC(0, valueof(ts_RslLinkID_DCCH(0)), l3, true)), - valueof(t_EITC(3, valueof(ts_RslLinkID_DCCH(3)), l3, true)) + valueof(t_EITC(0, ts_RslLinkID_DCCH(0), l3, true)), + valueof(t_EITC(3, ts_RslLinkID_DCCH(3), l3, true)) }; f_rll_testmatrix(tcs, refers(f_TC_rll_ud_req)); } testcase TC_rll_unit_data_req_ACCH() runs on test_CT { var octetstring l3 := f_rnd_octstring(19); var RllTestCases tcs := { - valueof(t_EITC(0, valueof(ts_RslLinkID_SACCH(0)), l3, true)), - valueof(t_EITC(3, valueof(ts_RslLinkID_SACCH(3)), l3, true)) + valueof(t_EITC(0, ts_RslLinkID_SACCH(0), l3, true)), + valueof(t_EITC(3, ts_RslLinkID_SACCH(3), l3, true)) }; f_rll_testmatrix(tcs, refers(f_TC_rll_ud_req)); } @@ -6573,16 +6574,16 @@ testcase TC_rll_unit_data_ind_DCCH() runs on test_CT { var octetstring l3 := f_rnd_octstring(20); var RllTestCases tcs := { - valueof(t_EITC(0, valueof(ts_RslLinkID_DCCH(0)), l3, true)), - valueof(t_EITC(3, valueof(ts_RslLinkID_DCCH(3)), l3, true)) + valueof(t_EITC(0, ts_RslLinkID_DCCH(0), l3, true)), + valueof(t_EITC(3, ts_RslLinkID_DCCH(3), l3, true)) }; f_rll_testmatrix(tcs, refers(f_TC_rll_ud_ind)); } testcase TC_rll_unit_data_ind_ACCH() runs on test_CT { var octetstring l3 := f_rnd_octstring(18); var RllTestCases tcs := { - valueof(t_EITC(0, valueof(ts_RslLinkID_SACCH(0)), l3, true)), - valueof(t_EITC(3, valueof(ts_RslLinkID_SACCH(3)), l3, true)) + valueof(t_EITC(0, ts_RslLinkID_SACCH(0), l3, true)), + valueof(t_EITC(3, ts_RslLinkID_SACCH(3), l3, true)) }; f_rll_testmatrix(tcs, refers(f_TC_rll_ud_ind)); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24478 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I56cd32a6ba91c078608d64c95538b9a43e2fada9 Gerrit-Change-Number: 24478 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 14:34:39 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 14:34:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: HACK: allow running parallel BTS_Tests.ConnHdlr components In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24479 ) Change subject: HACK: allow running parallel BTS_Tests.ConnHdlr components ...................................................................... HACK: allow running parallel BTS_Tests.ConnHdlr components Unfortunately, trxcon does not support handling more than one connection in parallel. If there is already one connection established, it would reject all other connection attempts. This causes an error in f_handler_init(). As a quick hack, let's allow running BTS_Tests.ConnHdlr components without establishing L1CTL connections at all. Change-Id: I72bcaed6c3803a0e18c9b787036a441e30c220cc Related: SYS#4895, OS#4941 --- M bts/BTS_Tests.ttcn 1 file changed, 8 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index d00c40e..8b10d0e 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -639,7 +639,8 @@ /* create a new test component */ friend function f_start_handler(void_fn fn, ConnHdlrPars pars, boolean pcu_comp := false, - boolean trxc_comp := false) + boolean trxc_comp := false, + boolean l1ctl := true) runs on test_CT return ConnHdlr { var charstring id := testcasename(); var ConnHdlr vc_conn; @@ -660,6 +661,9 @@ unmap(self:BTS_TRXC, system:BTS_TRXC); map(vc_conn:BTS_TRXC, system:BTS_TRXC); } + if (l1ctl) { + map(vc_conn:L1CTL, system:L1CTL); + } /* Obtain frequency hopping parameters for a given timeslot */ if (mp_freq_hop_enabled and mp_transceiver_num > 1) { @@ -697,8 +701,9 @@ g_pars := pars; g_chan_nr := pars.chan_nr; - map(self:L1CTL, system:L1CTL); - f_connect_reset(L1CTL); + if (L1CTL.checkstate("Mapped")) { + f_connect_reset(L1CTL); + } if (mp_bts_trxc_port != -1 and BTS_TRXC.checkstate("Mapped")) { f_init_trxc(BTS_TRXC, id, g_bts_trxc_conn_id); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24479 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I72bcaed6c3803a0e18c9b787036a441e30c220cc Gerrit-Change-Number: 24479 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 14:34:39 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 14:34:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: [VAMOS] BTS: add CHANnel ACTIVation test cases In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24480 ) Change subject: [VAMOS] BTS: add CHANnel ACTIVation test cases ...................................................................... [VAMOS] BTS: add CHANnel ACTIVation test cases Change-Id: I79817b3504b0d956e9fa52b8640d3a4d0fd2c4ba Related: SYS#4895, OS#4941 --- M bts/BTS_Tests.cfg M bts/BTS_Tests.ttcn A bts/BTS_Tests_VAMOS.ttcn 3 files changed, 250 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/bts/BTS_Tests.cfg b/bts/BTS_Tests.cfg index 4673359..4b6e6ca 100644 --- a/bts/BTS_Tests.cfg +++ b/bts/BTS_Tests.cfg @@ -37,3 +37,4 @@ [EXECUTE] BTS_Tests.control BTS_Tests_SMSCB.control +BTS_Tests_VAMOS.control diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 8b10d0e..ee5258c 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -66,6 +66,7 @@ import from BTS_Tests_LAPDm all; friend module BTS_Tests_SMSCB; +friend module BTS_Tests_VAMOS; friend module BTS_Tests_virtphy; friend module BTS_Tests_LAPDm; friend module BTS_Tests_perf; @@ -580,7 +581,7 @@ f_connect_reset(L1CTL); } -private type function void_fn(charstring id) runs on ConnHdlr; +friend type function void_fn(charstring id) runs on ConnHdlr; private type record length(8) of FreqHopGroups FreqHopConfig; diff --git a/bts/BTS_Tests_VAMOS.ttcn b/bts/BTS_Tests_VAMOS.ttcn new file mode 100644 index 0000000..aa532da --- /dev/null +++ b/bts/BTS_Tests_VAMOS.ttcn @@ -0,0 +1,247 @@ +module BTS_Tests_VAMOS { + +/* Integration Tests for OsmoBTS + * + * (C) 2021 by sysmocom - s.m.f.c. GmbH + * Author: Vadim Yanitskiy + * + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + * + * This module contains VAMOS specific test cases. + */ + +import from Misc_Helpers all; +import from General_Types all; +import from Osmocom_Types all; +import from GSM_Types all; +import from L1CTL_PortType all; +import from L1CTL_Types all; +import from LAPDm_Types all; +import from IPA_Emulation all; +import from GSM_RR_Types all; +import from L3_Templates all; + +import from RSL_Emulation all; +import from RSL_Types all; + +import from BTS_Tests all; + +private type record of ChanNrModeSet ChanNrModeTest; +private type record of ChanNrMode ChanNrModeSet; +private type record ChanNrMode { + RslChannelNr chan_nr, + RSL_IE_ChannelMode chan_mode +}; + +/* VFF: V0(TCH/F) & V1(TCH/F), 2 channels total */ +private template (value) ChanNrModeTest +ChanNrModeTestVFF(uint3_t tn) := { + { + { ts_RslChanNr_Bm(tn), /* V0(TCH/F), signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_OSMO_TCH_F_VAMOS) }, + { ts_RslChanNr_Osmo_VAMOS_Bm(tn), /* V1(TCH/F), signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_OSMO_TCH_F_VAMOS) } + }, + { + { ts_RslChanNr_Bm(tn), /* V0(TCH/F), FR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_F_VAMOS, RSL_CMOD_SP_GSM1) }, + { ts_RslChanNr_Osmo_VAMOS_Bm(tn), /* V1(TCH/F), signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_OSMO_TCH_F_VAMOS) } + }, + { + { ts_RslChanNr_Bm(tn), /* V0(TCH/F), EFR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_F_VAMOS, RSL_CMOD_SP_GSM2) }, + { ts_RslChanNr_Osmo_VAMOS_Bm(tn), /* V1(TCH/F), AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_F_VAMOS, RSL_CMOD_SP_GSM3) } + }, + { + { ts_RslChanNr_Bm(tn), /* V0(TCH/F), AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_F_VAMOS, RSL_CMOD_SP_GSM3) }, + { ts_RslChanNr_Osmo_VAMOS_Bm(tn), /* V1(TCH/F), AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_F_VAMOS, RSL_CMOD_SP_GSM3) } + } +}; + +/* VHH: V0(TCH/H0) & V1(TCH/H0) + V0(TCH/H1) & V1(TCH/H1), 4 channels total */ +private template (value) ChanNrModeTest +ChanNrModeTestVHH(uint3_t tn) := { + { + { ts_RslChanNr_Lm(tn, 0), /* V0(TCH/H0), signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_OSMO_TCH_H_VAMOS) }, + { ts_RslChanNr_Lm(tn, 1), /* V0(TCH/H1), signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_OSMO_TCH_H_VAMOS) }, + { ts_RslChanNr_Osmo_VAMOS_Lm(tn, 0), /* V1(TCH/H0), signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_OSMO_TCH_H_VAMOS) }, + { ts_RslChanNr_Osmo_VAMOS_Lm(tn, 1), /* V1(TCH/H1), signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_OSMO_TCH_H_VAMOS) } + }, + { + { ts_RslChanNr_Lm(tn, 0), /* V0(TCH/H0), signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_OSMO_TCH_H_VAMOS) }, + { ts_RslChanNr_Lm(tn, 1), /* V0(TCH/H1), HR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM1) }, + { ts_RslChanNr_Osmo_VAMOS_Lm(tn, 0), /* V1(TCH/H0), HR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM1) }, + { ts_RslChanNr_Osmo_VAMOS_Lm(tn, 1), /* V1(TCH/H1), signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_OSMO_TCH_H_VAMOS) } + }, + { + { ts_RslChanNr_Lm(tn, 0), /* V0(TCH/H0), HR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM1) }, + { ts_RslChanNr_Lm(tn, 1), /* V0(TCH/H1), AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM3) }, + { ts_RslChanNr_Osmo_VAMOS_Lm(tn, 0), /* V1(TCH/H0), signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_OSMO_TCH_H_VAMOS) }, + { ts_RslChanNr_Osmo_VAMOS_Lm(tn, 1), /* V1(TCH/H1), signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_OSMO_TCH_H_VAMOS) } + }, + { + { ts_RslChanNr_Lm(tn, 0), /* V0(TCH/H0), AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM3) }, + { ts_RslChanNr_Lm(tn, 1), /* V0(TCH/H1), AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM3) }, + { ts_RslChanNr_Osmo_VAMOS_Lm(tn, 0), /* V1(TCH/H0), AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM3) }, + { ts_RslChanNr_Osmo_VAMOS_Lm(tn, 1), /* V1(TCH/H1), AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM3) } + } +}; + +/* HVHH: TCH/H0 + V0(TCH/H1) & V1(TCH/H1), 3 channels total (mixed) */ +private template (value) ChanNrModeTest +ChanNrModeTestHVHH(uint3_t tn) := { + { + { ts_RslChanNr_Lm(tn, 0), /* TCH/H0, signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_TCH_H) }, + { ts_RslChanNr_Lm(tn, 1), /* V0(TCH/H1), signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_OSMO_TCH_H_VAMOS) }, + { ts_RslChanNr_Osmo_VAMOS_Lm(tn, 1), /* V1(TCH/H1), signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_OSMO_TCH_H_VAMOS) } + }, + { + { ts_RslChanNr_Lm(tn, 0), /* TCH/H0, signalling */ + ts_RSL_ChanMode_SIGN(RSL_CHRT_TCH_H) }, + { ts_RslChanNr_Lm(tn, 1), /* V0(TCH/H1), AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM3) }, + { ts_RslChanNr_Osmo_VAMOS_Lm(tn, 1), /* V1(TCH/H1), AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM3) } + }, + { + { ts_RslChanNr_Lm(tn, 0), /* TCH/H0, HR codec */ + ts_RSL_ChanMode(RSL_CHRT_TCH_H, RSL_CMOD_SP_GSM1) }, + { ts_RslChanNr_Lm(tn, 1), /* V0(TCH/H1), HR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM1) }, + { ts_RslChanNr_Osmo_VAMOS_Lm(tn, 1), /* V1(TCH/H1), AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM3) } + }, + { + { ts_RslChanNr_Lm(tn, 0), /* TCH/H0, AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_TCH_H, RSL_CMOD_SP_GSM3) }, + { ts_RslChanNr_Lm(tn, 1), /* V0(TCH/H1), AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM3) }, + { ts_RslChanNr_Osmo_VAMOS_Lm(tn, 1), /* V1(TCH/H1), AMR codec */ + ts_RSL_ChanMode(RSL_CHRT_OSMO_TCH_H_VAMOS, RSL_CMOD_SP_GSM3) } + } +}; + +private template (value) RSL_IE +ts_RSL_IE_OsmoTSC := { + iei := RSL_IE_OSMO_TRAINING_SEQUENCE, + body := { + osmo_training_sequence := { + len := 0, /* overridden */ + tsc_set := f_rnd_int(4), + tsc := f_rnd_int(8) + } + } +} + +private function f_TC_vamos_exec_async(in ChanNrModeTest test, void_fn handler) +runs on test_CT { + /* Up to 4 simultenious lchans */ + var ConnHdlrPars pars[4]; + var ConnHdlr vc_conn[4]; + + f_init(); + + for (var integer i := 0; i < lengthof(test); i := i + 1) { + /* Start a ConnHdlr component for each logical channel */ + for (var integer ch := 0; ch < lengthof(test[i]); ch := ch + 1) { + pars[ch] := valueof(t_Pars(test[i][ch].chan_nr, + test[i][ch].chan_mode)); + vc_conn[ch] := f_start_handler(handler, pars[ch], l1ctl := false); + } + + /* Wait for all ConnHdlr components to finish */ + for (var integer ch := 0; ch < lengthof(test[i]); ch := ch + 1) { + vc_conn[ch].done; + } + } +} + +private function f_TC_vamos_chan_act(charstring id) +runs on ConnHdlr { + var RSL_IE tsc_ie := valueof(ts_RSL_IE_OsmoTSC); + + /* CHANnel ACTIVation with Osmocom specific TSC IE */ + f_rsl_chan_act(g_pars.chan_mode, more_ies := { tsc_ie }); + + /* Hold the channel for a while */ + f_sleep(0.3); + + /* DEACTivate the channel */ + f_rsl_chan_deact(); + f_rslem_unregister(0, g_chan_nr); +} + +/* VFF: V0(TCH/F) & V1(TCH/F), 2 channels total */ +testcase TC_vamos_chan_act_vff() runs on test_CT { /* TCH/F on TS1 */ + var ChanNrModeTest test := valueof(ChanNrModeTestVFF(1)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_act)); +} +testcase TC_vamos_chan_act_dyn_ipa_vff() runs on test_CT { /* TCH/F+PDCH on TS3 */ + var ChanNrModeTest test := valueof(ChanNrModeTestVFF(3)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_act)); +} +testcase TC_vamos_chan_act_dyn_osmo_vff() runs on test_CT { /* TCH/F+TCH/H+PDCH on TS4 */ + var ChanNrModeTest test := valueof(ChanNrModeTestVFF(4)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_act)); +} + +/* VHH: V0(TCH/H0) & V1(TCH/H0) + V0(TCH/H1) & V1(TCH/H1), 4 channels total */ +testcase TC_vamos_chan_act_vhh() runs on test_CT { + var ChanNrModeTest test := valueof(ChanNrModeTestVHH(5)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_act)); /* TCH/H on TS5 */ +} +testcase TC_vamos_chan_act_dyn_osmo_vhh() runs on test_CT { /* TCH/F+TCH/H+PDCH on TS4 */ + var ChanNrModeTest test := valueof(ChanNrModeTestVHH(4)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_act)); +} + +/* HVHH: TCH/H0 + V0(TCH/H1) & V1(TCH/H1), 3 channels total (mixed) */ +testcase TC_vamos_chan_act_hvhh() runs on test_CT { + var ChanNrModeTest test := valueof(ChanNrModeTestHVHH(5)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_act)); /* TCH/H on TS5 */ +} +testcase TC_vamos_chan_act_dyn_osmo_hvhh() runs on test_CT { /* TCH/F+TCH/H+PDCH on TS4 */ + var ChanNrModeTest test := valueof(ChanNrModeTestHVHH(4)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_act)); +} + +control { + /* CHANnel ACTIVation tests */ + execute( TC_vamos_chan_act_vff() ); + execute( TC_vamos_chan_act_vhh() ); + execute( TC_vamos_chan_act_hvhh() ); + execute( TC_vamos_chan_act_dyn_ipa_vff() ); + execute( TC_vamos_chan_act_dyn_osmo_vff() ); + execute( TC_vamos_chan_act_dyn_osmo_vhh() ); + execute( TC_vamos_chan_act_dyn_osmo_hvhh() ); +} + +} -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I79817b3504b0d956e9fa52b8640d3a4d0fd2c4ba Gerrit-Change-Number: 24480 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 14:34:40 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 14:34:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: [VAMOS] BTS: add MODE MODIFY test cases In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24481 ) Change subject: [VAMOS] BTS: add MODE MODIFY test cases ...................................................................... [VAMOS] BTS: add MODE MODIFY test cases Change-Id: If4202287902442629bab716e41d3e6b2d05d09fb Related: SYS#4895, OS#4941 --- M bts/BTS_Tests_VAMOS.ttcn 1 file changed, 82 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/bts/BTS_Tests_VAMOS.ttcn b/bts/BTS_Tests_VAMOS.ttcn index aa532da..413892d 100644 --- a/bts/BTS_Tests_VAMOS.ttcn +++ b/bts/BTS_Tests_VAMOS.ttcn @@ -233,6 +233,79 @@ f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_act)); } +private function f_TC_vamos_chan_mode_modify(charstring id) +runs on ConnHdlr { + var RSL_IE tsc_ie := valueof(ts_RSL_IE_OsmoTSC); + + /* CHANnel ACTIVation with Osmocom specific IEs */ + f_rsl_chan_act(g_pars.chan_mode, more_ies := { tsc_ie }); + + /* If we're in signalling mode, modify to speech */ + if (g_pars.chan_mode.spd_ind == RSL_SPDI_SIGN) { + g_pars.chan_mode.spd_ind := RSL_SPDI_SPEECH; + g_pars.chan_mode.coding_alg_rate := RSL_CMOD_SP_GSM1; + } else { /* ... or vice versa */ + g_pars.chan_mode.spd_ind := RSL_SPDI_SIGN; + g_pars.chan_mode.coding_alg_rate := RSL_CMOD_NO_RESOURCE; + } + + var RSL_Message rsl := valueof(ts_RSL_MODE_MODIFY_REQ(g_chan_nr, g_pars.chan_mode)); + rsl.ies := rsl.ies & { tsc_ie }; + RSL.send(rsl); + + timer T := 1.0; + T.start; + alt { + [] RSL.receive(tr_RSL_MODE_MODIFY_ACK(g_chan_nr)) { setverdict(pass); } + [] RSL.receive(tr_RSL_MODE_MODIFY_NACK(g_chan_nr, ?)) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Rx MODE MODIFY NACK"); + } + [] T.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Timeout waiting for MODE MODIFY (N)ACK"); + } + } + + /* DEACTivate the channel */ + f_rsl_chan_deact(); + f_rslem_unregister(0, g_chan_nr); +} + +/* VFF: V0(TCH/F) & V1(TCH/F), 2 channels total */ +testcase TC_vamos_chan_mode_modify_vff() runs on test_CT { /* TCH/F on TS1 */ + var ChanNrModeTest test := valueof(ChanNrModeTestVFF(1)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_mode_modify)); +} +testcase TC_vamos_chan_mode_modify_dyn_ipa_vff() runs on test_CT { /* TCH/F+PDCH on TS3 */ + var ChanNrModeTest test := valueof(ChanNrModeTestVFF(3)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_mode_modify)); +} +testcase TC_vamos_chan_mode_modify_dyn_osmo_vff() runs on test_CT { /* TCH/F+TCH/H+PDCH on TS4 */ + var ChanNrModeTest test := valueof(ChanNrModeTestVFF(4)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_mode_modify)); +} + +/* VHH: V0(TCH/H0) & V1(TCH/H0) + V0(TCH/H1) & V1(TCH/H1), 4 channels total */ +testcase TC_vamos_chan_mode_modify_vhh() runs on test_CT { + var ChanNrModeTest test := valueof(ChanNrModeTestVHH(5)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_mode_modify)); /* TCH/H on TS5 */ +} +testcase TC_vamos_chan_mode_modify_dyn_osmo_vhh() runs on test_CT { /* TCH/F+TCH/H+PDCH on TS4 */ + var ChanNrModeTest test := valueof(ChanNrModeTestVHH(4)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_mode_modify)); +} + +/* HVHH: TCH/H0 + V0(TCH/H1) & V1(TCH/H1), 3 channels total (mixed) */ +testcase TC_vamos_chan_mode_modify_hvhh() runs on test_CT { + var ChanNrModeTest test := valueof(ChanNrModeTestHVHH(5)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_mode_modify)); /* TCH/H on TS5 */ +} +testcase TC_vamos_chan_mode_modify_dyn_osmo_hvhh() runs on test_CT { /* TCH/F+TCH/H+PDCH on TS4 */ + var ChanNrModeTest test := valueof(ChanNrModeTestHVHH(4)); + f_TC_vamos_exec_async(test, refers(f_TC_vamos_chan_mode_modify)); +} + control { /* CHANnel ACTIVation tests */ execute( TC_vamos_chan_act_vff() ); @@ -242,6 +315,15 @@ execute( TC_vamos_chan_act_dyn_osmo_vff() ); execute( TC_vamos_chan_act_dyn_osmo_vhh() ); execute( TC_vamos_chan_act_dyn_osmo_hvhh() ); + + /* MODE MODIFY tests */ + execute( TC_vamos_chan_mode_modify_vff() ); + execute( TC_vamos_chan_mode_modify_vhh() ); + execute( TC_vamos_chan_mode_modify_hvhh() ); + execute( TC_vamos_chan_mode_modify_dyn_ipa_vff() ); + execute( TC_vamos_chan_mode_modify_dyn_osmo_vff() ); + execute( TC_vamos_chan_mode_modify_dyn_osmo_vhh() ); + execute( TC_vamos_chan_mode_modify_dyn_osmo_hvhh() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If4202287902442629bab716e41d3e6b2d05d09fb Gerrit-Change-Number: 24481 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 14:43:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 14:43:49 +0000 Subject: Change in osmo-pcu[master]: bts: Fix typo in field name References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24498 ) Change subject: bts: Fix typo in field name ...................................................................... bts: Fix typo in field name Change-Id: I5426ff4ccbc45464888e2246cceb8e861d1e477e --- M src/bts.cpp M src/bts.h M src/pcu_l1_if.cpp 3 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/98/24498/1 diff --git a/src/bts.cpp b/src/bts.cpp index dc550ef..95dde04 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -1332,7 +1332,7 @@ if (bts->pcu->vty.force_alpha != (uint8_t)-1) return bts->pcu->vty.force_alpha; if (bts->si13_is_set) - return bts->si31_ro_decoded.pwr_ctrl_pars.alpha; + return bts->si13_ro_decoded.pwr_ctrl_pars.alpha; /* default if no SI13 is received yet: closed loop control, TS 44.060 * B.2 Closed loop control */ return 0; diff --git a/src/bts.h b/src/bts.h index 52c89b9..bb91df3 100644 --- a/src/bts.h +++ b/src/bts.h @@ -234,7 +234,7 @@ uint8_t si3[GSM_MACBLOCK_LEN]; bool si3_is_set; uint8_t si13[GSM_MACBLOCK_LEN]; - struct osmo_gsm48_si13_info si31_ro_decoded; + struct osmo_gsm48_si13_info si13_ro_decoded; bool si13_is_set; /* State for dynamic algorithm selection */ diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index cfd36d7..0453b92 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -336,7 +336,7 @@ memcpy(bts->si13, data, GSM_MACBLOCK_LEN); bts->si13_is_set = true; si_ro = ((struct gsm48_system_information_type_13*)data)->rest_octets; - if (osmo_gsm48_rest_octets_si13_decode(&bts->si31_ro_decoded, si_ro) < 0) + if (osmo_gsm48_rest_octets_si13_decode(&bts->si13_ro_decoded, si_ro) < 0) LOGP(DPCU, LOGL_ERROR, "Error decoding SI13\n"); break; default: -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5426ff4ccbc45464888e2246cceb8e861d1e477e Gerrit-Change-Number: 24498 Gerrit-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 Jun 1 14:50:26 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Tue, 1 Jun 2021 14:50:26 +0000 Subject: Change in osmo-gsm-tester[master]: util: adds the feature to force the rpath when patching files. In-Reply-To: References: Message-ID: alealcon has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 ) Change subject: util: adds the feature to force the rpath when patching files. ...................................................................... Patch Set 1: We decided to patch the binary in OGT following the example of other binaries (amarisoft-epc or amarisoft-ms) and because we want to avoid setting those values at compile time, as we think this information is required when running the binary. For the possibility 1: I can give it a try, but these two things worry me: - You must identify the build within the script (by checking the arch, toolchain, trial builder or some other information ) to execute the "patchelf --force-rpath --set-rpath /mnt/nfs/bdlibs/" specific instruction. As it is now, the script is generic and doesn't check variables to execute specific instructions and I think it's a great idea to keep it simple and generic. - AFAIK the built binaries can be used for other devices too. For instance, if we have 2 devices with the ppc arch, we can use the same built binary for both of them, but the problem is that the required libraries can be placed in other paths due hardware requirements(sd-cards, nfs, etc). For me, it makes more sense to add this information to the resources.conf that describes the devices available for OGT and theirs characteristics and give us a lot of flexibility. For the possibility 2: I think it a clean solution, but I'm not sure if it works. Gonna give it a try. With this solution I don't have to patch the binary? The problem here can be the linker. When we build the binary, we set the rpath and dynamic-linker, but the rpath information is removed when executing the "make install" step. We would like to remove that information from the toolchain, as this information depends on the device where it will run the binary and it is not needed for building it. So the problem is that I fear a "patchelf --set-interpreter" will be required in order to work. But we can face that problem in the future. Summarizing, I'm gonna do a fast test with the second option, and later test the first option, but I would like to give a second thought to extract this kind of information to the resources.conf. Thanks Pau for your suggestions! -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2d4a105d4843c0d31d6b5d8f8d4195247b290aec Gerrit-Change-Number: 24272 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 14:50: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 Tue Jun 1 15:02:02 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 15:02:02 +0000 Subject: Change in libosmocore[master]: gsm_08_58.h: add Osmocom specific Bm/Lm CBITs for VAMOS In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24420 ) Change subject: gsm_08_58.h: add Osmocom specific Bm/Lm CBITs for VAMOS ...................................................................... Patch Set 1: Hi Harald, > When Vadim mentioned it during the last weekly review call, I was quite surprised this was merged quickly, without a more comprehensive discussion around it. I should have marked this patch as WIP. > Have you done a careful review that those bit combinations really are not used anywhere else yet? > Are we seure they don't clash e.g. with how Ericsson uses the Cbits? I would love to, but is this information publicly available anywhere? If there is a clash, we can still add more #defines with the same values. > So on the BSC side there must not be any common code that makes assumptions that those osmocom-specific cbits are unversally applicable over all BTS types. Indeed, the idea is to use these C-bits iff we're talking to osmo-bts *and* it reports BTS_FEAT_VAMOS as supported. I know that ABIS_RSL_CHAN_NR_CBITS_OSMO_PDCH is also used by Ericsson, but we also have ABIS_RSL_CHAN_NR_CBITS_OSMO_{CBCH4,CBCH8}, and both look quite Osmocom-specific. > Furthermore, even if the above is all fine, at the same time of merging this patch I would have expected a comprehensive related update to our Abis manual where all osmocom extensions to RSL and OML are documented (https://ftp.osmocom.org/docs/latest/osmobts-abis.pdf) Please see: https://gerrit.osmocom.org/c/osmo-bts/+/24492. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If33c1695922d110c0d2c60d5c0136caf2587194e Gerrit-Change-Number: 24420 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 15: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 Tue Jun 1 15:41:38 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 15:41:38 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode 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/+/24374 to look at the new patch set (#13). Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... implement Channel Mode Modify to VAMOS mode Related: SYS#5315 OS#4940 Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c --- 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/gsm_04_08_rr.c M src/osmo-bsc/lchan_fsm.c M tests/osmo-bsc.vty 6 files changed, 174 insertions(+), 40 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/74/24374/13 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 13 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 15:43:19 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 15:43:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: adjust to changed 'vamos modify' vty command syntax References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24499 ) Change subject: bsc: adjust to changed 'vamos modify' vty command syntax ...................................................................... bsc: adjust to changed 'vamos modify' vty command syntax Related: SYS#5315 OS#4940 Ibf53f4797d7491b17a33946fd7d920f038362b4c Change-Id: I94988ee64edbecbe19c41d8cac5b055360f76547 --- M bsc/BSC_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/99/24499/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 6f603b1..a16fdf8 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -8599,7 +8599,7 @@ f_establish_fully(ass_cmd, exp_compl); - f_vty_transceive(BSCVTY, "vamos modify lchan 0 0 1 0 tsc 2 3"); + f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 1 sub-slot 0 modify vamos tsc 2 3"); var RSL_Message rsl; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I94988ee64edbecbe19c41d8cac5b055360f76547 Gerrit-Change-Number: 24499 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 Jun 1 15:43:37 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 15:43:37 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24374 ) Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... Patch Set 13: (1 comment) see also https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24499 https://gerrit.osmocom.org/c/osmo-bsc/+/24374/13/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24374/13/src/osmo-bsc/bsc_vty.c at 2171 PS13, Line 2171: "bts <0-255> trx <0-255> timeslot <0-7> sub-slot <0-7> modify (vamos|non-vamos) " TSC_ARGS_OPT, slight drawback, we cannot limit to 'sub-slot <0-1>' anymore, because vty would complain "Ambiguous command". -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 13 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 15:43: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 Jun 1 16:23:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 16:23:39 +0000 Subject: Change in libosmocore[master]: range_enc_determine_range(): Don't dereference array on size=0 In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24496 ) Change subject: range_enc_determine_range(): Don't dereference array on size=0 ...................................................................... range_enc_determine_range(): Don't dereference array on size=0 cherry-picked from osmo-bsc.git d4c391eab03ce768d7eaf483368d9cda4f9668df Change-Id: Iae058c35506bc25c9f4790889b89ac46aea664b6 Fixes: Coverity CID#182710 (osmo-bsc.git) --- M src/gsm/gsm48_arfcn_range_encode.c 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/gsm/gsm48_arfcn_range_encode.c b/src/gsm/gsm48_arfcn_range_encode.c index 6423a9a..afe552d 100644 --- a/src/gsm/gsm48_arfcn_range_encode.c +++ b/src/gsm/gsm48_arfcn_range_encode.c @@ -166,6 +166,10 @@ { int max = 0; + /* don't dereference arfcns[] array if size is 0 */ + if (size == 0) + return OSMO_GSM48_ARFCN_RANGE_128; + /* * Go for the easiest. And pick arfcns[0] == f0. */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iae058c35506bc25c9f4790889b89ac46aea664b6 Gerrit-Change-Number: 24496 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 16:23:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 16:23:47 +0000 Subject: Change in osmo-ggsn[master]: ggsn: Log tun fd write errors In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24494 ) Change subject: ggsn: Log tun fd write errors ...................................................................... ggsn: Log tun fd write errors Change-Id: I5f681b5edcc4cf525629d2078ae0c0ffd7ebb72d --- M ggsn/ggsn.h M lib/tun.c M lib/tun.h 3 files changed, 11 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/ggsn/ggsn.h b/ggsn/ggsn.h index 82984a0..132d059 100644 --- a/ggsn/ggsn.h +++ b/ggsn/ggsn.h @@ -167,6 +167,3 @@ LOGP(DGGSN, level, "GGSN(%s): " fmt, (ggsn)->cfg.name, ## args) #define LOGPPDP(level, pdp, fmt, args...) LOGPDPX(DGGSN, level, pdp, fmt, ## args) - -#define LOGTUN(level, tun, fmt, args...) \ - LOGP(DTUN, level, "TUN(%s): " fmt, (tun)->devname, ## args) diff --git a/lib/tun.c b/lib/tun.c index c771b92..cb66fef 100644 --- a/lib/tun.c +++ b/lib/tun.c @@ -318,7 +318,14 @@ int tun_encaps(struct tun_t *tun, void *pack, unsigned len) { - return write(tun->fd, pack, len); + int rc; + rc = write(tun->fd, pack, len); + if (rc < 0) { + SYS_ERR(DTUN, LOGL_ERROR, errno, "TUN(%s): write() failed", tun->devname); + } else if (rc < len) { + LOGTUN(LOGL_ERROR, tun, "short write() %d < %u\n", rc, len); + } + return rc; } int tun_runscript(struct tun_t *tun, char *script) diff --git a/lib/tun.h b/lib/tun.h index 07ca04a..36a4f7e 100644 --- a/lib/tun.h +++ b/lib/tun.h @@ -59,4 +59,7 @@ int tun_ip_local_get(const struct tun_t *tun, struct in46_prefix *prefix_list, size_t prefix_size, int flags); +#define LOGTUN(level, tun, fmt, args...) \ + LOGP(DTUN, level, "TUN(%s): " fmt, (tun)->devname, ## args) + #endif /* !_TUN_H */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I5f681b5edcc4cf525629d2078ae0c0ffd7ebb72d Gerrit-Change-Number: 24494 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 16:34:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 16:34:49 +0000 Subject: Change in simtrace2[master]: simtrace board.h: Enable HAVE_CARDEM if we build the cardem firmware References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24500 ) Change subject: simtrace board.h: Enable HAVE_CARDEM if we build the cardem firmware ...................................................................... simtrace board.h: Enable HAVE_CARDEM if we build the cardem firmware likewise, enable HAVE_SNIFFER currently only if we build the sniffer firmware. It's been many years too long to finally get those all merged in one firmware :( Change-Id: Ib433f180746f75458a44f4988643465bd846b04b --- M firmware/libboard/simtrace/include/board.h 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/00/24500/1 diff --git a/firmware/libboard/simtrace/include/board.h b/firmware/libboard/simtrace/include/board.h index ab1c019..ac4ac18 100644 --- a/firmware/libboard/simtrace/include/board.h +++ b/firmware/libboard/simtrace/include/board.h @@ -153,10 +153,14 @@ /** Supported modes */ /* SIMtrace board supports sniffer mode */ +#ifdef APPLICATION_sniffer #define HAVE_SNIFFER +#endif /* SIMtrace board supports CCID mode */ //#define HAVE_CCID /* SIMtrace board supports card emulation mode */ -//#define HAVE_CARDEM +#ifdef APPLICATION_cardem +#define HAVE_CARDEM +#endif /* SIMtrace board supports man-in-the-middle mode */ //#define HAVE_MITM -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ib433f180746f75458a44f4988643465bd846b04b Gerrit-Change-Number: 24500 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 16:35:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 16:35:07 +0000 Subject: Change in simtrace2[master]: simtrace board.h: Enable HAVE_CARDEM if we build the cardem firmware In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24500 ) Change subject: simtrace board.h: Enable HAVE_CARDEM if we build the cardem firmware ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ib433f180746f75458a44f4988643465bd846b04b Gerrit-Change-Number: 24500 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 01 Jun 2021 16:35:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 16:38:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 16:38:34 +0000 Subject: Change in simtrace2[master]: simtrace board.h: Enable HAVE_CARDEM if we build the cardem firmware 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/+/24500 to look at the new patch set (#2). Change subject: simtrace board.h: Enable HAVE_CARDEM if we build the cardem firmware ...................................................................... simtrace board.h: Enable HAVE_CARDEM if we build the cardem firmware likewise, enable HAVE_SNIFFER currently only if we build the sniffer firmware. It's been many years too long to finally get those all merged in one firmware :( Change-Id: Ib433f180746f75458a44f4988643465bd846b04b --- M firmware/libboard/simtrace/include/board.h 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/00/24500/2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ib433f180746f75458a44f4988643465bd846b04b Gerrit-Change-Number: 24500 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 16:38:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 16:38:35 +0000 Subject: Change in simtrace2[master]: jenkins.sh: build 'cardem' firmware also for simtrace board References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24501 ) Change subject: jenkins.sh: build 'cardem' firmware also for simtrace board ...................................................................... jenkins.sh: build 'cardem' firmware also for simtrace board Now that it is supported, we should also build + publish the related binaries. Change-Id: I9231503b865adc863959d74d98e7f24f83c293e9 --- M contrib/jenkins.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/01/24501/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index d6dc82f..05d80af 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -28,7 +28,7 @@ export LD_LIBRARY_PATH="$inst/lib" BUILDS="" -BUILDS+="simtrace/dfu simtrace/trace " +BUILDS+="simtrace/dfu simtrace/trace simtrace/cardem " BUILDS+="qmod/dfu qmod/cardem " BUILDS+="owhw/dfu owhw/cardem " -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I9231503b865adc863959d74d98e7f24f83c293e9 Gerrit-Change-Number: 24501 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 16:40:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 16:40:38 +0000 Subject: Change in simtrace2[master]: simtrace board.h: Enable HAVE_CARDEM if we build the cardem firmware In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24500 ) Change subject: simtrace board.h: Enable HAVE_CARDEM if we build the cardem firmware ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ib433f180746f75458a44f4988643465bd846b04b Gerrit-Change-Number: 24500 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 01 Jun 2021 16:40: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 Jun 1 16:40:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 16:40:40 +0000 Subject: Change in simtrace2[master]: jenkins.sh: build 'cardem' firmware also for simtrace board In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24501 ) Change subject: jenkins.sh: build 'cardem' firmware also for simtrace board ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I9231503b865adc863959d74d98e7f24f83c293e9 Gerrit-Change-Number: 24501 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 01 Jun 2021 16:40: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 Jun 1 16:40:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 16:40:42 +0000 Subject: Change in simtrace2[master]: simtrace board.h: Enable HAVE_CARDEM if we build the cardem firmware In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24500 ) Change subject: simtrace board.h: Enable HAVE_CARDEM if we build the cardem firmware ...................................................................... simtrace board.h: Enable HAVE_CARDEM if we build the cardem firmware likewise, enable HAVE_SNIFFER currently only if we build the sniffer firmware. It's been many years too long to finally get those all merged in one firmware :( Change-Id: Ib433f180746f75458a44f4988643465bd846b04b --- M firmware/libboard/simtrace/include/board.h 1 file changed, 5 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/libboard/simtrace/include/board.h b/firmware/libboard/simtrace/include/board.h index ab1c019..4b6eda2 100644 --- a/firmware/libboard/simtrace/include/board.h +++ b/firmware/libboard/simtrace/include/board.h @@ -153,10 +153,14 @@ /** Supported modes */ /* SIMtrace board supports sniffer mode */ +#ifdef APPLICATION_trace #define HAVE_SNIFFER +#endif /* SIMtrace board supports CCID mode */ //#define HAVE_CCID /* SIMtrace board supports card emulation mode */ -//#define HAVE_CARDEM +#ifdef APPLICATION_cardem +#define HAVE_CARDEM +#endif /* SIMtrace board supports man-in-the-middle mode */ //#define HAVE_MITM -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ib433f180746f75458a44f4988643465bd846b04b Gerrit-Change-Number: 24500 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 16:40:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 16:40:43 +0000 Subject: Change in simtrace2[master]: jenkins.sh: build 'cardem' firmware also for simtrace board In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24501 ) Change subject: jenkins.sh: build 'cardem' firmware also for simtrace board ...................................................................... jenkins.sh: build 'cardem' firmware also for simtrace board Now that it is supported, we should also build + publish the related binaries. Change-Id: I9231503b865adc863959d74d98e7f24f83c293e9 --- M contrib/jenkins.sh 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index d6dc82f..05d80af 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -28,7 +28,7 @@ export LD_LIBRARY_PATH="$inst/lib" BUILDS="" -BUILDS+="simtrace/dfu simtrace/trace " +BUILDS+="simtrace/dfu simtrace/trace simtrace/cardem " BUILDS+="qmod/dfu qmod/cardem " BUILDS+="owhw/dfu owhw/cardem " -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I9231503b865adc863959d74d98e7f24f83c293e9 Gerrit-Change-Number: 24501 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 16:47:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 16:47:51 +0000 Subject: Change in simtrace2[master]: Revert "cardem: disable upload for simtrace2" References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24502 ) Change subject: Revert "cardem: disable upload for simtrace2" ...................................................................... Revert "cardem: disable upload for simtrace2" This reverts commit baa62777c845c3466fae5d80729e6b2bd754eea8 which deleted simtrace-cardem builds to prevent them from being published. Change-Id: I63fd4bea2985fcc87f202d8b69a4f24661858185 --- M contrib/jenkins.sh 1 file changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/02/24502/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 05d80af..c5f5cad 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -63,8 +63,6 @@ # make -C "$base/doc/manuals" publish #fi -rm -rf $TOPDIR/firmware/bin/simtrace-cardem* - if [ "x$publish" = "x--publish" ]; then echo echo "=============== UPLOAD BUILD ==============" -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24502 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I63fd4bea2985fcc87f202d8b69a4f24661858185 Gerrit-Change-Number: 24502 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 16:48:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 16:48:10 +0000 Subject: Change in simtrace2[master]: Revert "cardem: disable upload for simtrace2" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24502 ) Change subject: Revert "cardem: disable upload for simtrace2" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24502 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I63fd4bea2985fcc87f202d8b69a4f24661858185 Gerrit-Change-Number: 24502 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 01 Jun 2021 16:48: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 Jun 1 16:53:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 16:53:53 +0000 Subject: Change in simtrace2[master]: Revert "cardem: disable upload for simtrace2" In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24502 ) Change subject: Revert "cardem: disable upload for simtrace2" ...................................................................... Revert "cardem: disable upload for simtrace2" This reverts commit baa62777c845c3466fae5d80729e6b2bd754eea8 which deleted simtrace-cardem builds to prevent them from being published. Change-Id: I63fd4bea2985fcc87f202d8b69a4f24661858185 --- M contrib/jenkins.sh 1 file changed, 0 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 05d80af..c5f5cad 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -63,8 +63,6 @@ # make -C "$base/doc/manuals" publish #fi -rm -rf $TOPDIR/firmware/bin/simtrace-cardem* - if [ "x$publish" = "x--publish" ]; then echo echo "=============== UPLOAD BUILD ==============" -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24502 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I63fd4bea2985fcc87f202d8b69a4f24661858185 Gerrit-Change-Number: 24502 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 17:00:04 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 17:00:04 +0000 Subject: Change in osmo-bsc[master]: make sure channel mode and s15_s0 are updated only after an ACK In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24352 ) Change subject: make sure channel mode and s15_s0 are updated only after an ACK ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie0da36124d73efc28a8809b63d7c96e2167fc412 Gerrit-Change-Number: 24352 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 01 Jun 2021 17:00:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 17:00:43 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 17:00:43 +0000 Subject: Change in osmo-bsc[master]: eliminate lchan->rsl_cmode In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24354 ) Change subject: eliminate lchan->rsl_cmode ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1c167b22bb6638a929488d093bde0f1a5fb227ad Gerrit-Change-Number: 24354 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 17:00:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 17:02:06 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 17:02:06 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 2: filter modes also for VTY In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24357 ) Change subject: AMR config cleanup step 2: filter modes also for VTY ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia7519d2fa9e7f0b61b222d27d077bde4660c40b9 Gerrit-Change-Number: 24357 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: Tue, 01 Jun 2021 17:02: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 Jun 1 17:06:07 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 17:06:07 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 3: generate AMR LV on msg composition In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24358 ) Change subject: AMR config cleanup step 3: generate AMR LV on msg composition ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie57f9d0e3912632903d9740291225bfd1634ed47 Gerrit-Change-Number: 24358 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: Tue, 01 Jun 2021 17:06:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 17:07:52 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 17:07:52 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: allow assignment to a specific lchan In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24362 ) Change subject: assignment_fsm: allow assignment to a specific lchan ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71e0d4ff4746706e0be5266e4574d70ca432e3d7 Gerrit-Change-Number: 24362 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 01 Jun 2021 17:07:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 17:11:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 17:11:48 +0000 Subject: Change in osmo-bsc[master]: ensure chan_mode comparisons in non-VAMOS mode In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24459 ) Change subject: ensure chan_mode comparisons in non-VAMOS mode ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I791e7966b1f8eaa3299a8a46abeb313cf5136e0b Gerrit-Change-Number: 24459 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 17:11:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 17:12:27 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 17:12:27 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: introduce lchan.modify.ch_mode_rate to allow tweaking In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24465 ) Change subject: lchan_fsm: introduce lchan.modify.ch_mode_rate to allow tweaking ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8a3daac0287f15a59d3688388bb13e55facb2cea Gerrit-Change-Number: 24465 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 17:12: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 Jun 1 17:21:27 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 17:21:27 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24374 ) Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... Patch Set 13: (4 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24374/10/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24374/10/src/osmo-bsc/bsc_vty.c at 2174 PS10, Line 2174: modify lchan > The "handover1 power budget interval <1-99>" and the like are annoying early mistakes from a long ti [?] Agree with Harald here. https://gerrit.osmocom.org/c/osmo-bsc/+/24374/10/src/osmo-bsc/bsc_vty.c at 2193 PS10, Line 2193: vty_out(vty, "Invalid sub-slot number for this timeslot type%s", VTY_NEWLINE); Missing %% prefix. https://gerrit.osmocom.org/c/osmo-bsc/+/24374/10/src/osmo-bsc/bsc_vty.c at 2198 PS10, Line 2198: vty_out(vty, "BTS does not support VAMOS%s", VTY_NEWLINE); Missing %% prefix. https://gerrit.osmocom.org/c/osmo-bsc/+/24374/10/src/osmo-bsc/gsm_04_08_rr.c File src/osmo-bsc/gsm_04_08_rr.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24374/10/src/osmo-bsc/gsm_04_08_rr.c at 714 PS10, Line 714: 0x6d Do we have a macro for this in libosmocore? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 13 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 01 Jun 2021 17:21:27 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 17:29:34 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 17:29:34 +0000 Subject: Change in osmo-bsc[master]: make sure channel mode and s15_s0 are updated only after an ACK In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24352 ) Change subject: make sure channel mode and s15_s0 are updated only after an ACK ...................................................................... make sure channel mode and s15_s0 are updated only after an ACK I noticed during testing that an lchan used as TCH/F in fact still had its channel mode set to Signalling -- because on Assignment, the Speech mode used to be placed in the *previous* lchan and the new lchan was never updated after the Activ ACK. This is unbearable confusion which I complained about numerous times, so far mostly for cosmetic reasons. But implementing re-assignment properly actually requires this to be cleaned up. Keep all volatile chan mode settings in lchan->activate.* or lchan->modify.*, and only update lchan->* members when an ACK has been received for those settings. So a failed request keeps a sane state. Make sure that those settings are in fact updated in the proper lchan, upon an ACK, so that subsequent re-assignment or mode-modify know the accurate lchan state. Related are upcoming patches that sort out the AMR multirate configuration in a similar fashion, see Iebac2dc26412d877e5364f90d6f2ed7a7952351e Ia7519d2fa9e7f0b61b222d27d077bde4660c40b9 Ie57f9d0e3912632903d9740291225bfd1634ed47. Related: SYS#5315 OS#4940 OS#3787 OS#3833 Change-Id: Ie0da36124d73efc28a8809b63d7c96e2167fc412 --- M include/osmocom/bsc/gsm_data.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/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lchan_rtp_fsm.c M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_lcls.c M tests/handover/handover_test.c 13 files changed, 186 insertions(+), 163 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 4b175a4..68c3074 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -105,6 +105,8 @@ CH_RATE_FULL, }; +enum channel_rate chan_t_to_chan_rate(enum gsm_chan_t chan_t); + struct channel_mode_and_rate { enum gsm48_chan_mode chan_mode; enum channel_rate chan_rate; @@ -137,7 +139,7 @@ /* Rate/codec setting in preference order (need at least 1 !) */ int n_ch_mode_rate; - struct channel_mode_and_rate ch_mode_rate[3]; + struct channel_mode_and_rate ch_mode_rate_list[3]; }; /* State of an ongoing Assignment, while the assignment_fsm is still busy. This serves as state separation to keep the @@ -146,6 +148,7 @@ struct assignment_fsm_data { struct assignment_request req; bool requires_voice_stream; + struct channel_mode_and_rate selected_ch_mode_rate; struct osmo_fsm_inst *fi; struct gsm_lchan *new_lchan; @@ -585,12 +588,8 @@ struct lchan_activate_info { enum lchan_activate_for activ_for; struct gsm_subscriber_connection *for_conn; - /* This always is for a specific lchan, so its lchan->type indicates full or half rate. - * When a dyn TS was selected, the lchan->type has been set to the desired rate. */ - enum gsm48_chan_mode chan_mode; + struct channel_mode_and_rate ch_mode_rate; struct gsm_encr encr; - /* AMR config */ - uint16_t s15_s0; bool requires_voice_stream; bool wait_before_switching_rtp; /*< true = requires LCHAN_EV_READY_TO_SWITCH_RTP */ uint16_t msc_assigned_cic; @@ -613,11 +612,9 @@ struct lchan_modify_info { enum lchan_modify_for modify_for; - enum gsm48_chan_mode chan_mode; + struct channel_mode_and_rate ch_mode_rate; bool requires_voice_stream; uint16_t msc_assigned_cic; - /* AMR config */ - uint16_t s15_s0; }; struct gsm_lchan { @@ -672,8 +669,6 @@ enum gsm_chan_t type; /* RSL channel mode */ enum rsl_cmod_spd rsl_cmode; - /* If TCH, traffic channel mode */ - enum gsm48_chan_mode tch_mode; enum lchan_csd_mode csd_mode; /* Power levels for MS and BTS */ uint8_t bs_power; @@ -684,8 +679,6 @@ /* AMR bits */ uint8_t mr_ms_lv[7]; uint8_t mr_bts_lv[7]; - /* AMR bits were based on these rate bits: */ - uint16_t s15_s0; /* Established data link layer services */ uint8_t sapis[8]; @@ -727,12 +720,9 @@ struct gsm_subscriber_connection *conn; - /* Depending on the preferences that where submitted together with - * the assignment and the current channel load, the BSC has to select - * one of the offered codec/rates. The final selection by the BSC is - * stored here and is used when sending the assignment complete or - * when performing a handover procedure. */ - struct channel_mode_and_rate ch_mode_rate; + /* After the Channel Activation ACK or RSL Mode Modify ACK is received, this reflects the actually used + * channel_mode_and_rate. */ + struct channel_mode_and_rate current_ch_mode_rate; }; /* One Timeslot in a TRX */ diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index eb30345..1aaebe3 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -70,7 +70,7 @@ OSMO_ASSERT(bts); if (lchan->type == GSM_LCHAN_TCH_H) { - switch (lchan->tch_mode) { + switch (lchan->current_ch_mode_rate.chan_mode) { case GSM48_CMODE_SPEECH_AMR: rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CODEC_AMR_H]); break; @@ -81,7 +81,7 @@ break; } } else if (lchan->type == GSM_LCHAN_TCH_F) { - switch (lchan->tch_mode) { + switch (lchan->current_ch_mode_rate.chan_mode) { case GSM48_CMODE_SPEECH_AMR: rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CODEC_AMR_F]); break; @@ -351,7 +351,8 @@ } static int channel_mode_from_lchan(struct rsl_ie_chan_mode *cm, - struct gsm_lchan *lchan) + struct gsm_lchan *lchan, + const struct channel_mode_and_rate *ch_mode_rate) { memset(cm, 0, sizeof(*cm)); @@ -366,7 +367,7 @@ cm->spd_ind = lchan->rsl_cmode; if (lchan->rsl_cmode == RSL_CMOD_SPD_SIGN && - lchan->tch_mode != GSM48_CMODE_SIGN) + ch_mode_rate->chan_mode != GSM48_CMODE_SIGN) LOGP(DRSL, LOGL_ERROR, "unsupported: rsl_mode == signalling, " "but tch_mode != signalling\n"); @@ -389,7 +390,7 @@ return -EINVAL; } - switch (lchan->tch_mode) { + switch (ch_mode_rate->chan_mode) { case GSM48_CMODE_SIGN: cm->chan_rate = 0; break; @@ -408,7 +409,7 @@ switch (lchan->csd_mode) { case LCHAN_CSD_M_NT: /* non-transparent CSD with RLP */ - switch (lchan->tch_mode) { + switch (ch_mode_rate->chan_mode) { case GSM48_CMODE_DATA_14k5: cm->chan_rate = RSL_CMOD_SP_NT_14k5; break; @@ -421,7 +422,7 @@ default: LOGP(DRSL, LOGL_ERROR, "unsupported lchan->tch_mode %u\n", - lchan->tch_mode); + ch_mode_rate->chan_mode); return -EINVAL; } break; @@ -458,20 +459,19 @@ } break; default: - LOGP(DRSL, LOGL_ERROR, - "unsupported lchan->tch_mode %u\n", - lchan->tch_mode); + LOGP(DRSL, LOGL_ERROR, "unsupported channel mode %u\n", ch_mode_rate->chan_mode); return -EINVAL; } return 0; } -static void mr_config_for_bts(struct gsm_lchan *lchan, struct msgb *msg) +static void mr_config_for_bts(struct gsm_lchan *lchan, struct msgb *msg, + const struct channel_mode_and_rate *ch_mode_rate) { uint8_t len; - if (lchan->tch_mode != GSM48_CMODE_SPEECH_AMR) + if (ch_mode_rate->chan_mode != GSM48_CMODE_SPEECH_AMR) return; len = lchan->mr_bts_lv[0]; @@ -532,7 +532,7 @@ /* PDCH activation is a job for rsl_tx_dyn_ts_pdch_act_deact(); */ OSMO_ASSERT(act_type != RSL_ACT_OSMO_PDCH); - rc = channel_mode_from_lchan(&cm, lchan); + rc = channel_mode_from_lchan(&cm, lchan, &lchan->activate.info.ch_mode_rate); if (rc < 0) { LOGP(DRSL, LOGL_ERROR, "%s Cannot find channel mode from lchan type\n", @@ -606,7 +606,7 @@ add_power_control_params(msg, RSL_IE_BS_POWER_PARAM, lchan); add_power_control_params(msg, RSL_IE_MS_POWER_PARAM, lchan); - mr_config_for_bts(lchan, msg); + mr_config_for_bts(lchan, msg, &lchan->activate.info.ch_mode_rate); rep_acch_cap_for_bts(lchan, msg); msg->dst = trx->rsl_link; @@ -637,7 +637,7 @@ uint8_t chan_nr = gsm_lchan2chan_nr(lchan); struct rsl_ie_chan_mode cm; - rc = channel_mode_from_lchan(&cm, lchan); + rc = channel_mode_from_lchan(&cm, lchan, &lchan->modify.info.ch_mode_rate); if (rc < 0) return rc; @@ -656,7 +656,7 @@ msgb_tlv_put(msg, RSL_IE_ENCR_INFO, rc, encr_info); } - mr_config_for_bts(lchan, msg); + mr_config_for_bts(lchan, msg, &lchan->modify.info.ch_mode_rate); rep_acch_cap_for_bts(lchan, msg); msg->dst = lchan->ts->trx->rsl_link; @@ -1768,7 +1768,10 @@ gsm_chreq_name(rqd->reason), rqd->ref.ra, rqd->ta); info = (struct lchan_activate_info){ .activ_for = ACTIVATE_FOR_MS_CHANNEL_REQUEST, - .chan_mode = GSM48_CMODE_SIGN, + .ch_mode_rate = { + .chan_mode = GSM48_CMODE_SIGN, + .chan_rate = CH_RATE_SDCCH, + }, .ta = rqd->ta, .ta_known = true, }; diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 60e3342..aeb9a24 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -85,7 +85,7 @@ if (bts) { \ rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_##counter]); \ if (BTS_##counter != BTS_CTR_ASSIGNMENT_NO_CHANNEL) { \ - switch (conn->lchan->ch_mode_rate.chan_mode) { \ + switch (conn->assignment.req.ch_mode_rate_list[0].chan_mode) { \ case GSM48_CMODE_SIGN: \ rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_##counter##_SIGN]); \ break; \ @@ -175,18 +175,18 @@ struct gsm_lchan *lchan = conn->lchan; struct osmo_fsm_inst *fi = conn->fi; - chosen_channel = gsm0808_chosen_channel(lchan->type, lchan->tch_mode); + chosen_channel = gsm0808_chosen_channel(lchan->type, lchan->current_ch_mode_rate.chan_mode); if (!chosen_channel) { assignment_fail(GSM0808_CAUSE_EQUIPMENT_FAILURE, "Unable to compose Chosen Channel for mode=%s type=%s", - get_value_string(gsm48_chan_mode_names, lchan->tch_mode), + get_value_string(gsm48_chan_mode_names, lchan->current_ch_mode_rate.chan_mode), gsm_lchant_name(lchan->type)); return; } /* Generate voice related fields */ if (conn->assignment.requires_voice_stream) { - perm_spch = gsm0808_permitted_speech(lchan->type, lchan->tch_mode); + perm_spch = gsm0808_permitted_speech(lchan->type, lchan->current_ch_mode_rate.chan_mode); if (gscon_is_aoip(conn)) { if (!osmo_mgcpc_ep_ci_get_crcx_info_to_sockaddr(conn->user_plane.mgw_endpoint_ci_msc, @@ -212,7 +212,7 @@ if (gscon_is_aoip(conn)) { /* Extrapolate speech codec from speech mode */ gsm0808_speech_codec_from_chan_type(&sc, perm_spch); - sc.cfg = conn->lchan->activate.info.s15_s0; + sc.cfg = conn->lchan->activate.info.ch_mode_rate.s15_s0; sc_ptr = ≻ } } @@ -395,11 +395,11 @@ * a mismatch is not permitted */ for (i = 0; i < req->n_ch_mode_rate; i++) { - rc = check_requires_voice(&requires_voice_alt, req->ch_mode_rate[i].chan_mode); + rc = check_requires_voice(&requires_voice_alt, req->ch_mode_rate_list[i].chan_mode); if (rc < 0) { assignment_fail(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP, "Channel mode not supported (prev level %d): %s", i, - gsm48_chan_mode_name(req->ch_mode_rate[i].chan_mode)); + gsm48_chan_mode_name(req->ch_mode_rate_list[i].chan_mode)); return -EINVAL; } @@ -408,8 +408,8 @@ else if (requires_voice_alt != requires_voice_pref) { assignment_fail(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP, "Requested a mix of Signalling and non-Signalling channel modes: %s != %s", - gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode), - gsm48_chan_mode_name(req->ch_mode_rate[i].chan_mode)); + gsm48_chan_mode_name(req->ch_mode_rate_list[0].chan_mode), + gsm48_chan_mode_name(req->ch_mode_rate_list[i].chan_mode)); return -EINVAL; } } @@ -431,9 +431,9 @@ /* Check if the currently existing lchan is compatible with the * preferred rate/codec. */ for (i = 0; i < req->n_ch_mode_rate; i++) { - if (!lchan_type_compat_with_mode(conn->lchan->type, &req->ch_mode_rate[i])) + if (!lchan_type_compat_with_mode(conn->lchan->type, &req->ch_mode_rate_list[i])) continue; - conn->lchan->ch_mode_rate = req->ch_mode_rate[i]; + conn->assignment.selected_ch_mode_rate = req->ch_mode_rate_list[i]; return true; } @@ -485,12 +485,12 @@ /* If the requested mode and the current TCH mode matches up, just send the * assignment complete directly and be done with the assignment procedure. */ - if (conn->lchan->tch_mode == conn->lchan->ch_mode_rate.chan_mode) { + if (conn->lchan->current_ch_mode_rate.chan_mode == conn->assignment.selected_ch_mode_rate.chan_mode) { LOG_ASSIGNMENT(conn, LOGL_DEBUG, "Current lchan mode is compatible with requested chan_mode," " sending BSSMAP Assignment Complete directly." " requested chan_mode=%s; current lchan is %s\n", - gsm48_chan_mode_name(conn->lchan->ch_mode_rate.chan_mode), + gsm48_chan_mode_name(conn->assignment.selected_ch_mode_rate.chan_mode), gsm_lchan_name(conn->lchan)); if (req->assign_for == ASSIGN_FOR_BSSMAP_REQ) @@ -509,14 +509,13 @@ LOG_ASSIGNMENT(conn, LOGL_DEBUG, "Current lchan mode is not compatible with requested chan_mode," " so we will modify it. requested chan_mode=%s; current lchan is %s\n", - gsm48_chan_mode_name(conn->lchan->ch_mode_rate.chan_mode), + gsm48_chan_mode_name(conn->assignment.selected_ch_mode_rate.chan_mode), gsm_lchan_name(conn->lchan)); modif_info = (struct lchan_modify_info){ .modify_for = MODIFY_FOR_ASSIGNMENT, - .chan_mode = conn->lchan->ch_mode_rate.chan_mode, + .ch_mode_rate = conn->assignment.selected_ch_mode_rate, .requires_voice_stream = conn->assignment.requires_voice_stream, - .s15_s0 = conn->lchan->ch_mode_rate.s15_s0, .msc_assigned_cic = req->msc_assigned_cic, }; @@ -529,22 +528,23 @@ /* 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[i].chan_mode, req->ch_mode_rate[i].chan_rate); - /* FIXME: at this point there is merely an assignment request with a given ch_mode_rate. Writing this to - * conn->lchan->ch_mode_rate is a violation of scopes: the lchan->* state should only be modified - * *after* the assignment is confirmed to be completed. Before that, this data should live in - * conn->assignment or the lchan_activate_info, the designated places for not-yet-confirmed data. See - * OS#3833 */ - conn->lchan->ch_mode_rate = req->ch_mode_rate[i]; - if (conn->assignment.new_lchan) - break; + 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", + 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; } /* Check whether the lchan allocation was successful or not and tear * down the assignment in case of failure. */ if (!conn->assignment.new_lchan) { assignment_count_result(CTR_ASSIGNMENT_NO_CHANNEL); - switch (req->ch_mode_rate[0].chan_mode) { + switch (req->ch_mode_rate_list[0].chan_mode) { case GSM48_CMODE_SIGN: rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_NO_CHANNEL_SIGN]); break; @@ -559,12 +559,12 @@ assignment_fail(GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE, "BSSMAP Assignment Command:" " No lchan available for: pref=%s:%s / alt1=%s:%s / alt2=%s:%s\n", - gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode), - rate_names[req->ch_mode_rate[0].chan_rate], - req->n_ch_mode_rate > 1 ? gsm48_chan_mode_name(req->ch_mode_rate[1].chan_mode) : "", - req->n_ch_mode_rate > 1 ? rate_names[req->ch_mode_rate[1].chan_rate] : "", - req->n_ch_mode_rate > 2 ? gsm48_chan_mode_name(req->ch_mode_rate[2].chan_mode) : "", - req->n_ch_mode_rate > 2 ? rate_names[req->ch_mode_rate[2].chan_rate] : "" + gsm48_chan_mode_name(req->ch_mode_rate_list[0].chan_mode), + rate_names[req->ch_mode_rate_list[0].chan_rate], + req->n_ch_mode_rate > 1 ? gsm48_chan_mode_name(req->ch_mode_rate_list[1].chan_mode) : "", + req->n_ch_mode_rate > 1 ? rate_names[req->ch_mode_rate_list[1].chan_rate] : "", + req->n_ch_mode_rate > 2 ? gsm48_chan_mode_name(req->ch_mode_rate_list[2].chan_mode) : "", + req->n_ch_mode_rate > 2 ? rate_names[req->ch_mode_rate_list[2].chan_rate] : "" ); return; } @@ -572,8 +572,8 @@ assignment_fsm_update_id(conn); LOG_ASSIGNMENT(conn, LOGL_INFO, "Starting Assignment: chan_mode=%s, chan_type=%s," " aoip=%s MSC-rtp=%s:%u (osmux=%s)\n", - gsm48_chan_mode_name(conn->lchan->ch_mode_rate.chan_mode), - rate_names[conn->lchan->ch_mode_rate.chan_rate], + gsm48_chan_mode_name(conn->assignment.selected_ch_mode_rate.chan_mode), + rate_names[conn->assignment.selected_ch_mode_rate.chan_rate], req->aoip ? "yes" : "no", req->msc_rtp_addr, req->msc_rtp_port, req->use_osmux ? "yes" : "no"); @@ -581,9 +581,8 @@ activ_info = (struct lchan_activate_info){ .activ_for = ACTIVATE_FOR_ASSIGNMENT, .for_conn = conn, - .chan_mode = conn->lchan->ch_mode_rate.chan_mode, + .ch_mode_rate = conn->assignment.selected_ch_mode_rate, .encr = conn->lchan->encr, - .s15_s0 = conn->lchan->ch_mode_rate.s15_s0, .requires_voice_stream = conn->assignment.requires_voice_stream, .msc_assigned_cic = req->msc_assigned_cic, .re_use_mgw_endpoint_from_lchan = conn->lchan, diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index b964dbc..7ede51a 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1624,7 +1624,7 @@ ms_pwr_dbm(lchan->ts->trx->bts->band, lchan->ms_power), VTY_NEWLINE); vty_out(vty, " Channel Mode / Codec: %s%s", - gsm48_chan_mode_name(lchan->tch_mode), + gsm48_chan_mode_name(lchan->current_ch_mode_rate.chan_mode), VTY_NEWLINE); if (lchan->conn && lchan->conn->bsub) { vty_out(vty, " Subscriber:%s", VTY_NEWLINE); @@ -6071,13 +6071,17 @@ if (!strcmp(codec_str, "hr") || !strcmp(codec_str, "fr")) { info = (struct lchan_activate_info) { .activ_for = ACTIVATE_FOR_VTY, - .chan_mode = GSM48_CMODE_SPEECH_V1, + .ch_mode_rate = { + .chan_mode = GSM48_CMODE_SPEECH_V1, + }, .requires_voice_stream = false, }; } else if (!strcmp(codec_str, "efr")) { info = (struct lchan_activate_info) { .activ_for = ACTIVATE_FOR_VTY, - .chan_mode = GSM48_CMODE_SPEECH_EFR, + .ch_mode_rate = { + .chan_mode = GSM48_CMODE_SPEECH_EFR, + }, .requires_voice_stream = false, }; } else if (!strcmp(codec_str, "amr")) { @@ -6087,14 +6091,18 @@ } info = (struct lchan_activate_info) { .activ_for = ACTIVATE_FOR_VTY, - .chan_mode = GSM48_CMODE_SPEECH_AMR, - .s15_s0 = amr_modes[amr_mode], + .ch_mode_rate = { + .chan_mode = GSM48_CMODE_SPEECH_AMR, + .s15_s0 = amr_modes[amr_mode], + }, .requires_voice_stream = false, }; } else if (!strcmp(codec_str, "sig")) { info = (struct lchan_activate_info) { .activ_for = ACTIVATE_FOR_VTY, - .chan_mode = GSM48_CMODE_SIGN, + .ch_mode_rate = { + .chan_mode = GSM48_CMODE_SIGN, + }, .requires_voice_stream = false, }; } else { @@ -6102,6 +6110,8 @@ return CMD_WARNING; } + info.ch_mode_rate.chan_rate = chan_t_to_chan_rate(lchan_t); + vty_out(vty, "%% activating lchan %s as %s%s", gsm_lchan_name(lchan), gsm_chan_t_name(lchan->type), VTY_NEWLINE); lchan_activate(lchan, &info); diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 764af72..8a375cb 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -234,7 +234,7 @@ static void mr_config_for_ms(struct gsm_lchan *lchan, struct msgb *msg) { - if (lchan->tch_mode == GSM48_CMODE_SPEECH_AMR) + if (lchan->current_ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) msgb_tlv_put(msg, GSM48_IE_MUL_RATE_CFG, lchan->mr_ms_lv[0], lchan->mr_ms_lv + 1); } @@ -538,7 +538,7 @@ } /* FIXME: optional bits for type of synchronization? */ - msgb_tv_put(msg, GSM48_IE_CHANMODE_1, new_lchan->tch_mode); + msgb_tv_put(msg, GSM48_IE_CHANMODE_1, new_lchan->current_ch_mode_rate.chan_mode); /* Mobile Allocation (after time), TLV (see 3GPP TS 44.018, 10.5.2.21) */ if (new_lchan->ts->hopping.enabled) { @@ -548,7 +548,7 @@ } /* in case of multi rate we need to attach a config */ - if (new_lchan->tch_mode == GSM48_CMODE_SPEECH_AMR) + if (new_lchan->current_ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) msgb_tlv_put(msg, GSM48_IE_MUL_RATE_CFG, new_lchan->mr_ms_lv[0], new_lchan->mr_ms_lv + 1); @@ -573,7 +573,8 @@ struct gsm48_ass_cmd *ass = (struct gsm48_ass_cmd *) msgb_put(msg, sizeof(*ass)); - DEBUGP(DRR, "-> ASSIGNMENT COMMAND tch_mode=0x%02x\n", new_lchan->tch_mode); + DEBUGP(DRR, "-> ASSIGNMENT COMMAND tch_mode=0x%02x\n", + current_lchan->conn->assignment.selected_ch_mode_rate.chan_mode); msg->lchan = current_lchan; gh->proto_discr = GSM48_PDISC_RR; @@ -599,7 +600,7 @@ si1->cell_channel_description); } - msgb_tv_put(msg, GSM48_IE_CHANMODE_1, new_lchan->tch_mode); + msgb_tv_put(msg, GSM48_IE_CHANMODE_1, current_lchan->conn->assignment.selected_ch_mode_rate.chan_mode); /* Mobile Allocation (freq. hopping), TLV (see 3GPP TS 44.018, 10.5.2.21) */ if (new_lchan->ts->hopping.enabled) { @@ -645,7 +646,6 @@ DEBUGP(DRR, "-> CHANNEL MODE MODIFY mode=0x%02x\n", mode); - lchan->tch_mode = mode; msg->lchan = lchan; gh->proto_discr = GSM48_PDISC_RR; gh->msg_type = GSM48_MT_RR_CHAN_MODE_MODIF; @@ -670,10 +670,10 @@ LOG_LCHAN(msg->lchan, LOGL_DEBUG, "CHANNEL MODE MODIFY ACK for %s\n", gsm48_chan_mode_name(mod->mode)); - if (mod->mode != msg->lchan->tch_mode) { + if (mod->mode != msg->lchan->modify.info.ch_mode_rate.chan_mode) { LOG_LCHAN(msg->lchan, LOGL_ERROR, "CHANNEL MODE MODIFY ACK has wrong mode: Wanted: %s Got: %s\n", - gsm48_chan_mode_name(msg->lchan->tch_mode), + gsm48_chan_mode_name(msg->lchan->modify.info.ch_mode_rate.chan_mode), gsm48_chan_mode_name(mod->mode)); return -1; } diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 781db7c..a371064 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -685,6 +685,22 @@ } } +enum channel_rate chan_t_to_chan_rate(enum gsm_chan_t chan_t) +{ + switch (chan_t) { + case GSM_LCHAN_SDCCH: + return CH_RATE_SDCCH; + case GSM_LCHAN_TCH_F: + return CH_RATE_FULL; + case GSM_LCHAN_TCH_H: + return CH_RATE_HALF; + default: + /* For other channel types, the channel_rate value is never used. It is fine to return an invalid value, + * and callers don't actually need to check for this. */ + return -1; + } +} + /* Can the timeslot in principle be used as this PCHAN kind? */ bool ts_is_capable_of_pchan(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config pchan) { diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 3326c0b..5b7d4b1 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -52,7 +52,7 @@ lchan->ts->nr, \ lchan->nr, \ gsm_lchant_name(lchan->type), \ - gsm48_chan_mode_name(lchan->tch_mode), \ + gsm48_chan_mode_name(lchan->current_ch_mode_rate.chan_mode), \ bsc_subscr_name(lchan->conn? lchan->conn->bsub : NULL), \ ## args) @@ -63,7 +63,7 @@ lchan->ts->nr, \ lchan->nr, \ gsm_lchant_name(lchan->type), \ - gsm48_chan_mode_name(lchan->tch_mode), \ + gsm48_chan_mode_name(lchan->current_ch_mode_rate.chan_mode), \ new_bts->nr, \ bsc_subscr_name(lchan->conn? lchan->conn->bsub : NULL), \ ## args) @@ -75,7 +75,7 @@ lchan->ts->nr, \ lchan->nr, \ gsm_lchant_name(lchan->type), \ - gsm48_chan_mode_name(lchan->tch_mode), \ + gsm48_chan_mode_name(lchan->current_ch_mode_rate.chan_mode), \ gsm0808_cell_id_list_name(remote_cil), \ bsc_subscr_name(lchan->conn? lchan->conn->bsub : NULL), \ ## args) @@ -478,7 +478,7 @@ /* compatibility check for codecs. * if so, the candidates for full rate and half rate are selected */ - switch (c->current.lchan->tch_mode) { + switch (c->current.lchan->current_ch_mode_rate.chan_mode) { case GSM48_CMODE_SPEECH_V1: switch (c->current.lchan->type) { case GSM_LCHAN_TCH_F: /* mandatory */ @@ -489,7 +489,7 @@ LOGPHOLCHANTOBTS(c->current.lchan, c->target.bts, LOGL_DEBUG, "tch_mode='%s' type='%s' not supported\n", get_value_string(gsm48_chan_mode_names, - c->current.lchan->tch_mode), + c->current.lchan->current_ch_mode_rate.chan_mode), gsm_lchant_name(c->current.lchan->type)); break; } @@ -498,7 +498,8 @@ break; default: LOGPHOLCHAN(c->current.lchan, LOGL_ERROR, "Unexpected channel type: neither TCH/F nor TCH/H for %s\n", - get_value_string(gsm48_chan_mode_names, c->current.lchan->tch_mode)); + get_value_string(gsm48_chan_mode_names, + c->current.lchan->current_ch_mode_rate.chan_mode)); return; } break; @@ -757,7 +758,7 @@ /* compatibility check for codecs -- we have no notion of what the remote BSS supports. We can * only assume that a handover would work, and use only the local requirements. */ - switch (c->current.lchan->tch_mode) { + switch (c->current.lchan->current_ch_mode_rate.chan_mode) { case GSM48_CMODE_SPEECH_V1: switch (c->current.lchan->type) { case GSM_LCHAN_TCH_F: /* mandatory */ @@ -769,7 +770,8 @@ break; default: LOGPHOLCHAN(c->current.lchan, LOGL_ERROR, "Unexpected channel type: neither TCH/F nor TCH/H for %s\n", - get_value_string(gsm48_chan_mode_names, c->current.lchan->tch_mode)); + get_value_string(gsm48_chan_mode_names, + c->current.lchan->current_ch_mode_rate.chan_mode)); return; } break; @@ -815,7 +817,7 @@ bool full_rate = false; /* afs_bias becomes > 0, if AFS is used and is improved */ - if (c->current.lchan->tch_mode == GSM48_CMODE_SPEECH_AMR) + if (c->current.lchan->current_ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) afs_bias = ho_get_hodec2_afs_bias_rxlev(c->target.bts->ho); /* select TCH rate, prefer TCH/F if AFS is improved */ @@ -1243,7 +1245,7 @@ static int find_alternative_lchan(struct gsm_lchan *lchan, bool include_weaker_rxlev) { struct gsm_bts *bts = lchan->ts->trx->bts; - int ahs = (lchan->tch_mode == GSM48_CMODE_SPEECH_AMR + int ahs = (lchan->current_ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR && lchan->type == GSM_LCHAN_TCH_H); int rxlev_current; struct ho_candidate clist[1 + ARRAY_SIZE(lchan->neigh_meas)]; @@ -1451,7 +1453,7 @@ /* improve levels in case of AFS, if defined */ if (lchan->type == GSM_LCHAN_TCH_F - && lchan->tch_mode == GSM48_CMODE_SPEECH_AMR) { + && lchan->current_ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { int av_rxlev_was = av_rxlev; int av_rxqual_was = av_rxqual; int rxlev_bias = ho_get_hodec2_afs_bias_rxlev(bts->ho); diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 0b5a8be..b7658c5 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -61,7 +61,7 @@ lchan ? lchan->ts->nr : 0, \ lchan ? gsm_lchant_name(lchan->type) : "?", \ lchan ? lchan->nr : 0, \ - lchan ? gsm48_chan_mode_name(lchan->tch_mode) : "?" + lchan ? gsm48_chan_mode_name(lchan->current_ch_mode_rate.chan_mode) : "?" #define LOG_FMT_TO_LCHAN "%u-%u-%u-%s%s%s-%u" #define LOG_ARGS_TO_LCHAN(lchan) \ @@ -398,14 +398,14 @@ info = (struct lchan_activate_info){ .activ_for = ACTIVATE_FOR_HANDOVER, .for_conn = conn, - .chan_mode = conn->lchan->tch_mode, + .ch_mode_rate = conn->lchan->current_ch_mode_rate, .encr = conn->lchan->encr, .requires_voice_stream = conn->lchan->mgw_endpoint_ci_bts ? true : false, .msc_assigned_cic = conn->ho.inter_bsc_in.msc_assigned_cic, .re_use_mgw_endpoint_from_lchan = conn->lchan, .wait_before_switching_rtp = true, - .s15_s0 = conn->lchan->activate.info.s15_s0, }; + info.ch_mode_rate.chan_rate = chan_t_to_chan_rate(ho->new_lchan->type); /* For intra-cell handover, we know the accurate Timing Advance from the previous lchan. For inter-cell * handover, no Timing Advance for the new cell is known, so leave it unset. */ @@ -696,8 +696,7 @@ info = (struct lchan_activate_info){ .activ_for = ACTIVATE_FOR_HANDOVER, .for_conn = conn, - .chan_mode = ch_mode_rate.chan_mode, - .s15_s0 = ch_mode_rate.s15_s0, + .ch_mode_rate = ch_mode_rate, .requires_voice_stream = chan_mode_is_tch(ch_mode_rate.chan_mode), .msc_assigned_cic = req->msc_assigned_cic, }; @@ -849,7 +848,7 @@ }; /* Chosen Channel 3.2.2.33 */ - ho_perf_params.chosen_channel = gsm0808_chosen_channel(lchan->type, lchan->tch_mode); + ho_perf_params.chosen_channel = gsm0808_chosen_channel(lchan->type, lchan->current_ch_mode_rate.chan_mode); if (!ho_perf_params.chosen_channel) { LOG_HO(conn, LOGL_ERROR, "Failed to generate Chosen Channel IE, can't send HANDOVER PERFORMED!\n"); return; @@ -862,14 +861,15 @@ if (ho->new_lchan->activate.info.requires_voice_stream) { /* Speech Version (chosen) 3.2.2.51 */ - ho_perf_params.speech_version_chosen = gsm0808_permitted_speech(lchan->type, lchan->tch_mode); + ho_perf_params.speech_version_chosen = gsm0808_permitted_speech(lchan->type, + lchan->current_ch_mode_rate.chan_mode); ho_perf_params.speech_version_chosen_present = true; /* Speech Codec (chosen) 3.2.2.104 */ if (gscon_is_aoip(conn)) { /* Extrapolate speech codec from speech mode */ gsm0808_speech_codec_from_chan_type(&sc, ho_perf_params.speech_version_chosen); - sc.cfg = conn->lchan->ch_mode_rate.s15_s0; + sc.cfg = conn->lchan->current_ch_mode_rate.s15_s0; memcpy(&ho_perf_params.speech_codec_chosen, &sc, sizeof(sc)); ho_perf_params.speech_codec_chosen_present = true; } diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 1735346..6144ccf 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -569,6 +569,8 @@ /* Proceed with the generation of the multirate configuration IE * (MS and BTS) */ + /* FIXME: this actually modifies the lchan->mr_ms_lv and ->mr_bts_lv before an ACK for these AMR bits has been + * received. Until an ACK is received, all state should live in lchan->activate.* or lchan->modify.* ONLY. */ rc = gsm48_multirate_config(lchan->mr_ms_lv, &mr_conf_filtered, mr->ms_mode, mr->num_modes); if (rc != 0) { LOG_LCHAN(lchan, LOGL_ERROR, "can not encode multirate configuration (MS)\n"); @@ -580,7 +582,6 @@ return -EINVAL; } - lchan->s15_s0 = s15_s0; return 0; } @@ -645,30 +646,28 @@ lchan->bs_power = bts->bs_power_ctrl.bs_power_val_db / 2; } - if (info->chan_mode == GSM48_CMODE_SPEECH_AMR) { - if (lchan_mr_config(lchan, info->s15_s0) < 0) { + if (info->ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + if (lchan_mr_config(lchan, info->ch_mode_rate.s15_s0) < 0) { lchan_fail("Can not generate multirate configuration IE\n"); return; } } - switch (info->chan_mode) { + switch (info->ch_mode_rate.chan_mode) { case GSM48_CMODE_SIGN: lchan->rsl_cmode = RSL_CMOD_SPD_SIGN; - lchan->tch_mode = GSM48_CMODE_SIGN; break; case GSM48_CMODE_SPEECH_V1: case GSM48_CMODE_SPEECH_EFR: case GSM48_CMODE_SPEECH_AMR: lchan->rsl_cmode = RSL_CMOD_SPD_SPEECH; - lchan->tch_mode = info->chan_mode; break; default: lchan_fail("Not implemented: cannot activate for chan mode %s", - gsm48_chan_mode_name(info->chan_mode)); + gsm48_chan_mode_name(info->ch_mode_rate.chan_mode)); return; } @@ -682,7 +681,7 @@ (use_mgwep_ci ? osmo_mgcpc_ep_ci_name(use_mgwep_ci) : "new") : "none", gsm_lchant_name(lchan->type), - gsm48_chan_mode_name(lchan->tch_mode), + gsm48_chan_mode_name(lchan->activate.info.ch_mode_rate.chan_mode), (lchan->activate.info.encr.alg_id ? : 1)-1, lchan->activate.info.encr.key_len ? osmo_hexdump_nospc(lchan->activate.info.encr.key, lchan->activate.info.encr.key_len) : "none"); @@ -822,6 +821,11 @@ { int rc; struct gsm_lchan *lchan = lchan_fi_lchan(fi); + + lchan->current_ch_mode_rate = lchan->activate.info.ch_mode_rate; + LOG_LCHAN(lchan, LOGL_INFO, "Rx Activ ACK %s\n", + gsm48_chan_mode_name(lchan->current_ch_mode_rate.chan_mode)); + if (lchan->release.requested) { lchan_fail_to(LCHAN_ST_WAIT_RF_RELEASE_ACK, "Release requested while activating"); return; @@ -948,7 +952,7 @@ static void lchan_fsm_wait_rr_chan_mode_modify_ack_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) { struct gsm_lchan *lchan = lchan_fi_lchan(fi); - gsm48_lchan_modify(lchan, lchan->modify.info.chan_mode); + gsm48_lchan_modify(lchan, lchan->modify.info.ch_mode_rate.chan_mode); } static void lchan_fsm_wait_rr_chan_mode_modify_ack(struct osmo_fsm_inst *fi, uint32_t event, void *data) @@ -989,8 +993,7 @@ case LCHAN_EV_RSL_CHAN_MODE_MODIFY_ACK: /* The Channel Mode Modify was ACKed, now the requested values become the accepted and used values. */ - lchan->tch_mode = lchan->modify.info.chan_mode; - lchan->s15_s0 = lchan->modify.info.s15_s0; + lchan->current_ch_mode_rate = lchan->modify.info.ch_mode_rate; if (lchan->modify.info.requires_voice_stream && !lchan->fi_rtp) { @@ -999,7 +1002,7 @@ lchan->activate.info = (struct lchan_activate_info){ .activ_for = ACTIVATE_FOR_MODE_MODIFY_RTP, .for_conn = lchan->conn, - .s15_s0 = lchan->modify.info.s15_s0, + .ch_mode_rate = lchan->modify.info.ch_mode_rate, .requires_voice_stream = true, .msc_assigned_cic = lchan->modify.info.msc_assigned_cic, }; @@ -1142,8 +1145,8 @@ use_mgwep_ci = lchan_use_mgw_endpoint_ci_bts(lchan); - if (modif_info->chan_mode == GSM48_CMODE_SPEECH_AMR) { - if (lchan_mr_config(lchan, modif_info->s15_s0) < 0) { + if (modif_info->ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + if (lchan_mr_config(lchan, modif_info->ch_mode_rate.s15_s0) < 0) { lchan_fail("Can not generate multirate configuration IE\n"); return; } @@ -1157,7 +1160,7 @@ (use_mgwep_ci ? osmo_mgcpc_ep_ci_name(use_mgwep_ci) : "new") : "none", gsm_lchant_name(lchan->type), - gsm48_chan_mode_name(lchan->tch_mode)); + gsm48_chan_mode_name(lchan->modify.info.ch_mode_rate.chan_mode)); lchan_fsm_state_chg(LCHAN_ST_WAIT_RR_CHAN_MODE_MODIFY_ACK); return; diff --git a/src/osmo-bsc/lchan_rtp_fsm.c b/src/osmo-bsc/lchan_rtp_fsm.c index 8991acc..366bd1b 100644 --- a/src/osmo-bsc/lchan_rtp_fsm.c +++ b/src/osmo-bsc/lchan_rtp_fsm.c @@ -268,19 +268,19 @@ return; } - val = ipacc_speech_mode(lchan->tch_mode, lchan->type); + val = ipacc_speech_mode(lchan->activate.info.ch_mode_rate.chan_mode, lchan->type); if (val < 0) { lchan_rtp_fail("Cannot determine Abis/IP speech mode for tch_mode=%s type=%s\n", - get_value_string(gsm48_chan_mode_names, lchan->tch_mode), + get_value_string(gsm48_chan_mode_names, lchan->activate.info.ch_mode_rate.chan_mode), gsm_lchant_name(lchan->type)); return; } lchan->abis_ip.speech_mode = val; - val = ipacc_payload_type(lchan->tch_mode, lchan->type); + val = ipacc_payload_type(lchan->activate.info.ch_mode_rate.chan_mode, lchan->type); if (val < 0) { lchan_rtp_fail("Cannot determine Abis/IP payload type for tch_mode=%s type=%s\n", - get_value_string(gsm48_chan_mode_names, lchan->tch_mode), + get_value_string(gsm48_chan_mode_names, lchan->activate.info.ch_mode_rate.chan_mode), gsm_lchant_name(lchan->type)); return; } @@ -834,14 +834,14 @@ void mgcp_pick_codec(struct mgcp_conn_peer *verb_info, const struct gsm_lchan *lchan, bool bss_side) { - enum mgcp_codecs codec = chan_mode_to_mgcp_codec(lchan->tch_mode, + enum mgcp_codecs codec = chan_mode_to_mgcp_codec(lchan->activate.info.ch_mode_rate.chan_mode, lchan->type == GSM_LCHAN_TCH_H? false : true); int custom_pt; if (codec < 0) { LOG_LCHAN(lchan, LOGL_ERROR, "Unable to determine MGCP codec type for %s in chan-mode %s\n", - gsm_lchant_name(lchan->type), gsm48_chan_mode_name(lchan->tch_mode)); + gsm_lchant_name(lchan->type), gsm48_chan_mode_name(lchan->activate.info.ch_mode_rate.chan_mode)); verb_info->codecs_len = 0; return; } diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index fff5fbb..239c2ca 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -679,12 +679,12 @@ switch (ct->ch_rate_type) { case GSM0808_SPEECH_FULL_BM: - rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, + rc = match_codec_pref(&req->ch_mode_rate_list[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_FR); nc += (rc == 0) ? 1 : 0; break; case GSM0808_SPEECH_HALF_LM: - rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, + rc = match_codec_pref(&req->ch_mode_rate_list[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_HR); nc += (rc == 0) ? 1 : 0; break; @@ -692,19 +692,19 @@ case GSM0808_SPEECH_PERM_NO_CHANGE: case GSM0808_SPEECH_FULL_PREF_NO_CHANGE: case GSM0808_SPEECH_FULL_PREF: - rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, + rc = match_codec_pref(&req->ch_mode_rate_list[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_FR); nc += (rc == 0) ? 1 : 0; - rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, + rc = match_codec_pref(&req->ch_mode_rate_list[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_HR); nc += (rc == 0) ? 1 : 0; break; case GSM0808_SPEECH_HALF_PREF_NO_CHANGE: case GSM0808_SPEECH_HALF_PREF: - rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, + rc = match_codec_pref(&req->ch_mode_rate_list[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_HR); nc += (rc == 0) ? 1 : 0; - rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, + rc = match_codec_pref(&req->ch_mode_rate_list[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_FR); nc += (rc == 0) ? 1 : 0; break; @@ -726,8 +726,8 @@ DEBUGP(DMSC, "Found matching audio type (pref=%d): %s %s for channel_type =" " { ch_indctr=0x%x, ch_rate_type=0x%x, perm_spch=[ %s] }\n", i, - req->ch_mode_rate[i].chan_rate == CH_RATE_FULL ? "full rate" : "half rate", - get_value_string(gsm48_chan_mode_names, req->ch_mode_rate[i].chan_mode), + req->ch_mode_rate_list[i].chan_rate == CH_RATE_FULL ? "full rate" : "half rate", + get_value_string(gsm48_chan_mode_names, req->ch_mode_rate_list[i].chan_mode), ct->ch_indctr, ct->ch_rate_type, osmo_hexdump(ct->perm_spch, ct->perm_spch_len)); } @@ -742,43 +742,43 @@ switch (ct->ch_rate_type) { case GSM0808_SIGN_ANY: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_SDCCH; - req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; - req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_SDCCH; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_HALF; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_FULL; break; case GSM0808_SIGN_SDCCH: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_SDCCH; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_SDCCH; break; case GSM0808_SIGN_SDCCH_FULL_BM: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_SDCCH; - req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_SDCCH; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_FULL; break; case GSM0808_SIGN_SDCCH_HALF_LM: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_SDCCH; - req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_SDCCH; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_HALF; break; case GSM0808_SIGN_FULL_BM: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_FULL; break; case GSM0808_SIGN_HALF_LM: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_HALF; break; case GSM0808_SIGN_FULL_PREF: case GSM0808_SIGN_FULL_PREF_NO_CHANGE: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; - req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_FULL; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_HALF; break; case GSM0808_SIGN_HALF_PREF: case GSM0808_SIGN_HALF_PREF_NO_CHANGE: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; - req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_HALF; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_FULL; break; default: break; } for (i = 0; i < nc; i++) - req->ch_mode_rate[i].chan_mode = GSM48_CMODE_SIGN; + req->ch_mode_rate_list[i].chan_mode = GSM48_CMODE_SIGN; req->n_ch_mode_rate = nc; @@ -1379,7 +1379,7 @@ case GSM_LCHAN_TCH_H: params.speech_version_used_present = true; params.speech_version_used = gsm0808_permitted_speech(lchan->type, - lchan->tch_mode); + lchan->current_ch_mode_rate.chan_mode); if (!params.speech_version_used) { LOG_HO(lchan->conn, LOGL_ERROR, "Cannot encode Speech Version (Used)" " for BSSMAP Handover Required message\n"); @@ -1417,9 +1417,10 @@ .l3_info = rr_ho_command->data, .l3_info_len = rr_ho_command->len, .chosen_channel_present = true, - .chosen_channel = gsm0808_chosen_channel(new_lchan->type, new_lchan->tch_mode), + .chosen_channel = gsm0808_chosen_channel(new_lchan->type, new_lchan->current_ch_mode_rate.chan_mode), .chosen_encr_alg = new_lchan->encr.alg_id, - .chosen_speech_version = gsm0808_permitted_speech(new_lchan->type, new_lchan->tch_mode), + .chosen_speech_version = gsm0808_permitted_speech(new_lchan->type, + new_lchan->current_ch_mode_rate.chan_mode), }; if (gscon_is_aoip(conn)) { @@ -1475,7 +1476,7 @@ .chosen_encr_alg = lchan->encr.alg_id, .chosen_channel_present = true, - .chosen_channel = gsm0808_chosen_channel(lchan->type, lchan->tch_mode), + .chosen_channel = gsm0808_chosen_channel(lchan->type, lchan->current_ch_mode_rate.chan_mode), .lcls_bss_status_present = (lcls_status != 0xff), .lcls_bss_status = lcls_status, @@ -1483,7 +1484,7 @@ /* speech_codec_chosen */ if (ho->new_lchan->activate.info.requires_voice_stream && gscon_is_aoip(conn)) { - int perm_spch = gsm0808_permitted_speech(lchan->type, lchan->tch_mode); + int perm_spch = gsm0808_permitted_speech(lchan->type, lchan->current_ch_mode_rate.chan_mode); params.speech_codec_chosen_present = true; rc = gsm0808_speech_codec_from_chan_type(¶ms.speech_codec_chosen, perm_spch); if (rc) { diff --git a/src/osmo-bsc/osmo_bsc_lcls.c b/src/osmo-bsc/osmo_bsc_lcls.c index 4ab0441..2c90d01 100644 --- a/src/osmo-bsc/osmo_bsc_lcls.c +++ b/src/osmo-bsc/osmo_bsc_lcls.c @@ -345,15 +345,14 @@ return false; } - if (conn->lchan->tch_mode != conn->lcls.other->lchan->tch_mode + if (conn->lchan->current_ch_mode_rate.chan_mode != conn->lcls.other->lchan->current_ch_mode_rate.chan_mode && conn->sccp.msc->lcls_codec_mismatch_allow == false) { LOGPFSM(conn->lcls.fi, "Not enabling LS due to TCH-mode mismatch: %s:%s != %s:%s\n", gsm_lchan_name(conn->lchan), - gsm48_chan_mode_name(conn->lchan->tch_mode), + gsm48_chan_mode_name(conn->lchan->current_ch_mode_rate.chan_mode), gsm_lchan_name(conn->lcls.other->lchan), - gsm48_chan_mode_name(conn->lcls.other->lchan-> - tch_mode)); + gsm48_chan_mode_name(conn->lcls.other->lchan->current_ch_mode_rate.chan_mode)); return false; } diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 2b8e877..c16b26d 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -397,14 +397,14 @@ create_conn(lchan); if (!strcasecmp(codec, "FR") && full_rate) - lchan->tch_mode = GSM48_CMODE_SPEECH_V1; + lchan->current_ch_mode_rate.chan_mode = GSM48_CMODE_SPEECH_V1; else if (!strcasecmp(codec, "HR") && !full_rate) - lchan->tch_mode = GSM48_CMODE_SPEECH_V1; + lchan->current_ch_mode_rate.chan_mode = GSM48_CMODE_SPEECH_V1; else if (!strcasecmp(codec, "EFR") && full_rate) - lchan->tch_mode = GSM48_CMODE_SPEECH_EFR; + lchan->current_ch_mode_rate.chan_mode = GSM48_CMODE_SPEECH_EFR; else if (!strcasecmp(codec, "AMR")) { - lchan->tch_mode = GSM48_CMODE_SPEECH_AMR; - lchan->activate.info.s15_s0 = 0x0002; + lchan->current_ch_mode_rate.chan_mode = GSM48_CMODE_SPEECH_AMR; + lchan->current_ch_mode_rate.s15_s0 = 0x0002; } else { fprintf(stderr, "Given codec unknown\n"); exit(EXIT_FAILURE); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie0da36124d73efc28a8809b63d7c96e2167fc412 Gerrit-Change-Number: 24352 Gerrit-PatchSet: 5 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 Tue Jun 1 17:29:35 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 17:29:35 +0000 Subject: Change in osmo-bsc[master]: remove special case from assignment_count_result() In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24353 ) Change subject: remove special case from assignment_count_result() ...................................................................... remove special case from assignment_count_result() The single place that calls this special case is now actually doing the exact same thing as the general case, and this is merely code dup. Related: SYS#5315 OS#4940 Change-Id: Ic62e8a48d3c88a1966086240a41732d169328491 --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 13 insertions(+), 27 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, approved diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index aeb9a24..f294473 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -84,19 +84,17 @@ rate_ctr_inc(&conn->network->bsc_ctrs->ctr[BSC_##counter]); \ if (bts) { \ rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_##counter]); \ - if (BTS_##counter != BTS_CTR_ASSIGNMENT_NO_CHANNEL) { \ - switch (conn->assignment.req.ch_mode_rate_list[0].chan_mode) { \ - case GSM48_CMODE_SIGN: \ - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_##counter##_SIGN]); \ - break; \ - case GSM48_CMODE_SPEECH_V1: \ - case GSM48_CMODE_SPEECH_EFR: \ - case GSM48_CMODE_SPEECH_AMR: \ - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_##counter##_SPEECH]); \ - break; \ - default: \ - break; \ - } \ + switch (conn->assignment.req.ch_mode_rate_list[0].chan_mode) { \ + case GSM48_CMODE_SIGN: \ + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_##counter##_SIGN]); \ + break; \ + case GSM48_CMODE_SPEECH_V1: \ + case GSM48_CMODE_SPEECH_EFR: \ + case GSM48_CMODE_SPEECH_AMR: \ + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_##counter##_SPEECH]); \ + break; \ + default: \ + break; \ } \ } \ } while(0) @@ -458,8 +456,6 @@ OSMO_ASSERT(!conn->assignment.fi); OSMO_ASSERT(!conn->assignment.new_lchan); - assignment_count(CTR_ASSIGNMENT_ATTEMPTED); - fi = osmo_fsm_inst_alloc_child(&assignment_fsm, conn->fi, GSCON_EV_ASSIGNMENT_END); OSMO_ASSERT(fi); conn->assignment.fi = fi; @@ -469,6 +465,8 @@ conn->assignment.req = *req; req = &conn->assignment.req; + assignment_count(CTR_ASSIGNMENT_ATTEMPTED); + /* Check if we need a voice stream. If yes, set the appropriate struct * members in conn */ if (check_requires_voice_stream(conn) < 0) @@ -544,18 +542,6 @@ * down the assignment in case of failure. */ if (!conn->assignment.new_lchan) { assignment_count_result(CTR_ASSIGNMENT_NO_CHANNEL); - switch (req->ch_mode_rate_list[0].chan_mode) { - case GSM48_CMODE_SIGN: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_NO_CHANNEL_SIGN]); - break; - case GSM48_CMODE_SPEECH_V1: - case GSM48_CMODE_SPEECH_EFR: - case GSM48_CMODE_SPEECH_AMR: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_NO_CHANNEL_SPEECH]); - break; - default: - break; - } assignment_fail(GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE, "BSSMAP Assignment Command:" " No lchan available for: pref=%s:%s / alt1=%s:%s / alt2=%s:%s\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic62e8a48d3c88a1966086240a41732d169328491 Gerrit-Change-Number: 24353 Gerrit-PatchSet: 5 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 Tue Jun 1 17:29:36 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 17:29:36 +0000 Subject: Change in osmo-bsc[master]: eliminate lchan->rsl_cmode In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24354 ) Change subject: eliminate lchan->rsl_cmode ...................................................................... eliminate lchan->rsl_cmode Related: SYS#5315 OS#4940 Change-Id: I1c167b22bb6638a929488d093bde0f1a5fb227ad --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lchan_fsm.c 5 files changed, 26 insertions(+), 43 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/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 68c3074..ce47792 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -668,7 +668,6 @@ /* The logical channel type */ enum gsm_chan_t type; /* RSL channel mode */ - enum rsl_cmod_spd rsl_cmode; enum lchan_csd_mode csd_mode; /* Power levels for MS and BTS */ uint8_t bs_power; @@ -1390,4 +1389,6 @@ extern const struct gsm_power_ctrl_params power_ctrl_params_def; +enum rsl_cmod_spd chan_mode_to_rsl_cmod_spd(enum gsm48_chan_mode chan_mode); + #endif /* _GSM_DATA_H */ diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 1aaebe3..9aced8b 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -364,12 +364,11 @@ cm->dtx_dtu |= RSL_CMOD_DTXd; /* set TCH Speech/Data */ - cm->spd_ind = lchan->rsl_cmode; - - if (lchan->rsl_cmode == RSL_CMOD_SPD_SIGN && - ch_mode_rate->chan_mode != GSM48_CMODE_SIGN) - LOGP(DRSL, LOGL_ERROR, "unsupported: rsl_mode == signalling, " - "but tch_mode != signalling\n"); + cm->spd_ind = chan_mode_to_rsl_cmod_spd(ch_mode_rate->chan_mode); + if (cm->spd_ind < 0) { + LOGP(DRSL, LOGL_ERROR, "unsupported: chan_mode = 0x%02x\n", ch_mode_rate->chan_mode); + return cm->spd_ind; + } switch (lchan->type) { case GSM_LCHAN_SDCCH: diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 8a375cb..bcc61a5 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -678,24 +678,6 @@ return -1; } - /* update the channel type */ - switch (mod->mode) { - case GSM48_CMODE_SIGN: - msg->lchan->rsl_cmode = RSL_CMOD_SPD_SIGN; - break; - case GSM48_CMODE_SPEECH_V1: - case GSM48_CMODE_SPEECH_EFR: - case GSM48_CMODE_SPEECH_AMR: - msg->lchan->rsl_cmode = RSL_CMOD_SPD_SPEECH; - break; - case GSM48_CMODE_DATA_14k5: - case GSM48_CMODE_DATA_12k0: - case GSM48_CMODE_DATA_6k0: - case GSM48_CMODE_DATA_3k6: - msg->lchan->rsl_cmode = RSL_CMOD_SPD_DATA; - break; - } - return 0; } diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index a371064..09fb64f 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -1059,3 +1059,22 @@ .h_reqt = 6, /* TODO: investigate a reasonable default value */ }, }; + +enum rsl_cmod_spd chan_mode_to_rsl_cmod_spd(enum gsm48_chan_mode chan_mode) +{ + switch (chan_mode) { + case GSM48_CMODE_SIGN: + return RSL_CMOD_SPD_SIGN; + case GSM48_CMODE_SPEECH_V1: + case GSM48_CMODE_SPEECH_EFR: + case GSM48_CMODE_SPEECH_AMR: + return RSL_CMOD_SPD_SPEECH; + case GSM48_CMODE_DATA_14k5: + case GSM48_CMODE_DATA_12k0: + case GSM48_CMODE_DATA_6k0: + case GSM48_CMODE_DATA_3k6: + return RSL_CMOD_SPD_DATA; + default: + return -EINVAL; + } +} diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 6144ccf..d648202 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -653,24 +653,6 @@ } } - switch (info->ch_mode_rate.chan_mode) { - - case GSM48_CMODE_SIGN: - lchan->rsl_cmode = RSL_CMOD_SPD_SIGN; - break; - - case GSM48_CMODE_SPEECH_V1: - case GSM48_CMODE_SPEECH_EFR: - case GSM48_CMODE_SPEECH_AMR: - lchan->rsl_cmode = RSL_CMOD_SPD_SPEECH; - break; - - default: - lchan_fail("Not implemented: cannot activate for chan mode %s", - gsm48_chan_mode_name(info->ch_mode_rate.chan_mode)); - return; - } - use_mgwep_ci = lchan_use_mgw_endpoint_ci_bts(lchan); LOG_LCHAN(lchan, LOGL_INFO, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1c167b22bb6638a929488d093bde0f1a5fb227ad Gerrit-Change-Number: 24354 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 Tue Jun 1 17:29:37 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 17:29:37 +0000 Subject: Change in osmo-bsc[master]: move lchan->csd_mode into channel_mode_and_rate In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24355 ) Change subject: move lchan->csd_mode into channel_mode_and_rate ...................................................................... move lchan->csd_mode into channel_mode_and_rate The GSM48_CMODE_DATA_* rates are completely unused in OsmoBSC anyway, but there is some code in abis_rsl.c checking its value, and if we were to start using it that is the place where it should be. Related: SYS#5315 OS#4940 OS#3787 OS#3833 Change-Id: Ie0e065a5dca5f4a31d5d81e3528a539214a74170 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c 2 files changed, 16 insertions(+), 18 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, approved diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index ce47792..04d5e52 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -107,10 +107,24 @@ enum channel_rate chan_t_to_chan_rate(enum gsm_chan_t chan_t); +enum lchan_csd_mode { + LCHAN_CSD_M_NT, + LCHAN_CSD_M_T_1200_75, + LCHAN_CSD_M_T_600, + LCHAN_CSD_M_T_1200, + LCHAN_CSD_M_T_2400, + LCHAN_CSD_M_T_9600, + LCHAN_CSD_M_T_14400, + LCHAN_CSD_M_T_29000, + LCHAN_CSD_M_T_32000, +}; + struct channel_mode_and_rate { enum gsm48_chan_mode chan_mode; enum channel_rate chan_rate; uint16_t s15_s0; + /* only used for GSM48_CMODE_DATA_* */ + enum lchan_csd_mode csd_mode; }; enum assign_for { @@ -499,18 +513,6 @@ }; /* /BTS ONLY */ -enum lchan_csd_mode { - LCHAN_CSD_M_NT, - LCHAN_CSD_M_T_1200_75, - LCHAN_CSD_M_T_600, - LCHAN_CSD_M_T_1200, - LCHAN_CSD_M_T_2400, - LCHAN_CSD_M_T_9600, - LCHAN_CSD_M_T_14400, - LCHAN_CSD_M_T_29000, - LCHAN_CSD_M_T_32000, -}; - /* State of the SAPIs in the lchan */ enum lchan_sapi_state { LCHAN_SAPI_S_NONE, @@ -667,8 +669,6 @@ /* The logical channel type */ enum gsm_chan_t type; - /* RSL channel mode */ - enum lchan_csd_mode csd_mode; /* Power levels for MS and BTS */ uint8_t bs_power; uint8_t ms_power; diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 9aced8b..ecc7329 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -405,7 +405,7 @@ case GSM48_CMODE_DATA_14k5: case GSM48_CMODE_DATA_12k0: case GSM48_CMODE_DATA_6k0: - switch (lchan->csd_mode) { + switch (ch_mode_rate->csd_mode) { case LCHAN_CSD_M_NT: /* non-transparent CSD with RLP */ switch (ch_mode_rate->chan_mode) { @@ -451,9 +451,7 @@ cm->chan_rate = RSL_CMOD_CSD_T_32000; break; default: - LOGP(DRSL, LOGL_ERROR, - "unsupported lchan->csd_mode %u\n", - lchan->csd_mode); + LOGP(DRSL, LOGL_ERROR, "unsupported csd_mode %u\n", ch_mode_rate->csd_mode); return -EINVAL; } break; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie0e065a5dca5f4a31d5d81e3528a539214a74170 Gerrit-Change-Number: 24355 Gerrit-PatchSet: 5 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 Tue Jun 1 17:29:38 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 17:29:38 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 1: split lchan_mr_config() In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24356 ) Change subject: AMR config cleanup step 1: split lchan_mr_config() ...................................................................... AMR config cleanup step 1: split lchan_mr_config() Split off two function from lchan_mr_config() which do not directly manipulate struct gsm_lchan members. This allows subsequent patches to re-use mr_config_filter() for Channel Mode Modify without depending on lchan->activate.info; allows to filter AMR modes without modifying the state of an already active lchan before sending a Channel Activation or Channel Mode Modify; and allows to move mr_config_render_lv() to gsm_04_08_rr.c so that the mr_ms_lv and mr_bts_lv no longer need to be stored in struct gsm_lchan -- they essentially duplicate s15_s0. Rationale: This is a follow-up for the AMR configuration in the sense that previous patch Ie0da36124d73efc28a8809b63d7c96e2167fc412 started for channel mode and rate, and the s15_s0 bits: The AMR mode filtering directly manipulates struct gsm_lchan members and takes parameters from lchan->activate.info. This makes it hard to separate lchan activation from the Channel Mode Modify procedure. Related: SYS#5315 OS#4940 OS#3787 OS#3833 Change-Id: Iebac2dc26412d877e5364f90d6f2ed7a7952351e --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 85 insertions(+), 73 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index d648202..4aac6da 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -484,103 +484,115 @@ } /* Configure the multirate setting on this channel. */ -static int lchan_mr_config(struct gsm_lchan *lchan, uint16_t s15_s0) +static int mr_config_filter(struct gsm48_multi_rate_conf *mr_conf_result, + bool full_rate, + const struct amr_multirate_conf *amr_mrc, + const struct gsm48_multi_rate_conf *mr_filter_bts, + const struct gsm48_multi_rate_conf *mr_filter_msc, + uint16_t s15_s0, + const struct gsm_lchan *lchan_for_logging) { - struct gsm48_multi_rate_conf mr_conf; - bool full_rate = (lchan->type == GSM_LCHAN_TCH_F); - struct gsm_bts *bts = lchan->ts->trx->bts; - struct amr_multirate_conf *mr; int rc; - int rc_rate; - struct gsm48_multi_rate_conf mr_conf_filtered; - const struct gsm48_multi_rate_conf *mr_conf_bts; /* Generate mr conf struct from S15-S0 bits */ - if (gsm48_mr_cfg_from_gsm0808_sc_cfg(&mr_conf, s15_s0) < 0) { - LOG_LCHAN(lchan, LOGL_ERROR, + if (gsm48_mr_cfg_from_gsm0808_sc_cfg(mr_conf_result, s15_s0) < 0) { + LOG_LCHAN(lchan_for_logging, LOGL_ERROR, "can not determine multirate configuration, S15-S0 (%04x) are ambiguous!\n", s15_s0); return -EINVAL; } /* Do not include 12.2 kbps rate when S1 is set. */ - if (lchan->type == GSM_LCHAN_TCH_H && (s15_s0 & GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20)) { - /* See also 3GPP TS 28.062, chapter 7.11.3.1.3: "In case this Configuration - * "Config-NB-Code = 1" is signalled in the TFO Negotiation for the HR_AMR - * Codec Type,then it shall be assumed that AMR mode 12.2 kbps is (of course) - * not included. */ - mr_conf.m12_2 = 0; + if ((!full_rate) && (s15_s0 & GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20)) { + /* See also 3GPP TS 28.062, chapter 7.11.3.1.3: + * + * In case this Configuration "Config-NB-Code = 1" is signalled in the TFO Negotiation for the HR_AMR + * Codec Type, then it shall be assumed that AMR mode 12.2 kbps is (of course) not included. + * + * Further below, we log an error if 12k2 is included for a TCH/H lchan: removing this here ensures that + * we don't log that error for GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20 on a TCH/H lchan. */ + mr_conf_result->m12_2 = 0; } - /* There are two different active sets, depending on the channel rate, - * make sure the appropate one is selected. */ - if (full_rate) - mr = &bts->mr_full; - else - mr = &bts->mr_half; - mr_conf_bts = (struct gsm48_multi_rate_conf *)mr->gsm48_ie; - - if (lchan->activate.info.activ_for == ACTIVATE_FOR_VTY) - /* If the channel is activated manually from VTY, then there is no - * conn attached to the lchan, also no MSC is involved. Since this - * option is for debugging and the codec choice is an intentional - * decision by the VTY user, we do not filter the mr_conf. */ - memcpy(&mr_conf_filtered, &mr_conf, sizeof(mr_conf_filtered)); - else { - /* The VTY allows to forbid certain codec rates. Unfortunately we can - * not articulate all of the prohibitions on through S0-S15 on the A - * interface. To ensure that the VTY settings are observed we create - * a manipulated copy of the mr_conf that ensures forbidden codec rates - * are not used in the multirate configuration IE. */ - rc_rate = calc_amr_rate_intersection(&mr_conf_filtered, &lchan->conn->sccp.msc->amr_conf, &mr_conf); - if (rc_rate < 0) { - LOG_LCHAN(lchan, LOGL_ERROR, + if (mr_filter_msc) { + rc = calc_amr_rate_intersection(mr_conf_result, mr_filter_msc, mr_conf_result); + if (rc < 0) { + LOG_LCHAN(lchan_for_logging, LOGL_ERROR, "can not encode multirate configuration (invalid amr rate setting, MSC)\n"); return -EINVAL; } } - /* The two last codec rates which are defined for AMR do only work with - * full rate channels. We will pinch off those rates f?r half-rate - * channels to ensure they are not included accidently. */ - if (!full_rate) { - if (mr_conf_filtered.m10_2 || mr_conf_filtered.m12_2) - LOG_LCHAN(lchan, LOGL_ERROR, "ignoring unsupported amr codec rates\n"); - mr_conf_filtered.m10_2 = 0; - mr_conf_filtered.m12_2 = 0; - } - - /* Ensure that the resulting filtered conf is coherent with the - * configuration that is set for the BTS and the specified rate. - * if the channel activation was triggerd by the VTY, do not - * filter anything (see also comment above) */ - if (lchan->activate.info.activ_for != ACTIVATE_FOR_VTY) { - rc_rate = calc_amr_rate_intersection(&mr_conf_filtered, mr_conf_bts, &mr_conf_filtered); - if (rc_rate < 0) { - LOG_LCHAN(lchan, LOGL_ERROR, + if (mr_filter_bts) { + rc = calc_amr_rate_intersection(mr_conf_result, mr_filter_bts, mr_conf_result); + if (rc < 0) { + LOG_LCHAN(lchan_for_logging, LOGL_ERROR, "can not encode multirate configuration (invalid amr rate setting, BTS)\n"); return -EINVAL; } + + /* Set the ICMI according to the BTS. Above gsm48_mr_cfg_from_gsm0808_sc_cfg() always sets ICMI = 1, which + * carried through all of the above rate intersections. */ + mr_conf_result->icmi = mr_filter_bts->icmi; + mr_conf_result->smod = mr_filter_bts->smod; } - /* Set the ICMI according to the BTS. Above gsm48_mr_cfg_from_gsm0808_sc_cfg() always sets ICMI = 1, which - * carried through all of the above rate intersections. */ - mr_conf_filtered.icmi = mr_conf_bts->icmi; - mr_conf_filtered.smod = mr_conf_bts->smod; + /* 10k2 and 12k2 only work for full rate */ + if (!full_rate) { + if (mr_conf_result->m10_2 || mr_conf_result->m12_2) + LOG_LCHAN(lchan_for_logging, LOGL_ERROR, + "half rate lchan: ignoring unsupported AMR codec rates 10k2 and 12k2\n"); + mr_conf_result->m10_2 = 0; + mr_conf_result->m12_2 = 0; + } - /* Proceed with the generation of the multirate configuration IE - * (MS and BTS) */ + return 0; +} + +static int mr_config_render_lv(uint8_t *mr_ms_lv, uint8_t *mr_bts_lv, + const struct gsm48_multi_rate_conf *mr_conf, + const struct amr_multirate_conf *amr_mrc, + const struct gsm_lchan *logging) +{ + if (gsm48_multirate_config(mr_ms_lv, mr_conf, amr_mrc->ms_mode, amr_mrc->num_modes)) { + LOG_LCHAN(logging, LOGL_ERROR, "can not encode multirate configuration (MS)\n"); + return -EINVAL; + } + if (gsm48_multirate_config(mr_bts_lv, mr_conf, amr_mrc->bts_mode, amr_mrc->num_modes)) { + LOG_LCHAN(logging, LOGL_ERROR, "can not encode multirate configuration (BTS)\n"); + return -EINVAL; + } + return 0; +} + +/* Configure the multirate setting on this channel. */ +static int lchan_mr_config(struct gsm_lchan *lchan, uint16_t s15_s0) +{ + struct gsm_bts *bts = lchan->ts->trx->bts; + bool full_rate = lchan->type == GSM_LCHAN_TCH_F; + struct amr_multirate_conf *amr_mrc = full_rate ? &bts->mr_full : &bts->mr_half; + struct gsm48_multi_rate_conf *mr_filter_bts = NULL; + struct gsm48_multi_rate_conf *mr_filter_msc = NULL; + struct gsm48_multi_rate_conf mr_conf; + int rc; + + if (lchan->activate.info.activ_for != ACTIVATE_FOR_VTY) { + mr_filter_bts = (struct gsm48_multi_rate_conf*)amr_mrc->gsm48_ie; + mr_filter_msc = &lchan->conn->sccp.msc->amr_conf; + } + + rc = mr_config_filter(&mr_conf, + full_rate, + amr_mrc, mr_filter_bts, mr_filter_msc, + s15_s0, + lchan); + if (rc) + return rc; + /* FIXME: this actually modifies the lchan->mr_ms_lv and ->mr_bts_lv before an ACK for these AMR bits has been * received. Until an ACK is received, all state should live in lchan->activate.* or lchan->modify.* ONLY. */ - rc = gsm48_multirate_config(lchan->mr_ms_lv, &mr_conf_filtered, mr->ms_mode, mr->num_modes); - if (rc != 0) { - LOG_LCHAN(lchan, LOGL_ERROR, "can not encode multirate configuration (MS)\n"); - return -EINVAL; - } - rc = gsm48_multirate_config(lchan->mr_bts_lv, &mr_conf_filtered, mr->bts_mode, mr->num_modes); - if (rc != 0) { - LOG_LCHAN(lchan, LOGL_ERROR, "can not encode multirate configuration (BTS)\n"); - return -EINVAL; - } + rc = mr_config_render_lv(lchan->mr_ms_lv, lchan->mr_bts_lv, &mr_conf, amr_mrc, lchan); + if (rc) + return rc; return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iebac2dc26412d877e5364f90d6f2ed7a7952351e Gerrit-Change-Number: 24356 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 Tue Jun 1 17:29:38 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 17:29:38 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 2: filter modes also for VTY In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24357 ) Change subject: AMR config cleanup step 2: filter modes also for VTY ...................................................................... AMR config cleanup step 2: filter modes also for VTY The previous patch reshuffled the code without having any functional change. In this patch, a functional change follows: It does not really make sense to decide on AMR mode filtering based on whether an activation request came from the VTY: a) BTS: There is no need to skip AMR mode filtering for the BTS config at all. There is always a BTS. b) MSC: Instead of testing for a VTY origin of the request, rather skip the MSC AMR config filtering exactly when there is no conn associated with the lchan. Move the bts filtering directly into mr_config_filter(). Related: SYS#5315 OS#4940 OS#3787 OS#3833 Change-Id: Ia7519d2fa9e7f0b61b222d27d077bde4660c40b9 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 14 insertions(+), 18 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve laforge: Looks good to me, but someone else must approve neels: Looks good to me, approved diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 4aac6da..2e810bc 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -487,12 +487,12 @@ static int mr_config_filter(struct gsm48_multi_rate_conf *mr_conf_result, bool full_rate, const struct amr_multirate_conf *amr_mrc, - const struct gsm48_multi_rate_conf *mr_filter_bts, const struct gsm48_multi_rate_conf *mr_filter_msc, uint16_t s15_s0, const struct gsm_lchan *lchan_for_logging) { int rc; + struct gsm48_multi_rate_conf *mr_filter_bts = (struct gsm48_multi_rate_conf*)amr_mrc->gsm48_ie; /* Generate mr conf struct from S15-S0 bits */ if (gsm48_mr_cfg_from_gsm0808_sc_cfg(mr_conf_result, s15_s0) < 0) { @@ -522,20 +522,18 @@ } } - if (mr_filter_bts) { - rc = calc_amr_rate_intersection(mr_conf_result, mr_filter_bts, mr_conf_result); - if (rc < 0) { - LOG_LCHAN(lchan_for_logging, LOGL_ERROR, - "can not encode multirate configuration (invalid amr rate setting, BTS)\n"); - return -EINVAL; - } - - /* Set the ICMI according to the BTS. Above gsm48_mr_cfg_from_gsm0808_sc_cfg() always sets ICMI = 1, which - * carried through all of the above rate intersections. */ - mr_conf_result->icmi = mr_filter_bts->icmi; - mr_conf_result->smod = mr_filter_bts->smod; + rc = calc_amr_rate_intersection(mr_conf_result, mr_filter_bts, mr_conf_result); + if (rc < 0) { + LOG_LCHAN(lchan_for_logging, LOGL_ERROR, + "can not encode multirate configuration (invalid amr rate setting, BTS)\n"); + return -EINVAL; } + /* Set the ICMI according to the BTS. Above gsm48_mr_cfg_from_gsm0808_sc_cfg() always sets ICMI = 1, which + * carried through all of the above rate intersections. */ + mr_conf_result->icmi = mr_filter_bts->icmi; + mr_conf_result->smod = mr_filter_bts->smod; + /* 10k2 and 12k2 only work for full rate */ if (!full_rate) { if (mr_conf_result->m10_2 || mr_conf_result->m12_2) @@ -570,19 +568,17 @@ struct gsm_bts *bts = lchan->ts->trx->bts; bool full_rate = lchan->type == GSM_LCHAN_TCH_F; struct amr_multirate_conf *amr_mrc = full_rate ? &bts->mr_full : &bts->mr_half; - struct gsm48_multi_rate_conf *mr_filter_bts = NULL; struct gsm48_multi_rate_conf *mr_filter_msc = NULL; struct gsm48_multi_rate_conf mr_conf; int rc; - if (lchan->activate.info.activ_for != ACTIVATE_FOR_VTY) { - mr_filter_bts = (struct gsm48_multi_rate_conf*)amr_mrc->gsm48_ie; + /* If activated for VTY, there may not be a conn indicating an MSC AMR configuration. */ + if (lchan->conn && lchan->conn->sccp.msc) mr_filter_msc = &lchan->conn->sccp.msc->amr_conf; - } rc = mr_config_filter(&mr_conf, full_rate, - amr_mrc, mr_filter_bts, mr_filter_msc, + amr_mrc, mr_filter_msc, s15_s0, lchan); if (rc) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia7519d2fa9e7f0b61b222d27d077bde4660c40b9 Gerrit-Change-Number: 24357 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 Tue Jun 1 17:29:39 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 17:29:39 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 3: generate AMR LV on msg composition In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24358 ) Change subject: AMR config cleanup step 3: generate AMR LV on msg composition ...................................................................... AMR config cleanup step 3: generate AMR LV on msg composition Firstly, do not store the encoded AMR length-value bits in gsm_lchan->* before an activation/modify has actually succeeded. And secondly, do not store the AMR LV structure in struct gsm_lchan at all, but only generate the TLV exactly when a message is being composed. In gsm48_multirate_config(), generate the LV directly to a msgb instead of a static buffer first. gsm0408_test.c expected output verifies that the generated LV bytes remain unchanged. In lchan_mr_config(), introduce a target mr_conf argument, so that Chan Act and Mode Modify may generate the filtered AMR config to different locations (lchan->{activate,modify}.mr_conf_filtered). Only after receiving an ACK for Activate/Modify, set lchan->current_mr_conf from lchan->{activate,modify}.mr_conf_filtered. Use the properly scoped lchan->activate.mr_conf_filtered for Chan Act, lchan->modify.mr_conf_filtered for Mode Modify and new_lchan->current_mr_conf for Handover Command as appropriate. Related: SYS#5315 OS#4940 OS#3787 OS#3833 Change-Id: Ie57f9d0e3912632903d9740291225bfd1634ed47 --- M include/osmocom/bsc/gsm_04_08_rr.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/lchan_fsm.c M tests/gsm0408/gsm0408_test.c 6 files changed, 140 insertions(+), 100 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve laforge: Looks good to me, but someone else must approve neels: Looks good to me, approved diff --git a/include/osmocom/bsc/gsm_04_08_rr.h b/include/osmocom/bsc/gsm_04_08_rr.h index 91dcbe3..5ddee7f 100644 --- a/include/osmocom/bsc/gsm_04_08_rr.h +++ b/include/osmocom/bsc/gsm_04_08_rr.h @@ -21,7 +21,8 @@ uint8_t *classmark2_lv); int gsm48_send_rr_classmark_enquiry(struct gsm_lchan *lchan); int gsm48_send_rr_ciph_mode(struct gsm_lchan *lchan, int want_imeisv); -int gsm48_multirate_config(uint8_t *lv, const struct gsm48_multi_rate_conf *mr_conf, +int gsm48_multirate_config(struct msgb *msg, + const struct gsm48_multi_rate_conf *mr_conf, const struct amr_mode *modes, unsigned int num_modes); struct msgb *gsm48_make_ho_cmd(struct gsm_lchan *new_lchan, uint8_t power_command, uint8_t ho_ref); int gsm48_send_ho_cmd(struct gsm_lchan *old_lchan, struct gsm_lchan *new_lchan, diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 04d5e52..3ed624f 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -634,6 +634,7 @@ struct { struct lchan_activate_info info; + struct gsm48_multi_rate_conf mr_conf_filtered; bool activ_ack; /*< true as soon as RSL Chan Activ Ack is received */ bool immediate_assignment_sent; /*! This flag ensures that when an lchan activation has succeeded, and we have already @@ -645,6 +646,7 @@ struct { struct lchan_modify_info info; + struct gsm48_multi_rate_conf mr_conf_filtered; bool concluded; } modify; @@ -675,10 +677,6 @@ /* Encryption information */ struct gsm_encr encr; - /* AMR bits */ - uint8_t mr_ms_lv[7]; - uint8_t mr_bts_lv[7]; - /* Established data link layer services */ uint8_t sapis[8]; @@ -722,6 +720,7 @@ /* After the Channel Activation ACK or RSL Mode Modify ACK is received, this reflects the actually used * channel_mode_and_rate. */ struct channel_mode_and_rate current_ch_mode_rate; + struct gsm48_multi_rate_conf current_mr_conf; }; /* One Timeslot in a TRX */ diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index ecc7329..4c108d0 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -463,21 +463,11 @@ return 0; } -static void mr_config_for_bts(struct gsm_lchan *lchan, struct msgb *msg, - const struct channel_mode_and_rate *ch_mode_rate) +static int put_mr_config_for_bts(struct msgb *msg, const struct gsm48_multi_rate_conf *mr_conf_filtered, + const struct amr_multirate_conf *mr_modes) { - uint8_t len; - - if (ch_mode_rate->chan_mode != GSM48_CMODE_SPEECH_AMR) - return; - - len = lchan->mr_bts_lv[0]; - if (!len) { - LOG_LCHAN(lchan, LOGL_ERROR, "Missing Multirate Config (len is zero)\n"); - return; - } - msgb_tlv_put(msg, RSL_IE_MR_CONFIG, lchan->mr_bts_lv[0], - lchan->mr_bts_lv + 1); + msgb_put_u8(msg, RSL_IE_MR_CONFIG); + return gsm48_multirate_config(msg, mr_conf_filtered, mr_modes->bts_mode, mr_modes->num_modes); } /* indicate FACCH/SACCH Repetition to be performed by BTS, @@ -603,7 +593,16 @@ add_power_control_params(msg, RSL_IE_BS_POWER_PARAM, lchan); add_power_control_params(msg, RSL_IE_MS_POWER_PARAM, lchan); - mr_config_for_bts(lchan, msg, &lchan->activate.info.ch_mode_rate); + if (lchan->activate.info.ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + rc = put_mr_config_for_bts(msg, &lchan->activate.mr_conf_filtered, + (lchan->type == GSM_LCHAN_TCH_F) ? &bts->mr_full : &bts->mr_half); + if (rc) { + LOG_LCHAN(lchan, LOGL_ERROR, "Cannot encode MultiRate Configuration IE\n"); + msgb_free(msg); + return rc; + } + } + rep_acch_cap_for_bts(lchan, msg); msg->dst = trx->rsl_link; @@ -633,6 +632,7 @@ uint8_t chan_nr = gsm_lchan2chan_nr(lchan); struct rsl_ie_chan_mode cm; + struct gsm_bts *bts = lchan->ts->trx->bts; rc = channel_mode_from_lchan(&cm, lchan, &lchan->modify.info.ch_mode_rate); if (rc < 0) @@ -653,7 +653,16 @@ msgb_tlv_put(msg, RSL_IE_ENCR_INFO, rc, encr_info); } - mr_config_for_bts(lchan, msg, &lchan->modify.info.ch_mode_rate); + if (lchan->modify.info.ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + rc = put_mr_config_for_bts(msg, &lchan->modify.mr_conf_filtered, + (lchan->type == GSM_LCHAN_TCH_F) ? &bts->mr_full : &bts->mr_half); + if (rc) { + LOG_LCHAN(lchan, LOGL_ERROR, "Cannot encode MultiRate Configuration IE\n"); + msgb_free(msg); + return rc; + } + } + rep_acch_cap_for_bts(lchan, msg); msg->dst = lchan->ts->trx->rsl_link; diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index bcc61a5..d392c05 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -232,11 +232,11 @@ return GSM_CHREQ_REASON_OTHER; } -static void mr_config_for_ms(struct gsm_lchan *lchan, struct msgb *msg) +static int put_mr_config_for_ms(struct msgb *msg, const struct gsm48_multi_rate_conf *mr_conf_filtered, + const struct amr_multirate_conf *mr_modes) { - if (lchan->current_ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) - msgb_tlv_put(msg, GSM48_IE_MUL_RATE_CFG, lchan->mr_ms_lv[0], - lchan->mr_ms_lv + 1); + msgb_put_u8(msg, GSM48_IE_MUL_RATE_CFG); + return gsm48_multirate_config(msg, mr_conf_filtered, mr_modes->ms_mode, mr_modes->num_modes); } #define CELL_SEL_IND_AFTER_REL_EARCFN_ENTRY (1+16+4+1+1) @@ -397,12 +397,12 @@ } /*! \brief Encode a TS 04.08 multirate config LV according to 10.5.2.21aa. - * \param[out] lv caller-allocated buffer of 7 bytes. First octet is is length. + * \param[out] msg msgb to append to. * \param[in] mr_conf multi-rate configuration to encode (selected modes). * \param[in] modes array describing the AMR modes. * \param[in] num_modes length of the modes array. * \returns 0 on success, -EINVAL on failure. */ -int gsm48_multirate_config(uint8_t *lv, +int gsm48_multirate_config(struct msgb *msg, const struct gsm48_multi_rate_conf *mr_conf, const struct amr_mode *modes, unsigned int num_modes) { @@ -413,6 +413,8 @@ bool mode_valid; uint8_t *gsm48_ie = (uint8_t *) mr_conf; const struct amr_mode *modes_selected[4]; + uint8_t *len; + uint8_t *data; /* Check if modes for consistency (order and duplicates) */ for (i = 0; i < num_modes; i++) { @@ -482,28 +484,49 @@ /* When the caller is not interested in any result, skip the actual * composition of the IE (dry run) */ - if (!lv) + if (!msg) return 0; /* Compose output buffer */ - lv[0] = (num == 1) ? 2 : (num + 2); - memcpy(lv + 1, gsm48_ie, 2); + /* length */ + len = msgb_put(msg, 1); + + /* Write octet 3 (Multirate speech version, NSCB, ICMI, spare, Start mode) + * and octet 4 (Set of AMR codec modes) */ + data = msgb_put(msg, 2); + memcpy(data, gsm48_ie, 2); if (num == 1) - return 0; + goto return_msg; - lv[3] = modes_selected[0]->threshold & 0x3f; - lv[4] = modes_selected[0]->hysteresis << 4; + /* more than 1 mode: write octet 5 and 6: threshold 1 and hysteresis 1 */ + data = msgb_put(msg, 2); + data[0] = modes_selected[0]->threshold & 0x3f; + data[1] = modes_selected[0]->hysteresis << 4; if (num == 2) - return 0; - lv[4] |= (modes_selected[1]->threshold & 0x3f) >> 2; - lv[5] = modes_selected[1]->threshold << 6; - lv[5] |= (modes_selected[1]->hysteresis & 0x0f) << 2; - if (num == 3) - return 0; - lv[5] |= (modes_selected[2]->threshold & 0x3f) >> 4; - lv[6] = modes_selected[2]->threshold << 4; - lv[6] |= modes_selected[2]->hysteresis & 0x0f; + goto return_msg; + /* more than 2 modes: complete octet 6 and add octet 7: threshold 2 and hysteresis 2. + * Threshold 2 starts in octet 6. */ + data[1] |= (modes_selected[1]->threshold & 0x3f) >> 2; + /* octet 7 */ + data = msgb_put(msg, 1); + data[0] = modes_selected[1]->threshold << 6; + data[0] |= (modes_selected[1]->hysteresis & 0x0f) << 2; + if (num == 3) + goto return_msg; + + /* four modes: complete octet 7 and add octet 8: threshold 3 and hysteresis 3. + * Threshold 3 starts in octet 7. */ + data[0] |= (modes_selected[2]->threshold & 0x3f) >> 4; + /* octet 8 */ + data = msgb_put(msg, 1); + data[0] = modes_selected[2]->threshold << 4; + data[0] |= modes_selected[2]->hysteresis & 0x0f; + +return_msg: + /* Place written len in the IE length field. msg->tail points one byte after the last data octet, len points at + * the L octet of the TLV. */ + *len = (msg->tail - 1) - len; return 0; } @@ -516,6 +539,7 @@ struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); struct gsm48_ho_cmd *ho = (struct gsm48_ho_cmd *) msgb_put(msg, sizeof(*ho)); + struct gsm_bts *bts = new_lchan->ts->trx->bts; gh->proto_discr = GSM48_PDISC_RR; gh->msg_type = GSM48_MT_RR_HANDO_CMD; @@ -548,9 +572,14 @@ } /* in case of multi rate we need to attach a config */ - if (new_lchan->current_ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) - msgb_tlv_put(msg, GSM48_IE_MUL_RATE_CFG, new_lchan->mr_ms_lv[0], - new_lchan->mr_ms_lv + 1); + if (new_lchan->current_ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + if (put_mr_config_for_ms(msg, &new_lchan->current_mr_conf, + (new_lchan->type == GSM_LCHAN_TCH_F) ? &bts->mr_full : &bts->mr_half)) { + LOG_LCHAN(new_lchan, LOGL_ERROR, "Cannot encode MultiRate Configuration IE\n"); + msgb_free(msg); + return NULL; + } + } return msg; } @@ -572,9 +601,10 @@ struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); struct gsm48_ass_cmd *ass = (struct gsm48_ass_cmd *) msgb_put(msg, sizeof(*ass)); + struct gsm_bts *bts = new_lchan->ts->trx->bts; DEBUGP(DRR, "-> ASSIGNMENT COMMAND tch_mode=0x%02x\n", - current_lchan->conn->assignment.selected_ch_mode_rate.chan_mode); + new_lchan->current_ch_mode_rate.chan_mode); msg->lchan = current_lchan; gh->proto_discr = GSM48_PDISC_RR; @@ -593,14 +623,13 @@ /* Cell Channel Description (freq. hopping), TV (see 3GPP TS 44.018, 10.5.2.1b) */ if (new_lchan->ts->hopping.enabled) { - const struct gsm48_system_information_type_1 *si1 = \ - GSM_BTS_SI(new_lchan->ts->trx->bts, 1); + const struct gsm48_system_information_type_1 *si1 = GSM_BTS_SI(bts, 1); msgb_tv_fixed_put(msg, GSM48_IE_CELL_CH_DESC, sizeof(si1->cell_channel_description), si1->cell_channel_description); } - msgb_tv_put(msg, GSM48_IE_CHANMODE_1, current_lchan->conn->assignment.selected_ch_mode_rate.chan_mode); + msgb_tv_put(msg, GSM48_IE_CHANMODE_1, new_lchan->current_ch_mode_rate.chan_mode); /* Mobile Allocation (freq. hopping), TLV (see 3GPP TS 44.018, 10.5.2.21) */ if (new_lchan->ts->hopping.enabled) { @@ -609,7 +638,15 @@ } /* in case of multi rate we need to attach a config */ - mr_config_for_ms(new_lchan, msg); + if (new_lchan->current_ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + int rc = put_mr_config_for_ms(msg, &new_lchan->current_mr_conf, + (new_lchan->type == GSM_LCHAN_TCH_F) ? &bts->mr_full : &bts->mr_half); + if (rc) { + LOG_LCHAN(current_lchan, LOGL_ERROR, "Cannot encode MultiRate Configuration IE\n"); + msgb_free(msg); + return rc; + } + } return gsm48_sendmsg(msg); } @@ -643,6 +680,7 @@ struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); struct gsm48_chan_mode_modify *cmm = (struct gsm48_chan_mode_modify *) msgb_put(msg, sizeof(*cmm)); + struct gsm_bts *bts = lchan->ts->trx->bts; DEBUGP(DRR, "-> CHANNEL MODE MODIFY mode=0x%02x\n", mode); @@ -656,7 +694,15 @@ cmm->mode = mode; /* in case of multi rate we need to attach a config */ - mr_config_for_ms(lchan, msg); + if (lchan->modify.info.ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + int rc = put_mr_config_for_ms(msg, &lchan->modify.mr_conf_filtered, + (lchan->type == GSM_LCHAN_TCH_F) ? &bts->mr_full : &bts->mr_half); + if (rc) { + LOG_LCHAN(lchan, LOGL_ERROR, "Cannot encode MultiRate Configuration IE\n"); + msgb_free(msg); + return rc; + } + } return gsm48_sendmsg(msg); } diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 2e810bc..a3438f7 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -546,51 +546,23 @@ return 0; } -static int mr_config_render_lv(uint8_t *mr_ms_lv, uint8_t *mr_bts_lv, - const struct gsm48_multi_rate_conf *mr_conf, - const struct amr_multirate_conf *amr_mrc, - const struct gsm_lchan *logging) -{ - if (gsm48_multirate_config(mr_ms_lv, mr_conf, amr_mrc->ms_mode, amr_mrc->num_modes)) { - LOG_LCHAN(logging, LOGL_ERROR, "can not encode multirate configuration (MS)\n"); - return -EINVAL; - } - if (gsm48_multirate_config(mr_bts_lv, mr_conf, amr_mrc->bts_mode, amr_mrc->num_modes)) { - LOG_LCHAN(logging, LOGL_ERROR, "can not encode multirate configuration (BTS)\n"); - return -EINVAL; - } - return 0; -} - /* Configure the multirate setting on this channel. */ -static int lchan_mr_config(struct gsm_lchan *lchan, uint16_t s15_s0) +static int lchan_mr_config(struct gsm48_multi_rate_conf *mr_conf, const struct gsm_lchan *lchan, uint16_t s15_s0) { struct gsm_bts *bts = lchan->ts->trx->bts; bool full_rate = lchan->type == GSM_LCHAN_TCH_F; struct amr_multirate_conf *amr_mrc = full_rate ? &bts->mr_full : &bts->mr_half; struct gsm48_multi_rate_conf *mr_filter_msc = NULL; - struct gsm48_multi_rate_conf mr_conf; - int rc; /* If activated for VTY, there may not be a conn indicating an MSC AMR configuration. */ if (lchan->conn && lchan->conn->sccp.msc) mr_filter_msc = &lchan->conn->sccp.msc->amr_conf; - rc = mr_config_filter(&mr_conf, - full_rate, - amr_mrc, mr_filter_msc, - s15_s0, - lchan); - if (rc) - return rc; - - /* FIXME: this actually modifies the lchan->mr_ms_lv and ->mr_bts_lv before an ACK for these AMR bits has been - * received. Until an ACK is received, all state should live in lchan->activate.* or lchan->modify.* ONLY. */ - rc = mr_config_render_lv(lchan->mr_ms_lv, lchan->mr_bts_lv, &mr_conf, amr_mrc, lchan); - if (rc) - return rc; - - return 0; + return mr_config_filter(mr_conf, + full_rate, + amr_mrc, mr_filter_msc, + s15_s0, + lchan); } static void lchan_fsm_unused(struct osmo_fsm_inst *fi, uint32_t event, void *data) @@ -655,7 +627,7 @@ } if (info->ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { - if (lchan_mr_config(lchan, info->ch_mode_rate.s15_s0) < 0) { + if (lchan_mr_config(&lchan->activate.mr_conf_filtered, lchan, info->ch_mode_rate.s15_s0) < 0) { lchan_fail("Can not generate multirate configuration IE\n"); return; } @@ -813,6 +785,7 @@ struct gsm_lchan *lchan = lchan_fi_lchan(fi); lchan->current_ch_mode_rate = lchan->activate.info.ch_mode_rate; + lchan->current_mr_conf = lchan->activate.mr_conf_filtered; LOG_LCHAN(lchan, LOGL_INFO, "Rx Activ ACK %s\n", gsm48_chan_mode_name(lchan->current_ch_mode_rate.chan_mode)); @@ -984,6 +957,7 @@ case LCHAN_EV_RSL_CHAN_MODE_MODIFY_ACK: /* The Channel Mode Modify was ACKed, now the requested values become the accepted and used values. */ lchan->current_ch_mode_rate = lchan->modify.info.ch_mode_rate; + lchan->current_mr_conf = lchan->modify.mr_conf_filtered; if (lchan->modify.info.requires_voice_stream && !lchan->fi_rtp) { @@ -1136,7 +1110,8 @@ use_mgwep_ci = lchan_use_mgw_endpoint_ci_bts(lchan); if (modif_info->ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { - if (lchan_mr_config(lchan, modif_info->ch_mode_rate.s15_s0) < 0) { + if (lchan_mr_config(&lchan->modify.mr_conf_filtered, lchan, modif_info->ch_mode_rate.s15_s0) + < 0) { lchan_fail("Can not generate multirate configuration IE\n"); return; } diff --git a/tests/gsm0408/gsm0408_test.c b/tests/gsm0408/gsm0408_test.c index 8220c4f..a1aa5f4 100644 --- a/tests/gsm0408/gsm0408_test.c +++ b/tests/gsm0408/gsm0408_test.c @@ -780,10 +780,10 @@ static void test_gsm48_multirate_config() { - uint8_t lv[7]; struct gsm48_multi_rate_conf *gsm48_ie; struct amr_multirate_conf mr; int rc; + struct msgb *msg = msgb_alloc(32, "test_gsm48_multirate_config"); memset(&mr, 0, sizeof(mr)); @@ -807,17 +807,19 @@ mr.ms_mode[1].mode = 4; mr.ms_mode[2].mode = 5; mr.ms_mode[3].mode = 7; - rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 4); + msgb_trim(msg, 0); + rc = gsm48_multirate_config(msg, gsm48_ie, mr.ms_mode, 4); OSMO_ASSERT(rc == 0); printf("gsm48_multirate_config(): rc=%i, lv=%s\n", rc, - osmo_hexdump_nospc(lv, 1 + lv[0])); + osmo_hexdump_nospc(msg->data, msg->len)); /* Test #2: 4 active set members, but wrong mode order: */ mr.ms_mode[3].mode = 2; mr.ms_mode[2].mode = 4; mr.ms_mode[1].mode = 5; mr.ms_mode[0].mode = 7; - rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 4); + msgb_trim(msg, 0); + rc = gsm48_multirate_config(msg, gsm48_ie, mr.ms_mode, 4); OSMO_ASSERT(rc == -EINVAL); /* Test #3: Normal configuration with 3 active set members */ @@ -829,16 +831,18 @@ mr.ms_mode[2].threshold = 0; mr.ms_mode[2].hysteresis = 0; - rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 4); + msgb_trim(msg, 0); + rc = gsm48_multirate_config(msg, gsm48_ie, mr.ms_mode, 3); OSMO_ASSERT(rc == 0); printf("gsm48_multirate_config(): rc=%i, lv=%s\n", rc, - osmo_hexdump_nospc(lv, 1 + lv[0])); + osmo_hexdump_nospc(msg->data, msg->len)); /* Test #4: 3 active set members, but wrong mode order: */ mr.ms_mode[0].mode = 2; mr.ms_mode[2].mode = 4; mr.ms_mode[1].mode = 5; - rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 4); + msgb_trim(msg, 0); + rc = gsm48_multirate_config(msg, gsm48_ie, mr.ms_mode, 3); OSMO_ASSERT(rc == -EINVAL); /* Test #5: Normal configuration with 2 active set members */ @@ -850,15 +854,17 @@ mr.ms_mode[1].threshold = 0; mr.ms_mode[1].hysteresis = 0; - rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 4); + msgb_trim(msg, 0); + rc = gsm48_multirate_config(msg, gsm48_ie, mr.ms_mode, 2); OSMO_ASSERT(rc == 0); printf("gsm48_multirate_config(): rc=%i, lv=%s\n", rc, - osmo_hexdump_nospc(lv, 1 + lv[0])); + osmo_hexdump_nospc(msg->data, msg->len)); /* Test #6: 2 active set members, but wrong mode order: */ mr.ms_mode[1].mode = 2; mr.ms_mode[0].mode = 4; - rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 4); + msgb_trim(msg, 0); + rc = gsm48_multirate_config(msg, gsm48_ie, mr.ms_mode, 2); OSMO_ASSERT(rc == -EINVAL); /* Test #7: Normal configuration with 1 active set member */ @@ -870,15 +876,19 @@ mr.ms_mode[0].threshold = 0; mr.ms_mode[0].hysteresis = 0; - rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 4); + msgb_trim(msg, 0); + rc = gsm48_multirate_config(msg, gsm48_ie, mr.ms_mode, 1); OSMO_ASSERT(rc == 0); printf("gsm48_multirate_config(): rc=%i, lv=%s\n", rc, - osmo_hexdump_nospc(lv, 1 + lv[0])); + osmo_hexdump_nospc(msg->data, msg->len)); /* Test #8: 0 active set members: */ mr.ms_mode[0].mode = 0; - rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 4); + msgb_trim(msg, 0); + rc = gsm48_multirate_config(msg, gsm48_ie, mr.ms_mode, 1); OSMO_ASSERT(rc == -EINVAL); + + msgb_free(msg); } static const struct log_info_cat log_categories[] = { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie57f9d0e3912632903d9740291225bfd1634ed47 Gerrit-Change-Number: 24358 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 Tue Jun 1 17:29:39 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 17:29:39 +0000 Subject: Change in osmo-bsc[master]: handover dot charts: fix wrong transitions regarding MGW In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24359 ) Change subject: handover dot charts: fix wrong transitions regarding MGW ...................................................................... handover dot charts: fix wrong transitions regarding MGW Related: SYS#5315 OS#4940 OS#3277 Change-Id: I2ed9b3ca7fe145a930ca509e6b3943f5abf3aa62 --- M doc/handover-inter-bsc-in-fsm.dot M doc/handover-intra-bsc-fsm.dot 2 files changed, 5 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified 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 diff --git a/doc/handover-inter-bsc-in-fsm.dot b/doc/handover-inter-bsc-in-fsm.dot index b52a16d..0c6af85 100644 --- a/doc/handover-inter-bsc-in-fsm.dot +++ b/doc/handover-inter-bsc-in-fsm.dot @@ -18,7 +18,10 @@ gscon -> HO_ST_WAIT_LCHAN_ACTIVE [label="handover_start_inter_bsc_in()",style=dotted] HO_ST_WAIT_LCHAN_ACTIVE -> lchan [label="lchan_activate()\nFOR_HANDOVER",style=dotted] lchan -> HO_ST_WAIT_LCHAN_ACTIVE [label="HO_EV_\nLCHAN_ACTIVE,\n_ERROR",style=dotted,constraint=false] - HO_ST_WAIT_LCHAN_ACTIVE -> HO_ST_WAIT_RR_HO_DETECT + HO_ST_WAIT_LCHAN_ACTIVE -> HO_ST_WAIT_RR_HO_DETECT [label="SCCPlite\nor no voice"] + + HO_ST_WAIT_LCHAN_ACTIVE -> WAIT_MGW_ENDPOINT_TO_MSC [label="AoIP\nhas voice"] + WAIT_MGW_ENDPOINT_TO_MSC -> HO_ST_WAIT_RR_HO_DETECT HO_ST_WAIT_RR_HO_DETECT -> msc2 [label="BSSMAP\nHandover\nAccept\nwith\nRR Handover\nCommand",style=dotted] msc2 -> old_bsc2 -> old_lchan [label="RR Handover\nCommand",style=dotted] @@ -31,9 +34,7 @@ WAIT_RR_HO_COMPLETE -> WAIT_LCHAN_ESTABLISHED lchan -> WAIT_LCHAN_ESTABLISHED [label="HO_EV_LCHAN_\nESTABLISHED",style=dotted] - WAIT_LCHAN_ESTABLISHED -> terminate [label="non-TCH"] - WAIT_LCHAN_ESTABLISHED -> WAIT_MGW_ENDPOINT_TO_MSC - WAIT_MGW_ENDPOINT_TO_MSC -> terminate [label="handover_end()"] + WAIT_LCHAN_ESTABLISHED -> terminate terminate -> msc2 [label="BSSMAP Handover\nComplete\n/ Failure",style=dotted,constraint=false] err [label="on error",shape=box,style=dashed] diff --git a/doc/handover-intra-bsc-fsm.dot b/doc/handover-intra-bsc-fsm.dot index 53b3eed..39f3097 100644 --- a/doc/handover-intra-bsc-fsm.dot +++ b/doc/handover-intra-bsc-fsm.dot @@ -25,6 +25,4 @@ lchan -> WAIT_LCHAN_ESTABLISHED [label="HO_EV_LCHAN_\nESTABLISHED",style=dotted] WAIT_LCHAN_ESTABLISHED -> terminate [label="non-TCH"] - WAIT_LCHAN_ESTABLISHED -> WAIT_MGW_ENDPOINT_TO_MSC - WAIT_MGW_ENDPOINT_TO_MSC -> terminate [label="handover_end()"] } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2ed9b3ca7fe145a930ca509e6b3943f5abf3aa62 Gerrit-Change-Number: 24359 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 Tue Jun 1 17:29:40 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 17:29:40 +0000 Subject: Change in osmo-bsc[master]: handover_test: fix naming/wording: 'handover-req' should be 'handover... In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24360 ) Change subject: handover_test: fix naming/wording: 'handover-req' should be 'handover-cmd' ...................................................................... handover_test: fix naming/wording: 'handover-req' should be 'handover-cmd' Related: SYS#5315 OS#4940 OS#3277 Change-Id: I0c20971590e4b1a19f77ff3f15d58992eeebfbd9 --- M tests/handover/handover_test.c M tests/handover/test_max_handovers.ho_vty M tests/handover/test_penalty_timer.ho_vty 3 files changed, 29 insertions(+), 29 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index c16b26d..6f633cd 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -532,8 +532,8 @@ static struct gsm_lchan *new_chan_req = NULL; static struct gsm_lchan *last_chan_req = NULL; -static struct gsm_lchan *new_ho_req = NULL; -static struct gsm_lchan *last_ho_req = NULL; +static struct gsm_lchan *new_ho_cmd = NULL; +static struct gsm_lchan *last_ho_cmd = NULL; /* send channel activation ack */ static void send_chan_act_ack(struct gsm_lchan *lchan, int act) @@ -701,12 +701,12 @@ switch (gh->msg_type) { case GSM48_MT_RR_HANDO_CMD: case GSM48_MT_RR_ASS_CMD: - if (new_ho_req) { - fprintf(stderr, "Test script is erratic: a handover is requested" - " while a previous handover request is still unhandled\n"); + if (new_ho_cmd) { + fprintf(stderr, "Test script is erratic: seen a Handover Command" + " while a previous Handover Command is still unhandled\n"); exit(1); } - new_ho_req = lchan; + new_ho_cmd = lchan; break; } break; @@ -1035,27 +1035,27 @@ send_chan_act_ack(lchan, 1); } -static void _expect_ho_req(struct gsm_lchan *lchan) +static void _expect_ho_cmd(struct gsm_lchan *lchan) { - fprintf(stderr, "- Expecting handover/assignment request at %s\n", + fprintf(stderr, "- Expecting Handover/Assignment Command at %s\n", gsm_lchan_name(lchan)); - if (!new_ho_req) { - fprintf(stderr, "Test failed, because no handover was requested\n"); + if (!new_ho_cmd) { + fprintf(stderr, "Test failed, no Handover Command\n"); exit(1); } - fprintf(stderr, " * Got handover/assignment request at %s\n", gsm_lchan_name(new_ho_req)); - if (new_ho_req != lchan) { - fprintf(stderr, "Test failed, because handover/assignment was not commanded on the expected lchan\n"); + fprintf(stderr, " * Got Handover/Assignment Command at %s\n", gsm_lchan_name(new_ho_cmd)); + if (new_ho_cmd != lchan) { + fprintf(stderr, "Test failed, Handover/Assignment Command not on the expected lchan\n"); exit(1); } - last_ho_req = new_ho_req; - new_ho_req = NULL; + last_ho_cmd = new_ho_cmd; + new_ho_cmd = NULL; } DEFUN(expect_chan, expect_chan_cmd, "expect-chan " LCHAN_ARGS, - "Expect a channel request from BSC to a cell for a specific lchan\n" + "Expect RSL Channel Activation of a specific lchan\n" LCHAN_ARGS_DOC) { VTY_ECHO(); @@ -1063,13 +1063,13 @@ return CMD_SUCCESS; } -DEFUN(expect_ho_req, expect_ho_req_cmd, - "expect-ho-req " LCHAN_ARGS, - "Expect a handover of a given lchan\n" +DEFUN(expect_handover_command, expect_handover_command_cmd, + "expect-ho-cmd " LCHAN_ARGS, + "Expect an RR Handover Command sent to a specific lchan\n" LCHAN_ARGS_DOC) { VTY_ECHO(); - _expect_ho_req(parse_lchan_args(argv)); + _expect_ho_cmd(parse_lchan_args(argv)); return CMD_SUCCESS; } @@ -1095,12 +1095,12 @@ fprintf(stderr, "Cannot ack handover/assignment, because no chan request\n"); exit(1); } - if (!last_ho_req) { + if (!last_ho_cmd) { fprintf(stderr, "Cannot ack handover/assignment, because no ho request\n"); exit(1); } send_ho_complete(last_chan_req, true); - lchan_release_ack(last_ho_req); + lchan_release_ack(last_ho_cmd); return CMD_SUCCESS; } @@ -1116,7 +1116,7 @@ VTY_ECHO(); _expect_chan_activ(to); - _expect_ho_req(from); + _expect_ho_cmd(from); send_ho_detect(to); send_ho_complete(to, true); lchan_release_ack(from); @@ -1132,11 +1132,11 @@ fprintf(stderr, "Cannot fail handover, because no chan request\n"); exit(1); } - if (!last_ho_req) { + if (!last_ho_cmd) { fprintf(stderr, "Cannot fail handover, because no handover request\n"); exit(1); } - send_ho_complete(last_ho_req, false); + send_ho_complete(last_ho_cmd, false); lchan_release_ack(last_chan_req); return CMD_SUCCESS; } @@ -1208,7 +1208,7 @@ install_element(CONFIG_NODE, &congestion_check_cmd); install_element(CONFIG_NODE, &expect_no_chan_cmd); install_element(CONFIG_NODE, &expect_chan_cmd); - install_element(CONFIG_NODE, &expect_ho_req_cmd); + install_element(CONFIG_NODE, &expect_handover_command_cmd); install_element(CONFIG_NODE, &ho_detection_cmd); install_element(CONFIG_NODE, &ho_complete_cmd); install_element(CONFIG_NODE, &expect_ho_cmd); diff --git a/tests/handover/test_max_handovers.ho_vty b/tests/handover/test_max_handovers.ho_vty index e5d9ef5..76a9ea9 100644 --- a/tests/handover/test_max_handovers.ho_vty +++ b/tests/handover/test_max_handovers.ho_vty @@ -9,10 +9,10 @@ set-ts-use trx 0 0 states * TCH/F TCH/F TCH/F - - - - meas-rep lchan 0 0 1 0 rxlev 0 rxqual 0 ta 0 neighbors 30 expect-chan lchan 1 0 1 0 -expect-ho-req lchan 0 0 1 0 +expect-ho-cmd lchan 0 0 1 0 meas-rep lchan 0 0 2 0 rxlev 0 rxqual 0 ta 0 neighbors 30 expect-chan lchan 1 0 2 0 -expect-ho-req lchan 0 0 2 0 +expect-ho-cmd lchan 0 0 2 0 meas-rep lchan 0 0 3 0 rxlev 0 rxqual 0 ta 0 neighbors 30 expect-no-chan diff --git a/tests/handover/test_penalty_timer.ho_vty b/tests/handover/test_penalty_timer.ho_vty index 7b0d266..7528a0f 100644 --- a/tests/handover/test_penalty_timer.ho_vty +++ b/tests/handover/test_penalty_timer.ho_vty @@ -7,7 +7,7 @@ set-ts-use trx 0 0 states * TCH/F - - - - - - meas-rep lchan 0 0 1 0 rxlev 20 rxqual 0 ta 0 neighbors 30 expect-chan lchan 1 0 1 0 -expect-ho-req lchan 0 0 1 0 +expect-ho-cmd lchan 0 0 1 0 ho-failed expect-ts-use trx 0 0 states * TCH/F - - - - - - expect-ts-use trx 1 0 states * - - - - - - - -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0c20971590e4b1a19f77ff3f15d58992eeebfbd9 Gerrit-Change-Number: 24360 Gerrit-PatchSet: 4 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 Tue Jun 1 17:29:40 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 17:29:40 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: tweak state transitions (prep for reassignment) In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24361 ) Change subject: assignment_fsm: tweak state transitions (prep for reassignment) ...................................................................... assignment_fsm: tweak state transitions (prep for reassignment) It is better design to take state change actions in the onenter function, instead of triggering a state change and then calling lchan_mode_modify() or lchan_activate(). The reason is that in principle, any state change may cause error handling to abort and deallocate FSMs. This is also preparation for reassignment to a specific lchan in an upcoming patch. Related: SYS#5315 OS#4940 OS#3277 Change-Id: I9a2e7eefd4196b80671311e5dfd275893ec0e275 --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 29 insertions(+), 16 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index f294473..83d2917 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -447,8 +447,6 @@ [CH_RATE_FULL] = "FR", }; struct osmo_fsm_inst *fi; - struct lchan_activate_info activ_info; - struct lchan_modify_info modif_info; int i; OSMO_ASSERT(conn); @@ -510,16 +508,7 @@ gsm48_chan_mode_name(conn->assignment.selected_ch_mode_rate.chan_mode), gsm_lchan_name(conn->lchan)); - modif_info = (struct lchan_modify_info){ - .modify_for = MODIFY_FOR_ASSIGNMENT, - .ch_mode_rate = conn->assignment.selected_ch_mode_rate, - .requires_voice_stream = conn->assignment.requires_voice_stream, - .msc_assigned_cic = req->msc_assigned_cic, - }; - - if (assignment_fsm_state_chg(ASSIGNMENT_ST_WAIT_LCHAN_MODIFIED)) - return; - lchan_mode_modify(conn->lchan, &modif_info); + assignment_fsm_state_chg(ASSIGNMENT_ST_WAIT_LCHAN_MODIFIED); return; } @@ -564,7 +553,13 @@ req->use_osmux ? "yes" : "no"); assignment_fsm_state_chg(ASSIGNMENT_ST_WAIT_LCHAN_ACTIVE); - activ_info = (struct lchan_activate_info){ +} + +static void assignment_fsm_wait_lchan_active_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct gsm_subscriber_connection *conn = assignment_fi_conn(fi); + struct assignment_request *req = &conn->assignment.req; + struct lchan_activate_info activ_info = { .activ_for = ACTIVATE_FOR_ASSIGNMENT, .for_conn = conn, .ch_mode_rate = conn->assignment.selected_ch_mode_rate, @@ -578,14 +573,17 @@ lchan_activate(conn->assignment.new_lchan, &activ_info); } -static void assignment_fsm_wait_lchan(struct osmo_fsm_inst *fi, uint32_t event, void *data) +static void assignment_fsm_wait_lchan_active(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct gsm_subscriber_connection *conn = assignment_fi_conn(fi); switch (event) { case ASSIGNMENT_EV_LCHAN_ACTIVE: - if (data != conn->assignment.new_lchan) + if (data != conn->assignment.new_lchan) { + LOG_ASSIGNMENT(conn, LOGL_ERROR, "Some unrelated lchan was activated, ignoring: %s\n", + gsm_lchan_name(data)); return; + } /* The TS may have changed its pchan_is */ assignment_fsm_update_id(conn); @@ -736,6 +734,19 @@ } } +static void assignment_fsm_wait_lchan_modified_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct gsm_subscriber_connection *conn = assignment_fi_conn(fi); + struct assignment_request *req = &conn->assignment.req; + struct lchan_modify_info modif_info = { + .modify_for = MODIFY_FOR_ASSIGNMENT, + .ch_mode_rate = conn->assignment.selected_ch_mode_rate, + .requires_voice_stream = conn->assignment.requires_voice_stream, + .msc_assigned_cic = req->msc_assigned_cic, + }; + lchan_mode_modify(conn->lchan, &modif_info); +} + static void assignment_fsm_wait_lchan_modified(struct osmo_fsm_inst *fi, uint32_t event, void *data) { switch (event) { @@ -754,7 +765,8 @@ static const struct osmo_fsm_state assignment_fsm_states[] = { [ASSIGNMENT_ST_WAIT_LCHAN_ACTIVE] = { .name = "WAIT_LCHAN_ACTIVE", - .action = assignment_fsm_wait_lchan, + .onenter = assignment_fsm_wait_lchan_active_onenter, + .action = assignment_fsm_wait_lchan_active, .in_event_mask = 0 | S(ASSIGNMENT_EV_LCHAN_ACTIVE) , @@ -799,6 +811,7 @@ }, [ASSIGNMENT_ST_WAIT_LCHAN_MODIFIED] = { .name = "WAIT_LCHAN_MODIFIED", + .onenter = assignment_fsm_wait_lchan_modified_onenter, .action = assignment_fsm_wait_lchan_modified, .in_event_mask = 0 | S(ASSIGNMENT_EV_LCHAN_MODIFIED) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9a2e7eefd4196b80671311e5dfd275893ec0e275 Gerrit-Change-Number: 24361 Gerrit-PatchSet: 4 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 Tue Jun 1 17:29:42 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 17:29:42 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: allow assignment to a specific lchan In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24362 ) Change subject: assignment_fsm: allow assignment to a specific lchan ...................................................................... assignment_fsm: allow assignment to a specific lchan So far the assignment FSM always tried to satisfy the channel mode and rate by either re-using the current lchan or finding a new, unused lchan. For VAMOS however, we want to pick one specific lchan. Add target_lchan to struct assignment_request and skip all mode matching and lchan selection when a specific target_lchan is set. Related: SYS#5315 OS#4940 Change-Id: I71e0d4ff4746706e0be5266e4574d70ca432e3d7 --- M include/osmocom/bsc/assignment_fsm.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/assignment_fsm.c 3 files changed, 97 insertions(+), 19 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve diff --git a/include/osmocom/bsc/assignment_fsm.h b/include/osmocom/bsc/assignment_fsm.h index b4af335..d4ed846 100644 --- a/include/osmocom/bsc/assignment_fsm.h +++ b/include/osmocom/bsc/assignment_fsm.h @@ -41,6 +41,10 @@ void assignment_fsm_init(); +int reassignment_request_to_lchan(enum assign_for assign_for, struct gsm_lchan *lchan, struct gsm_lchan *to_lchan); +int reassignment_request_to_chan_type(enum assign_for assign_for, struct gsm_lchan *lchan, + enum gsm_chan_t new_lchan_type); + void assignment_fsm_start(struct gsm_subscriber_connection *conn, struct gsm_bts *bts, struct assignment_request *req); void assignment_reset(struct gsm_subscriber_connection *conn); diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 3ed624f..58ec124 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -154,6 +154,14 @@ /* Rate/codec setting in preference order (need at least 1 !) */ int n_ch_mode_rate; struct channel_mode_and_rate ch_mode_rate_list[3]; + + /* An assignment request usually requests to assign any available lchan, to match above requirements. This may + * also choose to just keep the current lchan and merely modify it as appropriate. In these cases, keep + * target_lchan == NULL. + * In some situations, an assignment to a specific target lchan is requested (congestion resolution, VAMOS + * multiplexing, user request via VTY). In these situations, select a target lchan beforehand and point + * target_lchan to it. */ + struct gsm_lchan *target_lchan; }; /* State of an ongoing Assignment, while the assignment_fsm is still busy. This serves as state separation to keep the diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 83d2917..b96dbb3 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -438,6 +438,48 @@ return false; } +static int _reassignment_request(enum assign_for assign_for, struct gsm_lchan *lchan, struct gsm_lchan *to_lchan, + enum gsm_chan_t new_lchan_type) +{ + struct gsm_subscriber_connection *conn = lchan->conn; + struct assignment_request req = { + .assign_for = assign_for, + .aoip = gscon_is_aoip(conn), + .msc_assigned_cic = conn->user_plane.msc_assigned_cic, + .msc_rtp_port = conn->user_plane.msc_assigned_rtp_port, + .n_ch_mode_rate = 1, + .ch_mode_rate_list = { lchan->current_ch_mode_rate }, + .target_lchan = to_lchan, + }; + + if (to_lchan) + new_lchan_type = to_lchan->type; + req.ch_mode_rate_list[0].chan_rate = chan_t_to_chan_rate(new_lchan_type); + /* lchan activation will automatically convert chan_mode to a VAMOS equivalent if required. + * So rather always pass the plain non-VAMOS mode. */ + req.ch_mode_rate_list[0].chan_mode = gsm48_chan_mode_to_non_vamos(lchan->current_ch_mode_rate.chan_mode); + + OSMO_STRLCPY_ARRAY(req.msc_rtp_addr, conn->user_plane.msc_assigned_rtp_addr); + + if (conn->user_plane.mgw_endpoint_ci_msc) { + req.use_osmux = osmo_mgcpc_ep_ci_get_crcx_info_to_osmux_cid(conn->user_plane.mgw_endpoint_ci_msc, + &req.osmux_cid); + } + + return osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_ASSIGNMENT_START, &req); +} + +int reassignment_request_to_lchan(enum assign_for assign_for, struct gsm_lchan *lchan, struct gsm_lchan *to_lchan) +{ + return _reassignment_request(assign_for, lchan, to_lchan, 0); +} + +int reassignment_request_to_chan_type(enum assign_for assign_for, struct gsm_lchan *lchan, + enum gsm_chan_t new_lchan_type) +{ + return _reassignment_request(assign_for, lchan, NULL, new_lchan_type); +} + void assignment_fsm_start(struct gsm_subscriber_connection *conn, struct gsm_bts *bts, struct assignment_request *req) { @@ -470,13 +512,8 @@ if (check_requires_voice_stream(conn) < 0) return; - /* There may be an already existing lchan, if yes, try to work with - * the existing lchan. - * If an RTP FSM is already set up for the lchan, Mode Modify is not yet supported -- see handling of - * LCHAN_EV_REQUEST_MODE_MODIFY in lchan_fsm.c. To not break the lchan, do not even attempt to re-use an lchan - * that already has an RTP stream set up, rather establish a new lchan (that transition is well implemented). */ - if (reuse_existing_lchan(conn) && !conn->lchan->fi_rtp) { - /* The new lchan is the old lchan, keep new_lchan == NULL. */ + if (!req->target_lchan && reuse_existing_lchan(conn)) { + /* The already existing lchan is suitable for this mode */ conn->assignment.new_lchan = NULL; /* If the requested mode and the current TCH mode matches up, just send the @@ -512,19 +549,48 @@ return; } - /* 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", - 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); + if (req->target_lchan) { + bool matching_mode; - conn->assignment.selected_ch_mode_rate = req->ch_mode_rate_list[i]; - break; + /* The caller already picked a target lchan to assign to. No need to try re-using the current lchan or + * picking a new one. */ + if (!lchan_state_is(req->target_lchan, LCHAN_ST_UNUSED)) { + assignment_fail(GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE, + "Assignment to lchan %s requested, but lchan is already in use (state=%s)\n", + gsm_lchan_name(req->target_lchan), + osmo_fsm_inst_state_name(req->target_lchan->fi)); + return; + } + + conn->assignment.new_lchan = req->target_lchan; + matching_mode = false; + for (i = 0; i < req->n_ch_mode_rate; i++) { + if (!lchan_type_compat_with_mode(conn->assignment.new_lchan->type, &req->ch_mode_rate_list[i])) + continue; + conn->assignment.selected_ch_mode_rate = req->ch_mode_rate_list[i]; + matching_mode = true; + } + if (!matching_mode) { + assignment_fail(GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE, + "Assignment to lchan %s requested, but lchan is not compatible\n", + gsm_lchan_name(req->target_lchan)); + return; + } + } 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", + 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; + } } /* Check whether the lchan allocation was successful or not and tear -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71e0d4ff4746706e0be5266e4574d70ca432e3d7 Gerrit-Change-Number: 24362 Gerrit-PatchSet: 5 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 Tue Jun 1 17:29:42 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 17:29:42 +0000 Subject: Change in osmo-bsc[master]: vty: actually trigger Assignment for 'assignment', not HO In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24363 ) Change subject: vty: actually trigger Assignment for 'assignment', not HO ...................................................................... vty: actually trigger Assignment for 'assignment', not HO Related: SYS#5315 OS#4940 Change-Id: Iee11f1ae0533d7db844e68a5c4c48d0fe3e27297 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 32 insertions(+), 20 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 7ede51a..09aec2b 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -78,6 +78,7 @@ #include #include #include +#include #include @@ -1867,23 +1868,32 @@ return CMD_SUCCESS; } -static int trigger_ho_or_as(struct vty *vty, struct gsm_lchan *from_lchan, struct gsm_bts *to_bts) +static int trigger_as(struct vty *vty, struct gsm_lchan *from_lchan, struct gsm_lchan *to_lchan) { - if (!to_bts || from_lchan->ts->trx->bts == to_bts) { - LOGP(DHO, LOGL_NOTICE, "%s Manually triggering Assignment from VTY\n", - gsm_lchan_name(from_lchan)); - to_bts = from_lchan->ts->trx->bts; - } else - LOGP(DHO, LOGL_NOTICE, "%s (ARFCN %u) --> BTS %u Manually triggering Handover from VTY\n", - gsm_lchan_name(from_lchan), from_lchan->ts->trx->arfcn, to_bts->nr); - { - struct handover_out_req req = { - .from_hodec_id = HODEC_USER, - .old_lchan = from_lchan, - }; - bts_cell_ab(&req.target_cell_ab, to_bts); - handover_request(&req); + 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); + vty_out(vty, "Error: cannot find free lchan of type %s%s", + gsm_lchant_name(from_lchan->type), VTY_NEWLINE); } + if (reassignment_request_to_lchan(ACTIVATE_FOR_VTY, from_lchan, to_lchan)) { + vty_out(vty, "Error: not allowed to start assignment for %s%s", + gsm_lchan_name(from_lchan), VTY_NEWLINE); + return CMD_WARNING; + } + return CMD_SUCCESS; +} + +static int trigger_ho(struct vty *vty, struct gsm_lchan *from_lchan, struct gsm_bts *to_bts) +{ + struct handover_out_req req = { + .from_hodec_id = HODEC_USER, + .old_lchan = from_lchan, + }; + bts_cell_ab(&req.target_cell_ab, to_bts); + LOGP(DHO, LOGL_NOTICE, "%s (ARFCN %u) --> BTS %u Manually triggering Handover from VTY\n", + gsm_lchan_name(from_lchan), from_lchan->ts->trx->arfcn, to_bts->nr); + handover_request(&req); return CMD_SUCCESS; } @@ -1897,11 +1907,10 @@ unsigned int trx_nr = atoi(argv[1]); unsigned int ts_nr = atoi(argv[2]); unsigned int ss_nr = atoi(argv[3]); - unsigned int bts_nr_new; const char *action; if (argc > 4) { - bts_nr_new = atoi(argv[4]); + unsigned int bts_nr_new = atoi(argv[4]); /* Lookup the BTS where we want to handover to */ llist_for_each_entry(bts, &net->bts_list, list) { @@ -1930,7 +1939,10 @@ conn->lchan->ts->nr == ts_nr && conn->lchan->nr == ss_nr) { vty_out(vty, "starting %s for lchan %s...%s", action, conn->lchan->name, VTY_NEWLINE); lchan_dump_full_vty(vty, conn->lchan); - return trigger_ho_or_as(vty, conn->lchan, new_bts); + if (new_bts) + return trigger_ho(vty, conn->lchan, new_bts); + else + return trigger_as(vty, conn->lchan, NULL); } } @@ -2055,7 +2067,7 @@ if (!to_bts) return CMD_WARNING; - return trigger_ho_or_as(vty, from_lchan, to_bts); + return trigger_ho(vty, from_lchan, to_bts); } DEFUN(assignment_any, assignment_any_cmd, @@ -2070,7 +2082,7 @@ if (!from_lchan) return CMD_WARNING; - return trigger_ho_or_as(vty, from_lchan, NULL); + return trigger_as(vty, from_lchan, NULL); } DEFUN(handover_any_to_arfcn_bsic, handover_any_to_arfcn_bsic_cmd, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24363 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iee11f1ae0533d7db844e68a5c4c48d0fe3e27297 Gerrit-Change-Number: 24363 Gerrit-PatchSet: 5 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 Tue Jun 1 17:29:43 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 17:29:43 +0000 Subject: Change in osmo-bsc[master]: hodec 2: do intra-cell congestion resolution by Assignment In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24364 ) Change subject: hodec 2: do intra-cell congestion resolution by Assignment ...................................................................... hodec 2: do intra-cell congestion resolution by Assignment So far we do all channel reassignments by Handover Command. Since osmo-bsc now supports rassignment of ongoing voice calls, do intra-cell congestion resolution by Assignment Command. In effect, add support for expecting an Assignment Command in handover_test, and expect assignments instead of handovers for intra-cell congestion resolution test cases. Related: SYS#5330 OS#3277 Change-Id: Id56a890106b93fcee67ac9401b890e7b63bba421 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/gsm_data.c M src/osmo-bsc/handover_decision_2.c M tests/handover/handover_test.c M tests/handover/test_amr_tch_f_to_h_congestion_assignment.ho_vty M tests/handover/test_amr_tch_f_to_h_congestion_assignment_2.ho_vty M tests/handover/test_amr_tch_f_to_h_congestion_assignment_3.ho_vty M tests/handover/test_amr_tch_h_to_f_congestion.ho_vty M tests/handover/test_amr_tch_h_to_f_congestion_two_cells.ho_vty M tests/handover/test_balance_congestion_tchf_tchh.ho_vty M tests/handover/test_congestion_intra_vs_inter_cell.ho_vty M tests/handover/test_disabled_ho_and_as.ho_vty M tests/handover/test_dyn_ts_amr_tch_f_to_h_congestion_assignment.ho_vty M tests/handover/test_dyn_ts_amr_tch_f_to_h_congestion_assignment_2.ho_vty M tests/handover/test_dyn_ts_amr_tch_h_to_f_congestion_assignment_2.ho_vty M tests/handover/test_dyn_ts_favor_moving_half_used_tch_h.ho_vty 16 files changed, 172 insertions(+), 50 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 58ec124..348735e 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -130,6 +130,7 @@ enum assign_for { ASSIGN_FOR_NONE, ASSIGN_FOR_BSSMAP_REQ, + ASSIGN_FOR_CONGESTION_RESOLUTION, }; extern const struct value_string assign_for_names[]; diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 09fb64f..0c85503 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -942,6 +942,7 @@ const struct value_string assign_for_names[] = { OSMO_VALUE_STRING(ASSIGN_FOR_NONE), OSMO_VALUE_STRING(ASSIGN_FOR_BSSMAP_REQ), + OSMO_VALUE_STRING(ASSIGN_FOR_CONGESTION_RESOLUTION), {} }; diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 5b7d4b1..84ddfa4 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -29,6 +29,7 @@ #include #include +#include #include #include #include @@ -812,7 +813,6 @@ /* Trigger handover or assignment depending on the target BTS */ static int trigger_local_ho_or_as(struct ho_candidate *c, uint8_t requirements) { - struct handover_out_req req; int afs_bias = 0; bool full_rate = false; @@ -868,23 +868,25 @@ } /* trigger handover or assignment */ - if (c->current.bts == c->target.bts) + if (c->current.bts == c->target.bts) { 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)); - else + 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, + .old_lchan = c->current.lchan, + .new_lchan_type = full_rate? GSM_LCHAN_TCH_F : GSM_LCHAN_TCH_H, + }; + bts_cell_ab(&req.target_cell_ab, c->target.bts); LOGPHOLCHANTOBTS(c->current.lchan, c->target.bts, LOGL_INFO, "Triggering handover to %s, due to %s\n", full_rate ? "TCH/F" : "TCH/H", ho_reason_name(global_ho_reason)); - - req = (struct handover_out_req){ - .from_hodec_id = HODEC2, - .old_lchan = c->current.lchan, - .new_lchan_type = full_rate? GSM_LCHAN_TCH_F : GSM_LCHAN_TCH_H, - }; - bts_cell_ab(&req.target_cell_ab, c->target.bts); - handover_request(&req); + handover_request(&req); + } return 0; } diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 6f633cd..b2eb5cc 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -372,6 +373,10 @@ snprintf(imsi, sizeof(imsi), "%06u", next_imsi); lchan->conn->bsub = bsc_subscr_find_or_create_by_imsi(net->bsc_subscribers, imsi, BSUB_USE_CONN); + /* Set RTP data that the MSC normally would have sent */ + OSMO_STRLCPY_ARRAY(conn->user_plane.msc_assigned_rtp_addr, "1.2.3.4"); + conn->user_plane.msc_assigned_rtp_port = 1234; + /* kick the FSM from INIT through to the ACTIVE state */ osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_MO_COMPL_L3, NULL); osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_A_CONN_CFM, NULL); @@ -535,6 +540,9 @@ static struct gsm_lchan *new_ho_cmd = NULL; static struct gsm_lchan *last_ho_cmd = NULL; +static struct gsm_lchan *new_as_cmd = NULL; +static struct gsm_lchan *last_as_cmd = NULL; + /* send channel activation ack */ static void send_chan_act_ack(struct gsm_lchan *lchan, int act) { @@ -553,6 +561,44 @@ abis_rsl_rcvmsg(msg); } +/* Send RR Assignment Complete for SAPI[0] */ +static void send_assignment_complete(struct gsm_lchan *lchan) +{ + struct msgb *msg = msgb_alloc_headroom(256, 64, "RSL"); + struct abis_rsl_rll_hdr *rh; + uint8_t chan_nr = gsm_lchan2chan_nr(lchan); + uint8_t *buf; + struct gsm48_hdr *gh; + struct gsm48_ho_cpl *hc; + + fprintf(stderr, "- Send RR Assignment Complete for %s\n", gsm_lchan_name(lchan)); + + rh = (struct abis_rsl_rll_hdr *) msgb_put(msg, sizeof(*rh)); + rh->c.msg_discr = ABIS_RSL_MDISC_RLL; + rh->c.msg_type = RSL_MT_DATA_IND; + rh->ie_chan = RSL_IE_CHAN_NR; + rh->chan_nr = chan_nr; + rh->ie_link_id = RSL_IE_LINK_IDENT; + rh->link_id = 0x00; + + buf = msgb_put(msg, 3); + buf[0] = RSL_IE_L3_INFO; + buf[1] = (sizeof(*gh) + sizeof(*hc)) >> 8; + buf[2] = (sizeof(*gh) + sizeof(*hc)) & 0xff; + + gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); + hc = (struct gsm48_ho_cpl *) msgb_put(msg, sizeof(*hc)); + + gh->proto_discr = GSM48_PDISC_RR; + gh->msg_type = GSM48_MT_RR_ASS_COMPL; + + msg->dst = lchan->ts->trx->rsl_link; + msg->l2h = (unsigned char *)rh; + msg->l3h = (unsigned char *)gh; + + abis_rsl_rcvmsg(msg); +} + /* Send RLL Est Ind for SAPI[0] */ static void send_est_ind(struct gsm_lchan *lchan) { @@ -700,14 +746,21 @@ gh = (struct gsm48_hdr*)msg->l3h; switch (gh->msg_type) { case GSM48_MT_RR_HANDO_CMD: - case GSM48_MT_RR_ASS_CMD: - if (new_ho_cmd) { + if (new_ho_cmd || new_as_cmd) { fprintf(stderr, "Test script is erratic: seen a Handover Command" - " while a previous Handover Command is still unhandled\n"); + " while a previous Assignment or Handover Command is still unhandled\n"); exit(1); } new_ho_cmd = lchan; break; + case GSM48_MT_RR_ASS_CMD: + if (new_ho_cmd || new_as_cmd) { + fprintf(stderr, "Test script is erratic: seen an Assignment Command" + " while a previous Assignment or Handover Command is still unhandled\n"); + exit(1); + } + new_as_cmd = lchan; + break; } break; case RSL_MT_IPAC_CRCX: @@ -1037,22 +1090,40 @@ static void _expect_ho_cmd(struct gsm_lchan *lchan) { - fprintf(stderr, "- Expecting Handover/Assignment Command at %s\n", + fprintf(stderr, "- Expecting Handover Command at %s\n", gsm_lchan_name(lchan)); if (!new_ho_cmd) { fprintf(stderr, "Test failed, no Handover Command\n"); exit(1); } - fprintf(stderr, " * Got Handover/Assignment Command at %s\n", gsm_lchan_name(new_ho_cmd)); + fprintf(stderr, " * Got Handover Command at %s\n", gsm_lchan_name(new_ho_cmd)); if (new_ho_cmd != lchan) { - fprintf(stderr, "Test failed, Handover/Assignment Command not on the expected lchan\n"); + fprintf(stderr, "Test failed, Handover Command not on the expected lchan\n"); exit(1); } last_ho_cmd = new_ho_cmd; new_ho_cmd = NULL; } +static void _expect_as_cmd(struct gsm_lchan *lchan) +{ + fprintf(stderr, "- Expecting Assignment Command at %s\n", + gsm_lchan_name(lchan)); + + if (!new_as_cmd) { + fprintf(stderr, "Test failed, no Assignment Command\n"); + exit(1); + } + fprintf(stderr, " * Got Assignment Command at %s\n", gsm_lchan_name(new_as_cmd)); + if (new_as_cmd != lchan) { + fprintf(stderr, "Test failed, Assignment Command not on the expected lchan\n"); + exit(1); + } + last_as_cmd = new_as_cmd; + new_as_cmd = NULL; +} + DEFUN(expect_chan, expect_chan_cmd, "expect-chan " LCHAN_ARGS, "Expect RSL Channel Activation of a specific lchan\n" @@ -1073,6 +1144,16 @@ return CMD_SUCCESS; } +DEFUN(expect_assignment_command, expect_assignment_command_cmd, + "expect-as-cmd " LCHAN_ARGS, + "Expect Assignment Command for a given lchan\n" + LCHAN_ARGS_DOC) +{ + VTY_ECHO(); + _expect_as_cmd(parse_lchan_args(argv)); + return CMD_SUCCESS; +} + DEFUN(ho_detection, ho_detection_cmd, "ho-detect", "Send Handover Detection to the most recent HO target lchan\n") @@ -1109,7 +1190,7 @@ "Expect a handover of a specific lchan to a specific target lchan;" " shorthand for expect-chan, ack-chan, expect-ho, ho-complete.\n" "lchan to handover from\n" LCHAN_ARGS_DOC - "lchan that to handover to\n" LCHAN_ARGS_DOC) + "lchan to handover to\n" LCHAN_ARGS_DOC) { struct gsm_lchan *from = parse_lchan_args(argv); struct gsm_lchan *to = parse_lchan_args(argv+4); @@ -1119,6 +1200,31 @@ _expect_ho_cmd(from); send_ho_detect(to); send_ho_complete(to, true); + + lchan_release_ack(from); + return CMD_SUCCESS; +} + +DEFUN(expect_as, expect_as_cmd, + "expect-as from " LCHAN_ARGS " to " LCHAN_ARGS, + "Expect an intra-cell re-assignment of a specific lchan to a specific target lchan;" + " shorthand for expect-chan, ack-chan, expect-as, TODO.\n" + "lchan to be re-assigned elsewhere\n" LCHAN_ARGS_DOC + "new lchan to re-assign to\n" LCHAN_ARGS_DOC) +{ + struct gsm_lchan *from = parse_lchan_args(argv); + struct gsm_lchan *to = parse_lchan_args(argv+4); + VTY_ECHO(); + + _expect_chan_activ(to); + if (from->ts->trx->bts != to->ts->trx->bts) { + vty_out(vty, "%% Error: re-assignment only works within the same BTS%s", VTY_NEWLINE); + return CMD_WARNING; + } + _expect_as_cmd(from); + send_assignment_complete(to); + send_est_ind(to); + lchan_release_ack(from); return CMD_SUCCESS; } @@ -1209,9 +1315,11 @@ install_element(CONFIG_NODE, &expect_no_chan_cmd); install_element(CONFIG_NODE, &expect_chan_cmd); install_element(CONFIG_NODE, &expect_handover_command_cmd); + install_element(CONFIG_NODE, &expect_assignment_command_cmd); install_element(CONFIG_NODE, &ho_detection_cmd); install_element(CONFIG_NODE, &ho_complete_cmd); install_element(CONFIG_NODE, &expect_ho_cmd); + install_element(CONFIG_NODE, &expect_as_cmd); install_element(CONFIG_NODE, &ho_failed_cmd); install_element(CONFIG_NODE, &expect_ts_use_cmd); install_element(CONFIG_NODE, &codec_f_cmd); @@ -1330,7 +1438,8 @@ osmo_init_logging2(ctx, &log_info); - log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_NONE); + log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_BASENAME); + log_set_print_filename_pos(osmo_stderr_target, LOG_FILENAME_POS_LINE_END); log_set_print_category(osmo_stderr_target, 1); log_set_print_category_hex(osmo_stderr_target, 0); log_set_print_level(osmo_stderr_target, 1); @@ -1349,6 +1458,7 @@ lchan_fsm_init(); bsc_subscr_conn_fsm_init(); handover_fsm_init(); + assignment_fsm_init(); ho_set_algorithm(bsc_gsmnet->ho, 2); ho_set_ho_active(bsc_gsmnet->ho, true); @@ -1437,3 +1547,12 @@ { return "fake-ci"; } +const struct mgcp_conn_peer *osmo_mgcpc_ep_ci_get_rtp_info(const struct osmo_mgcpc_ep_ci *ci) +{ + static struct mgcp_conn_peer ret = { + .addr = "1.2.3.4", + .port = 1234, + .endpoint = "fake-endpoint", + }; + return &ret; +} diff --git a/tests/handover/test_amr_tch_f_to_h_congestion_assignment.ho_vty b/tests/handover/test_amr_tch_f_to_h_congestion_assignment.ho_vty index d6515fc..84f34ff 100644 --- a/tests/handover/test_amr_tch_f_to_h_congestion_assignment.ho_vty +++ b/tests/handover/test_amr_tch_f_to_h_congestion_assignment.ho_vty @@ -14,6 +14,5 @@ meas-rep lchan 0 0 6 0 rxlev 20 rxqual 0 ta 0 expect-no-chan congestion-check -expect-ho from lchan 0 0 6 0 to lchan 0 0 1 0 +expect-as from lchan 0 0 6 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F - - - TCH/HH - - - diff --git a/tests/handover/test_amr_tch_f_to_h_congestion_assignment_2.ho_vty b/tests/handover/test_amr_tch_f_to_h_congestion_assignment_2.ho_vty index e7778d0..2fa08da 100644 --- a/tests/handover/test_amr_tch_f_to_h_congestion_assignment_2.ho_vty +++ b/tests/handover/test_amr_tch_f_to_h_congestion_assignment_2.ho_vty @@ -15,10 +15,10 @@ meas-rep lchan 0 0 6 0 rxlev 20 rxqual 0 ta 0 expect-no-chan congestion-check -expect-ho from lchan 0 0 6 0 to lchan 0 0 1 0 +expect-as from lchan 0 0 6 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F - - - TCH/HH - - congestion-check -expect-ho from lchan 0 0 5 0 to lchan 0 0 2 0 +expect-as from lchan 0 0 5 0 to lchan 0 0 2 0 expect-ts-use trx 0 0 states * TCH/F TCH/F - - TCH/-H - - congestion-check expect-no-chan diff --git a/tests/handover/test_amr_tch_f_to_h_congestion_assignment_3.ho_vty b/tests/handover/test_amr_tch_f_to_h_congestion_assignment_3.ho_vty index ffa3614..0dca250 100644 --- a/tests/handover/test_amr_tch_f_to_h_congestion_assignment_3.ho_vty +++ b/tests/handover/test_amr_tch_f_to_h_congestion_assignment_3.ho_vty @@ -10,6 +10,6 @@ meas-rep lchan 0 0 1 0 rxlev 30 rxqual 0 ta 0 neighbors 30 expect-no-chan congestion-check -expect-ho from lchan 0 0 1 0 to lchan 0 0 5 1 +expect-as from lchan 0 0 1 0 to lchan 0 0 5 1 expect-ts-use trx 0 0 states * - TCH/F - - TCH/HH - - diff --git a/tests/handover/test_amr_tch_h_to_f_congestion.ho_vty b/tests/handover/test_amr_tch_h_to_f_congestion.ho_vty index 4d1194c..0252d9f 100644 --- a/tests/handover/test_amr_tch_h_to_f_congestion.ho_vty +++ b/tests/handover/test_amr_tch_h_to_f_congestion.ho_vty @@ -10,5 +10,5 @@ meas-rep lchan 0 0 4 0 rxlev 30 rxqual 0 ta 0 expect-no-chan congestion-check -expect-ho from lchan 0 0 4 0 to lchan 0 0 1 0 +expect-as from lchan 0 0 4 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F - - - - - * diff --git a/tests/handover/test_amr_tch_h_to_f_congestion_two_cells.ho_vty b/tests/handover/test_amr_tch_h_to_f_congestion_two_cells.ho_vty index 7cbcd4b..fecd068 100644 --- a/tests/handover/test_amr_tch_h_to_f_congestion_two_cells.ho_vty +++ b/tests/handover/test_amr_tch_h_to_f_congestion_two_cells.ho_vty @@ -12,6 +12,6 @@ meas-rep repeat 10 lchan 1 0 4 0 rxlev 30 rxqual 0 ta 0 neighbors 20 expect-no-chan congestion-check -expect-ho from lchan 1 0 4 0 to lchan 1 0 1 0 +expect-as from lchan 1 0 4 0 to lchan 1 0 1 0 expect-ts-use trx 0 0 states * - - - - - - * expect-ts-use trx 1 0 states * TCH/F - - - - - * diff --git a/tests/handover/test_balance_congestion_tchf_tchh.ho_vty b/tests/handover/test_balance_congestion_tchf_tchh.ho_vty index 62f07bf..f151b2a 100644 --- a/tests/handover/test_balance_congestion_tchf_tchh.ho_vty +++ b/tests/handover/test_balance_congestion_tchf_tchh.ho_vty @@ -23,7 +23,7 @@ set-ts-use trx 0 0 states * TCH/F TCH/F - - TCH/HH TCH/HH TCH/HH meas-rep lchan * * * * rxlev 10 rxqual 0 ta 0 congestion-check -expect-ho from lchan 0 0 5 0 to lchan 0 0 3 0 +expect-as from lchan 0 0 5 0 to lchan 0 0 3 0 # Now similar load percentages, just with different min-free-slots settings for tch/f vs tch/h. @@ -50,4 +50,4 @@ set-ts-use trx 0 0 states * TCH/F TCH/F - - TCH/HH TCH/HH TCH/H- meas-rep lchan * * * * rxlev 20 rxqual 0 ta 0 congestion-check -expect-ho from lchan 0 0 5 0 to lchan 0 0 3 0 +expect-as from lchan 0 0 5 0 to lchan 0 0 3 0 diff --git a/tests/handover/test_congestion_intra_vs_inter_cell.ho_vty b/tests/handover/test_congestion_intra_vs_inter_cell.ho_vty index d93f56c..ddf6802 100644 --- a/tests/handover/test_congestion_intra_vs_inter_cell.ho_vty +++ b/tests/handover/test_congestion_intra_vs_inter_cell.ho_vty @@ -12,7 +12,7 @@ expect-no-chan congestion-check -expect-ho from lchan 0 0 6 0 to lchan 0 0 1 0 +expect-as from lchan 0 0 6 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F - - - TCH/H- - * expect-ts-use trx 1 0 states * - - - - - - * @@ -27,7 +27,7 @@ expect-no-chan congestion-check -expect-ho from lchan 0 0 5 0 to lchan 0 0 1 0 +expect-as from lchan 0 0 5 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F - - - - TCH/H- * expect-ts-use trx 1 0 states * - - - - - - * @@ -42,7 +42,7 @@ expect-no-chan congestion-check -expect-ho from lchan 0 0 5 0 to lchan 0 0 1 0 +expect-as from lchan 0 0 5 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F - - - - TCH/H- * expect-ts-use trx 1 0 states * - - - - - - * @@ -57,7 +57,7 @@ expect-no-chan congestion-check -expect-ho from lchan 0 0 5 0 to lchan 0 0 1 0 +expect-as from lchan 0 0 5 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F - - - - TCH/H- * expect-ts-use trx 1 0 states * - - - - - - * @@ -72,7 +72,7 @@ expect-no-chan congestion-check -expect-ho from lchan 0 0 5 0 to lchan 0 0 1 0 +expect-as from lchan 0 0 5 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F - - - - TCH/H- * expect-ts-use trx 1 0 states * - - - - - - * @@ -87,7 +87,7 @@ expect-no-chan congestion-check -expect-ho from lchan 0 0 6 0 to lchan 0 0 1 0 +expect-as from lchan 0 0 6 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F - - - TCH/H- - * expect-ts-use trx 1 0 states * - - - - - - * diff --git a/tests/handover/test_disabled_ho_and_as.ho_vty b/tests/handover/test_disabled_ho_and_as.ho_vty index ffd0311..586c3a7 100644 --- a/tests/handover/test_disabled_ho_and_as.ho_vty +++ b/tests/handover/test_disabled_ho_and_as.ho_vty @@ -19,7 +19,7 @@ bts 0 handover2 assignment 1 meas-rep lchan 0 0 5 0 rxlev 0 rxqual 0 ta 0 neighbors 30 -expect-ho from lchan 0 0 5 0 to lchan 0 0 1 0 +expect-as from lchan 0 0 5 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F - - - - - - network bts 0 diff --git a/tests/handover/test_dyn_ts_amr_tch_f_to_h_congestion_assignment.ho_vty b/tests/handover/test_dyn_ts_amr_tch_f_to_h_congestion_assignment.ho_vty index 85b00e8..6990132 100644 --- a/tests/handover/test_dyn_ts_amr_tch_f_to_h_congestion_assignment.ho_vty +++ b/tests/handover/test_dyn_ts_amr_tch_f_to_h_congestion_assignment.ho_vty @@ -22,11 +22,11 @@ expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F TCH/F TCH/F pdch * congestion-check -expect-ho from lchan 0 0 5 0 to lchan 0 0 6 0 +expect-as from lchan 0 0 5 0 to lchan 0 0 6 0 expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F TCH/F pdch TCH/H- * congestion-check -expect-ho from lchan 0 0 4 0 to lchan 0 0 6 1 +expect-as from lchan 0 0 4 0 to lchan 0 0 6 1 expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F pdch pdch TCH/HH * congestion-check @@ -37,11 +37,11 @@ expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F TCH/F pdch TCH/HH * congestion-check -expect-ho from lchan 0 0 4 0 to lchan 0 0 5 0 +expect-as from lchan 0 0 4 0 to lchan 0 0 5 0 expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F pdch TCH/H- TCH/HH * congestion-check -expect-ho from lchan 0 0 1 0 to lchan 0 0 5 1 +expect-as from lchan 0 0 1 0 to lchan 0 0 5 1 expect-ts-use trx 0 0 states * - TCH/F TCH/F pdch TCH/HH TCH/HH * congestion-check @@ -52,11 +52,11 @@ expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F pdch TCH/HH TCH/HH * congestion-check -expect-ho from lchan 0 0 1 0 to lchan 0 0 4 0 +expect-as from lchan 0 0 1 0 to lchan 0 0 4 0 expect-ts-use trx 0 0 states * - TCH/F TCH/F TCH/H- TCH/HH TCH/HH * congestion-check -expect-ho from lchan 0 0 2 0 to lchan 0 0 4 1 +expect-as from lchan 0 0 2 0 to lchan 0 0 4 1 expect-ts-use trx 0 0 states * - - TCH/F TCH/HH TCH/HH TCH/HH * congestion-check diff --git a/tests/handover/test_dyn_ts_amr_tch_f_to_h_congestion_assignment_2.ho_vty b/tests/handover/test_dyn_ts_amr_tch_f_to_h_congestion_assignment_2.ho_vty index a798457..08bc151 100644 --- a/tests/handover/test_dyn_ts_amr_tch_f_to_h_congestion_assignment_2.ho_vty +++ b/tests/handover/test_dyn_ts_amr_tch_f_to_h_congestion_assignment_2.ho_vty @@ -14,14 +14,14 @@ # (there must be at least one measurement report on each lchan for congestion check to work) meas-rep lchan * * * * rxlev 40 rxqual 0 ta 0 neighbors 30 congestion-check -expect-ho from lchan 0 0 1 0 to lchan 0 0 4 0 +expect-as from lchan 0 0 1 0 to lchan 0 0 4 0 expect-ts-use trx 0 0 states * pdch - - TCH/H- * * * # Again with one more TCH/H occupied, there will still be two free TCH/H after HO on the dyn TS set-ts-use trx 0 0 states * TCH/F - - TCH/H- * * * meas-rep lchan * * * * rxlev 40 rxqual 0 ta 0 neighbors 30 congestion-check -expect-ho from lchan 0 0 1 0 to lchan 0 0 4 1 +expect-as from lchan 0 0 1 0 to lchan 0 0 4 1 expect-ts-use trx 0 0 states * pdch - - TCH/HH * * * # Again, with the target being a dyn TS @@ -36,12 +36,12 @@ set-ts-use trx 1 0 states * TCH/F TCH/F - pdch * * * meas-rep lchan 1 * * * rxlev 40 rxqual 0 ta 0 neighbors 30 congestion-check -expect-ho from lchan 1 0 1 0 to lchan 1 0 4 0 +expect-as from lchan 1 0 1 0 to lchan 1 0 4 0 expect-ts-use trx 1 0 states * pdch TCH/F - TCH/H- * * * # Again with one more TCH/H occupied, there will still be two free TCH/H after HO on the dyn TS set-ts-use trx 1 0 states * TCH/F TCH/F - TCH/H- * * * meas-rep lchan 1 * * * rxlev 40 rxqual 0 ta 0 neighbors 30 congestion-check -expect-ho from lchan 1 0 1 0 to lchan 1 0 4 1 +expect-as from lchan 1 0 1 0 to lchan 1 0 4 1 expect-ts-use trx 1 0 states * pdch TCH/F - TCH/HH * * * diff --git a/tests/handover/test_dyn_ts_amr_tch_h_to_f_congestion_assignment_2.ho_vty b/tests/handover/test_dyn_ts_amr_tch_h_to_f_congestion_assignment_2.ho_vty index de9595b..bf1edf2 100644 --- a/tests/handover/test_dyn_ts_amr_tch_h_to_f_congestion_assignment_2.ho_vty +++ b/tests/handover/test_dyn_ts_amr_tch_h_to_f_congestion_assignment_2.ho_vty @@ -14,14 +14,14 @@ # (there must be at least one measurement report on each lchan for congestion check to work) meas-rep lchan * * * * rxlev 40 rxqual 0 ta 0 neighbors 30 congestion-check -expect-ho from lchan 0 0 1 0 to lchan 0 0 2 0 +expect-as from lchan 0 0 1 0 to lchan 0 0 2 0 expect-ts-use trx 0 0 states * pdch TCH/F - - * * * # Again with one more TCH/F occupied, there will still be two free TCH/F after HO on the dyn TS set-ts-use trx 0 0 states * TCH/H- - - TCH/F * * * meas-rep lchan * * * * rxlev 40 rxqual 0 ta 0 neighbors 30 congestion-check -expect-ho from lchan 0 0 1 0 to lchan 0 0 2 0 +expect-as from lchan 0 0 1 0 to lchan 0 0 2 0 expect-ts-use trx 0 0 states * pdch TCH/F - TCH/F * * * # (TCH/H -> TCH/F onto a dyn TS will always make TCH/H congestion worse, so there is no useful test case left here) diff --git a/tests/handover/test_dyn_ts_favor_moving_half_used_tch_h.ho_vty b/tests/handover/test_dyn_ts_favor_moving_half_used_tch_h.ho_vty index b25cf96..6548360 100644 --- a/tests/handover/test_dyn_ts_favor_moving_half_used_tch_h.ho_vty +++ b/tests/handover/test_dyn_ts_favor_moving_half_used_tch_h.ho_vty @@ -10,7 +10,7 @@ set-ts-use trx 0 0 states * - TCH/HH TCH/H- TCH/HH pdch - - meas-rep lchan * * * * rxlev 30 rxqual 0 ta 0 congestion-check -expect-ho from lchan 0 0 3 0 to lchan 0 0 1 0 +expect-as from lchan 0 0 3 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F TCH/HH pdch TCH/HH pdch - - # clear measurements for the next run @@ -24,7 +24,7 @@ meas-rep lchan 0 0 4 0 rxlev 32 rxqual 0 ta 0 meas-rep lchan 0 0 4 1 rxlev 33 rxqual 0 ta 0 congestion-check -expect-ho from lchan 0 0 3 0 to lchan 0 0 1 0 +expect-as from lchan 0 0 3 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F TCH/HH pdch TCH/HH pdch - - # clear measurements for the next run @@ -38,5 +38,5 @@ meas-rep lchan 0 0 4 0 rxlev 32 rxqual 0 ta 0 meas-rep lchan 0 0 4 1 rxlev 31 rxqual 0 ta 0 congestion-check -expect-ho from lchan 0 0 3 0 to lchan 0 0 1 0 +expect-as from lchan 0 0 3 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F TCH/HH pdch TCH/HH pdch - - -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24364 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id56a890106b93fcee67ac9401b890e7b63bba421 Gerrit-Change-Number: 24364 Gerrit-PatchSet: 7 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 Tue Jun 1 17:29:44 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 17:29:44 +0000 Subject: Change in osmo-bsc[master]: RSL link: explicitly select rsl_link based on lchan In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24365 ) Change subject: RSL link: explicitly select rsl_link based on lchan ...................................................................... RSL link: explicitly select rsl_link based on lchan Prepare for VAMOS, where there will be secondary "shadow" lchans serving secondary MS on the same timeslots. For those, RSL messages will need to reflect a different stream ID aka TEI, via an rsl_link_vamos. Make sure that every code path that sends an RSL message for a specific lchan selects the RSL link via the new function rsl_chan_link(). When VAMOS is implemented, this function can select the proper RSL stream. Rename gsm_bts_trx.rsl_link to rsl_link_primary. This makes sure I'm not missing any uses of the RSL link, and clarifies the code. Related: SYS#5315 OS#4940 Change-Id: Ifbf16bb296e91f151d19e15e39f5c953ad77ff17 --- M include/osmocom/bsc/abis_rsl.h M include/osmocom/bsc/bts_trx.h M src/ipaccess/ipaccess-config.c M src/osmo-bsc/abis_nm.c M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/acc.c M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/bts_siemens_bs11.c M src/osmo-bsc/e1_config.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/nm_bb_transc_fsm.c M tests/gsm0408/gsm0408_test.c M tests/handover/handover_test.c 15 files changed, 69 insertions(+), 62 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved fixeria: Looks good to me, approved diff --git a/include/osmocom/bsc/abis_rsl.h b/include/osmocom/bsc/abis_rsl.h index 158f7fb..dcae348 100644 --- a/include/osmocom/bsc/abis_rsl.h +++ b/include/osmocom/bsc/abis_rsl.h @@ -44,6 +44,8 @@ const char *ip_to_a(uint32_t ip); +struct e1inp_sign_link *rsl_chan_link(const struct gsm_lchan *lchan); + int rsl_bcch_info(const struct gsm_bts_trx *trx, enum osmo_sysinfo_type si_type, const uint8_t *data, int len); int rsl_sacch_filling(struct gsm_bts_trx *trx, uint8_t type, const uint8_t *data, int len); diff --git a/include/osmocom/bsc/bts_trx.h b/include/osmocom/bsc/bts_trx.h index e42e1e4..4d705d0 100644 --- a/include/osmocom/bsc/bts_trx.h +++ b/include/osmocom/bsc/bts_trx.h @@ -33,8 +33,8 @@ uint8_t nr; /* how do we talk RSL with this TRX? */ struct gsm_e1_subslot rsl_e1_link; - uint8_t rsl_tei; - struct e1inp_sign_link *rsl_link; + uint8_t rsl_tei_primary; + struct e1inp_sign_link *rsl_link_primary; /* Timeout for initiating the RSL connection. */ struct osmo_timer_list rsl_connect_timeout; diff --git a/src/ipaccess/ipaccess-config.c b/src/ipaccess/ipaccess-config.c index cf649bd..02501bd 100644 --- a/src/ipaccess/ipaccess-config.c +++ b/src/ipaccess/ipaccess-config.c @@ -159,7 +159,7 @@ /* create back-links from bts/trx */ bts->oml_link = oml_link; - bts->c0->rsl_link = rsl_link; + bts->c0->rsl_link_primary = rsl_link; /* default port at BTS for incoming connections is 3006 */ if (sin->sin_port == 0) @@ -1122,7 +1122,7 @@ } bts->oml_link->ts->sign.delay = 10; - bts->c0->rsl_link->ts->sign.delay = 10; + bts->c0->rsl_link_primary->ts->sign.delay = 10; while (1) { rc = osmo_select_main(0); if (rc < 0) diff --git a/src/osmo-bsc/abis_nm.c b/src/osmo-bsc/abis_nm.c index 4fba55c..c98d225 100644 --- a/src/osmo-bsc/abis_nm.c +++ b/src/osmo-bsc/abis_nm.c @@ -893,7 +893,7 @@ } llist_for_each_entry(trx, &bts->trx_list, list) { - if (!trx->rsl_link) + if (!trx->rsl_link_primary) return false; if (!trx_is_usable(trx)) diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 4c108d0..1c2b1cd 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -251,7 +251,7 @@ msgb_tlv_put(msg, RSL_IE_FULL_BCCH_INFO, len, data); } - msg->dst = trx->rsl_link; + msg->dst = trx->rsl_link_primary; return abis_rsl_sendmsg(msg); } @@ -270,7 +270,7 @@ if (data) msgb_tl16v_put(msg, RSL_IE_L3_INFO, len, data); - msg->dst = trx->rsl_link; + msg->dst = trx->rsl_link_primary; return abis_rsl_sendmsg(msg); } @@ -290,7 +290,7 @@ if (data) msgb_tl16v_put(msg, RSL_IE_L3_INFO, len, data); - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(lchan); return abis_rsl_sendmsg(msg); } @@ -320,7 +320,7 @@ /* BS Power Control Parameters (if supported by BTS model) */ add_power_control_params(msg, RSL_IE_BS_POWER_PARAM, lchan); - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(lchan); return abis_rsl_sendmsg(msg); } @@ -345,7 +345,7 @@ /* MS Power Control Parameters (if supported by BTS model) */ add_power_control_params(msg, RSL_IE_MS_POWER_PARAM, lchan); - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(lchan); return abis_rsl_sendmsg(msg); } @@ -605,7 +605,7 @@ rep_acch_cap_for_bts(lchan, msg); - msg->dst = trx->rsl_link; + msg->dst = rsl_chan_link(lchan); rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHAN_ACT_TOTAL]); switch (lchan->type) { @@ -665,7 +665,7 @@ rep_acch_cap_for_bts(lchan, msg); - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(lchan); return abis_rsl_sendmsg(msg); } @@ -697,7 +697,7 @@ init_dchan_hdr(dh, RSL_MT_ENCR_CMD); dh->chan_nr = chan_nr; - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(lchan); return abis_rsl_sendmsg(msg); } @@ -713,7 +713,7 @@ dh->chan_nr = gsm_lchan2chan_nr(lchan); msg->lchan = lchan; - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(lchan); DEBUGP(DRSL, "%s DEACTivate SACCH CMD\n", gsm_lchan_name(lchan)); @@ -732,7 +732,7 @@ dh->chan_nr = gsm_lchan2chan_nr(lchan); msg->lchan = lchan; - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(lchan); return abis_rsl_sendmsg(msg); } @@ -767,7 +767,7 @@ if (bts->type == GSM_BTS_TYPE_RBS2000 && is_gprs) msgb_tv_put(msg, RSL_IE_ERIC_PACKET_PAG_IND, 0); - msg->dst = bts->c0->rsl_link; + msg->dst = bts->c0->rsl_link_primary; return abis_rsl_sendmsg(msg); } @@ -827,7 +827,7 @@ break; } - msg->dst = bts->c0->rsl_link; + msg->dst = bts->c0->rsl_link_primary; return msg; } @@ -870,7 +870,7 @@ DEBUGP(DRSL, "%s TX Siemens MRPCI 0x%02x\n", gsm_lchan_name(lchan), *(uint8_t *)mrpci); - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(lchan); return abis_rsl_sendmsg(msg); } @@ -888,7 +888,7 @@ rsl_rll_push_l3(msg, RSL_MT_DATA_REQ, gsm_lchan2chan_nr(msg->lchan), link_id, 1); - msg->dst = msg->lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(msg->lchan); return abis_rsl_sendmsg(msg); } @@ -901,7 +901,7 @@ msg = rsl_rll_simple(RSL_MT_EST_REQ, gsm_lchan2chan_nr(lchan), link_id, 0); - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(lchan); DEBUGP(DRLL, "%s RSL RLL ESTABLISH REQ (link_id=0x%02x)\n", gsm_lchan_name(lchan), link_id); @@ -925,7 +925,7 @@ /* 0 is normal release, 1 is local end */ msgb_tv_put(msg, RSL_IE_RELEASE_MODE, release_mode); - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(lchan); DEBUGP(DRLL, "%s RSL RLL RELEASE REQ (link_id=0x%02x, reason=%u)\n", gsm_lchan_name(lchan), link_id, release_mode); @@ -2255,7 +2255,7 @@ LOG_LCHAN(lchan, LOGL_DEBUG, "Sending IPACC CRCX to BTS: speech_mode=0x%02x RTP_PAYLOAD=%d\n", lchan->abis_ip.speech_mode, lchan->abis_ip.rtp_payload); - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(lchan); return abis_rsl_sendmsg(msg); } @@ -2286,7 +2286,7 @@ if (lchan->abis_ip.rtp_payload2) msgb_tv_put(msg, RSL_IE_IPAC_RTP_PAYLOAD2, lchan->abis_ip.rtp_payload2); - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(lchan); return msg; } @@ -2483,7 +2483,7 @@ } } - msg->dst = ts->trx->rsl_link; + msg->dst = ts->trx->rsl_link_primary; return abis_rsl_sendmsg(msg); } @@ -2498,7 +2498,7 @@ dh->c.msg_discr = ABIS_RSL_MDISC_DED_CHAN; dh->chan_nr = gsm_pchan2chan_nr(GSM_PCHAN_TCH_F, ts->nr, 0); - msg->dst = ts->trx->rsl_link; + msg->dst = ts->trx->rsl_link_primary; return abis_rsl_sendmsg(msg); } @@ -2603,7 +2603,7 @@ msgb_tlv_put(msg, RSL_IE_SMSCB_MSG, len, data); - msg->dst = bts->c0->rsl_link; + msg->dst = bts->c0->rsl_link_primary; return abis_rsl_sendmsg(msg); } @@ -2629,7 +2629,7 @@ if (use_extended_cbch) msgb_tv_put(cb_cmd, RSL_IE_SMSCB_CHAN_INDICATOR, 0x01); - cb_cmd->dst = bts->c0->rsl_link; + cb_cmd->dst = bts->c0->rsl_link_primary; return abis_rsl_sendmsg(cb_cmd); } @@ -2643,7 +2643,7 @@ ch->msg_discr = ABIS_RSL_MDISC_TRX; ch->msg_type = 0x40; /* Nokia SI Begin */ - msg->dst = trx->rsl_link; + msg->dst = trx->rsl_link_primary; return abis_rsl_sendmsg(msg); } @@ -2659,7 +2659,7 @@ msgb_tv_put(msg, 0xFD, 0x00); /* Nokia Pagemode Info, No paging reorganisation required */ - msg->dst = trx->rsl_link; + msg->dst = trx->rsl_link_primary; return abis_rsl_sendmsg(msg); } @@ -2676,7 +2676,12 @@ msgb_tv_put(msg, RSL_IE_CHAN_NR, channel); msgb_tv_put(msg, RSL_IE_BS_POWER, reduction); /* reduction in 2dB steps */ - msg->dst = trx->rsl_link; + msg->dst = trx->rsl_link_primary; return abis_rsl_sendmsg(msg); } + +struct e1inp_sign_link *rsl_chan_link(const struct gsm_lchan *lchan) +{ + return lchan->ts->trx->rsl_link_primary; +} diff --git a/src/osmo-bsc/acc.c b/src/osmo-bsc/acc.c index 06f96c6..9734a28 100644 --- a/src/osmo-bsc/acc.c +++ b/src/osmo-bsc/acc.c @@ -439,7 +439,7 @@ return 0; /* RSL must already be up. We cannot send RACH system information to the BTS otherwise. */ - if (trx->rsl_link == NULL) { + if (trx->rsl_link_primary == NULL) { LOG_TRX(trx, DRSL, LOGL_DEBUG, "ACC RAMP: ignoring state change because RSL link is down\n"); return 0; diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 43804a2..aa9d536 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -1136,7 +1136,6 @@ sapi = link_id & 0x7; msg->lchan = conn->lchan; - msg->dst = msg->lchan->ts->trx->rsl_link; /* If we are on a TCH and need to submit a SMS (on SAPI=3) we need to use the SACH */ if (allow_sacch && sapi != 0) { diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 09aec2b..89f8c0e 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -735,7 +735,7 @@ 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, VTY_NEWLINE); + 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); @@ -1326,10 +1326,10 @@ static void trx_dump_vty(struct vty *vty, struct gsm_bts_trx *trx, bool print_rsl, bool show_connected) { - if (show_connected && !trx->rsl_link) + if (show_connected && !trx->rsl_link_primary) return; - if (!show_connected && trx->rsl_link) + if (!show_connected && trx->rsl_link_primary) return; vty_out(vty, "TRX %u of BTS %u is on ARFCN %u%s", @@ -1341,15 +1341,15 @@ 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? "connected" : "disconnected", VTY_NEWLINE); + 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); - e1isl_dump_vty_tcp(vty, trx->rsl_link); + 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); + e1isl_dump_vty(vty, trx->rsl_link_primary); } } @@ -5449,7 +5449,7 @@ { struct gsm_bts_trx *trx = vty->index; - trx->rsl_tei = atoi(argv[0]); + trx->rsl_tei_primary = atoi(argv[0]); return CMD_SUCCESS; } diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c index 019c8b8..1e3e9c1 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts.c @@ -525,12 +525,12 @@ /* These are exported because they are used by the VTY interface. */ void ipaccess_drop_rsl(struct gsm_bts_trx *trx, const char *reason) { - if (!trx->rsl_link) + if (!trx->rsl_link_primary) return; LOG_TRX(trx, DLINP, LOGL_NOTICE, "Dropping RSL link: %s\n", reason); - e1inp_sign_link_destroy(trx->rsl_link); - trx->rsl_link = NULL; + e1inp_sign_link_destroy(trx->rsl_link_primary); + trx->rsl_link_primary = NULL; osmo_stat_item_dec(trx->bts->bts_statg->items[BTS_STAT_RSL_CONNECTED], 1); if (trx->bts->c0 == trx) @@ -729,10 +729,10 @@ line = bts->oml_link->ts->line; ts = e1inp_line_ipa_rsl_ts(line, dev->trx_id); e1inp_ts_config_sign(ts, line); - sign_link = trx->rsl_link = + sign_link = trx->rsl_link_primary = e1inp_sign_link_create(ts, E1INP_SIGN_RSL, - trx, trx->rsl_tei, 0); - trx->rsl_link->ts->sign.delay = 0; + trx, trx->rsl_tei_primary, 0); + trx->rsl_link_primary->ts->sign.delay = 0; if (!(sign_link->trx->bts->ip_access.flags & (RSL_UP << sign_link->trx->nr))) { e1inp_event(sign_link->ts, S_L_INP_TEI_UP, @@ -947,7 +947,7 @@ if (bs_power_ctrl->mode == GSM_PWR_CTRL_MODE_DYN_BTS) add_power_params_ie(msg, RSL_IE_BS_POWER_PARAM, bs_power_ctrl); - msg->dst = trx->rsl_link; + msg->dst = trx->rsl_link_primary; return abis_rsl_sendmsg(msg); } diff --git a/src/osmo-bsc/bts_siemens_bs11.c b/src/osmo-bsc/bts_siemens_bs11.c index 08694ea..0d71ce2 100644 --- a/src/osmo-bsc/bts_siemens_bs11.c +++ b/src/osmo-bsc/bts_siemens_bs11.c @@ -434,7 +434,7 @@ abis_nm_conn_terr_sign(trx, e1l->e1_nr, e1l->e1_ts, e1l->e1_ts_ss); abis_nm_establish_tei(trx->bts, trx->nr, e1l->e1_nr, - e1l->e1_ts, e1l->e1_ts_ss, trx->rsl_tei); + e1l->e1_ts, e1l->e1_ts_ss, trx->rsl_tei_primary); /* Set Radio Attributes */ if (trx == trx->bts->c0) diff --git a/src/osmo-bsc/e1_config.c b/src/osmo-bsc/e1_config.c index bdf7d1c..db77234 100644 --- a/src/osmo-bsc/e1_config.c +++ b/src/osmo-bsc/e1_config.c @@ -90,7 +90,7 @@ if (trx->bts->type == GSM_BTS_TYPE_RBS2000) { struct e1inp_sign_link *oml_link; oml_link = e1inp_sign_link_create(sign_ts, E1INP_SIGN_OML, trx, - trx->rsl_tei, SAPI_OML); + trx->rsl_tei_primary, SAPI_OML); if (!oml_link) { LOG_TRX(trx, DLINP, LOGL_ERROR, "TRX OML link creation failed\n"); return -ENOMEM; @@ -100,14 +100,14 @@ trx->oml_link = oml_link; } rsl_link = e1inp_sign_link_create(sign_ts, E1INP_SIGN_RSL, - trx, trx->rsl_tei, SAPI_RSL); + trx, trx->rsl_tei_primary, SAPI_RSL); if (!rsl_link) { LOG_TRX(trx, DLINP, LOGL_ERROR, "TRX RSL link creation failed\n"); return -ENOMEM; } - if (trx->rsl_link) - e1inp_sign_link_destroy(trx->rsl_link); - trx->rsl_link = rsl_link; + if (trx->rsl_link_primary) + e1inp_sign_link_destroy(trx->rsl_link_primary); + trx->rsl_link_primary = rsl_link; for (i = 0; i < TRX_NR_TS; i++) e1_reconfig_ts(&trx->ts[i]); diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index d392c05..302ea33 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -51,7 +51,7 @@ int gsm48_sendmsg(struct msgb *msg) { if (msg->lchan) - msg->dst = msg->lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(msg->lchan); msg->l3h = msg->data; return rsl_data_request(msg, 0); diff --git a/src/osmo-bsc/nm_bb_transc_fsm.c b/src/osmo-bsc/nm_bb_transc_fsm.c index 2fb52f9..9f2a804 100644 --- a/src/osmo-bsc/nm_bb_transc_fsm.c +++ b/src/osmo-bsc/nm_bb_transc_fsm.c @@ -119,7 +119,7 @@ abis_nm_opstart(trx->bts, NM_OC_BASEB_TRANSC, trx->bts->bts_nr, trx->nr, 0xff); /* TRX software is active, tell it to initiate RSL Link */ abis_nm_ipaccess_rsl_connect(trx, trx->bts->ip_access.rsl_ip, - 3003, trx->rsl_tei); + 3003, trx->rsl_tei_primary); } } diff --git a/tests/gsm0408/gsm0408_test.c b/tests/gsm0408/gsm0408_test.c index a1aa5f4..7c92c36 100644 --- a/tests/gsm0408/gsm0408_test.c +++ b/tests/gsm0408/gsm0408_test.c @@ -992,3 +992,4 @@ int rsl_sacch_filling(struct gsm_bts_trx *trx, uint8_t type, const uint8_t *data, int len) { return 0; } int rsl_bcch_info(const struct gsm_bts_trx *trx, enum osmo_sysinfo_type si_type, const uint8_t *data, int len) { return 0; } +struct e1inp_sign_link *rsl_chan_link(const struct gsm_lchan *lchan) { return NULL; } diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index b2eb5cc..0859a04 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -175,7 +175,7 @@ mr->bcch_f_nc6_hi = neighbors[5].bcch_f >> 2; mr->bcch_f_nc6_lo = neighbors[5].bcch_f & 3; - msg->dst = lchan->ts->trx->bts->c0->rsl_link; + msg->dst = rsl_chan_link(lchan); msg->l2h = (unsigned char *)dh; msg->l3h = (unsigned char *)gh; @@ -231,7 +231,7 @@ rsl_link = talloc_zero(ctx, struct e1inp_sign_link); rsl_link->trx = bts->c0; - bts->c0->rsl_link = rsl_link; + bts->c0->rsl_link_primary = rsl_link; for (trx_i = 0; trx_i < num_trx; trx_i++) { while (!(trx = gsm_bts_trx_num(bts, trx_i))) @@ -555,7 +555,7 @@ dh->ie_chan = RSL_IE_CHAN_NR; dh->chan_nr = gsm_lchan2chan_nr(lchan); - msg->dst = lchan->ts->trx->bts->c0->rsl_link; + msg->dst = rsl_chan_link(lchan); msg->l2h = (unsigned char *)dh; abis_rsl_rcvmsg(msg); @@ -592,7 +592,7 @@ gh->proto_discr = GSM48_PDISC_RR; gh->msg_type = GSM48_MT_RR_ASS_COMPL; - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(lchan); msg->l2h = (unsigned char *)rh; msg->l3h = (unsigned char *)gh; @@ -616,7 +616,7 @@ rh->ie_link_id = RSL_IE_LINK_IDENT; rh->link_id = 0x00; - msg->dst = lchan->ts->trx->bts->c0->rsl_link; + msg->dst = rsl_chan_link(lchan); msg->l2h = (unsigned char *)rh; abis_rsl_rcvmsg(msg); @@ -638,7 +638,7 @@ rh->ie_link_id = RSL_IE_LINK_IDENT; rh->link_id = 0x00; - msg->dst = lchan->ts->trx->bts->c0->rsl_link; + msg->dst = rsl_chan_link(lchan); msg->l2h = (unsigned char *)rh; abis_rsl_rcvmsg(msg); @@ -682,7 +682,7 @@ gh->msg_type = success ? GSM48_MT_RR_HANDO_COMPL : GSM48_MT_RR_HANDO_FAIL; - msg->dst = lchan->ts->trx->bts->c0->rsl_link; + msg->dst = rsl_chan_link(lchan); msg->l2h = (unsigned char *)rh; msg->l3h = (unsigned char *)gh; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifbf16bb296e91f151d19e15e39f5c953ad77ff17 Gerrit-Change-Number: 24365 Gerrit-PatchSet: 7 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 Tue Jun 1 17:29:44 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 17:29:44 +0000 Subject: Change in osmo-bsc[master]: add chan_mode_to_chan_type() In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24367 ) Change subject: add chan_mode_to_chan_type() ...................................................................... add chan_mode_to_chan_type() Move the conversion from chan_mode to lchan type out of the lchan_select_by_chan_mode() function, so that the conversion can be used by other code paths, coming up in VAMOS patches. Related: SYS#5315 OS#4940 Change-Id: I296651ebadba81f8b3db0d9bb5b5377877a43677 --- M include/osmocom/bsc/lchan_select.h M src/osmo-bsc/lchan_select.c 2 files changed, 25 insertions(+), 15 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/include/osmocom/bsc/lchan_select.h b/include/osmocom/bsc/lchan_select.h index 11f63b0..aa2f40e 100644 --- a/include/osmocom/bsc/lchan_select.h +++ b/include/osmocom/bsc/lchan_select.h @@ -2,6 +2,7 @@ #pragma once struct gsm_lchan *lchan_select_by_type(struct gsm_bts *bts, enum gsm_chan_t 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); diff --git a/src/osmo-bsc/lchan_select.c b/src/osmo-bsc/lchan_select.c index 626520c..b494f02 100644 --- a/src/osmo-bsc/lchan_select.c +++ b/src/osmo-bsc/lchan_select.c @@ -142,37 +142,46 @@ return _lc_dyn_find_bts(bts, pchan, pchan, log); } -struct gsm_lchan *lchan_select_by_chan_mode(struct gsm_bts *bts, - enum gsm48_chan_mode chan_mode, enum channel_rate chan_rate) +enum gsm_chan_t chan_mode_to_chan_type(enum gsm48_chan_mode chan_mode, enum channel_rate chan_rate) { - enum gsm_chan_t type; - switch (chan_mode) { case GSM48_CMODE_SIGN: switch (chan_rate) { - case CH_RATE_SDCCH: type = GSM_LCHAN_SDCCH; break; - case CH_RATE_HALF: type = GSM_LCHAN_TCH_H; break; - case CH_RATE_FULL: type = GSM_LCHAN_TCH_F; break; - default: return NULL; + case CH_RATE_SDCCH: + return GSM_LCHAN_SDCCH; + case CH_RATE_HALF: + return GSM_LCHAN_TCH_H; + case CH_RATE_FULL: + return GSM_LCHAN_TCH_F; + default: + return GSM_LCHAN_NONE; } - break; case GSM48_CMODE_SPEECH_EFR: /* EFR works over FR channels only */ if (chan_rate != CH_RATE_FULL) - return NULL; + return GSM_LCHAN_NONE; /* fall through */ case GSM48_CMODE_SPEECH_V1: case GSM48_CMODE_SPEECH_AMR: switch (chan_rate) { - case CH_RATE_HALF: type = GSM_LCHAN_TCH_H; break; - case CH_RATE_FULL: type = GSM_LCHAN_TCH_F; break; - default: return NULL; + case CH_RATE_HALF: + return GSM_LCHAN_TCH_H; + case CH_RATE_FULL: + return GSM_LCHAN_TCH_F; + default: + return GSM_LCHAN_NONE; } - break; default: - return NULL; + return GSM_LCHAN_NONE; } +} +struct gsm_lchan *lchan_select_by_chan_mode(struct gsm_bts *bts, + enum gsm48_chan_mode chan_mode, enum channel_rate chan_rate) +{ + 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); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24367 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I296651ebadba81f8b3db0d9bb5b5377877a43677 Gerrit-Change-Number: 24367 Gerrit-PatchSet: 9 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 Tue Jun 1 17:29:45 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 17:29:45 +0000 Subject: Change in osmo-bsc[master]: gsm48_lchan2chan_desc(): expose TSC as param In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24368 ) Change subject: gsm48_lchan2chan_desc(): expose TSC as param ...................................................................... gsm48_lchan2chan_desc(): expose TSC as param Expose the training sequence code used in the RSL Channel Description IE as an input parameter. So far the Channel Description IE is always composed with a training sequence code from gsm_ts_tsc(). For RSL commands enabling VAMOS mode, specific training sequence codes are required. So far, all callers still use gsm_ts_tsc(), making this a patch without any functional change. Upcoming patches will pass specific TSC as configured for VAMOS instead, in specific places. Related: SYS#5315 OS#4940 Change-Id: I49503a6f5d25bb3bc9a0505bd79ed1d5c4f50577 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lcs_loc_req.c M src/osmo-bsc/system_information.c 6 files changed, 21 insertions(+), 16 deletions(-) Approvals: Jenkins Builder: Verified 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 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 348735e..f469e41 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1003,8 +1003,10 @@ enum gsm_phys_chan_config as_pchan); void gsm48_lchan2chan_desc(struct gsm48_chan_desc *cd, - const struct gsm_lchan *lchan); -void gsm48_lchan2chan_desc_as_configured(struct gsm48_chan_desc *cd, const struct gsm_lchan *lchan); + const struct gsm_lchan *lchan, + uint8_t tsc); +void gsm48_lchan2chan_desc_as_configured(struct gsm48_chan_desc *cd, const struct gsm_lchan *lchan, + uint8_t tsc); uint8_t gsm_ts_tsc(const struct gsm_bts_trx_ts *ts); diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 1c2b1cd..c2a2005 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -528,7 +528,7 @@ } memset(&cd, 0, sizeof(cd)); - gsm48_lchan2chan_desc(&cd, lchan); + gsm48_lchan2chan_desc(&cd, lchan, gsm_ts_tsc(lchan->ts)); msg = rsl_msgb_alloc(); dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); @@ -1801,7 +1801,7 @@ ia->proto_discr = GSM48_PDISC_RR; ia->msg_type = GSM48_MT_RR_IMM_ASS; ia->page_mode = GSM48_PM_SAME; - gsm48_lchan2chan_desc(&ia->chan_desc, lchan); + gsm48_lchan2chan_desc(&ia->chan_desc, lchan, gsm_ts_tsc(lchan->ts)); /* use request reference extracted from CHAN_RQD */ memcpy(&ia->req_ref, lchan->rqd_ref, sizeof(ia->req_ref)); diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 302ea33..153f102 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -546,7 +546,7 @@ /* mandatory bits */ gsm48_cell_desc(&ho->cell_desc, new_lchan->ts->trx->bts); - gsm48_lchan2chan_desc(&ho->chan_desc, new_lchan); + gsm48_lchan2chan_desc(&ho->chan_desc, new_lchan, gsm_ts_tsc(new_lchan->ts)); ho->ho_ref = ho_ref; ho->power_command = power_command; @@ -618,7 +618,7 @@ * the chan_desc. But as long as multi-slot configurations * are not used we seem to be fine. */ - gsm48_lchan2chan_desc(&ass->chan_desc, new_lchan); + gsm48_lchan2chan_desc(&ass->chan_desc, new_lchan, gsm_ts_tsc(new_lchan->ts)); ass->power_command = power_command; /* Cell Channel Description (freq. hopping), TV (see 3GPP TS 44.018, 10.5.2.1b) */ @@ -690,7 +690,7 @@ /* fill the channel information element, this code * should probably be shared with rsl_rx_chan_rqd() */ - gsm48_lchan2chan_desc(&cmm->chan_desc, lchan); + gsm48_lchan2chan_desc(&cmm->chan_desc, lchan, gsm_ts_tsc(lchan->ts)); cmm->mode = mode; /* in case of multi rate we need to attach a config */ diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 0c85503..b676e2f 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -596,17 +596,18 @@ return conn->lchan->ts->trx->bts; } -static void _chan_desc_fill_tail(struct gsm48_chan_desc *cd, const struct gsm_lchan *lchan) +static void _chan_desc_fill_tail(struct gsm48_chan_desc *cd, const struct gsm_lchan *lchan, + uint8_t tsc) { if (!lchan->ts->hopping.enabled) { uint16_t arfcn = lchan->ts->trx->arfcn & 0x3ff; - cd->h0.tsc = gsm_ts_tsc(lchan->ts); + cd->h0.tsc = tsc; cd->h0.h = 0; cd->h0.spare = 0; cd->h0.arfcn_high = arfcn >> 8; cd->h0.arfcn_low = arfcn & 0xff; } else { - cd->h1.tsc = gsm_ts_tsc(lchan->ts); + cd->h1.tsc = tsc; cd->h1.h = 1; cd->h1.maio_high = lchan->ts->hopping.maio >> 2; cd->h1.maio_low = lchan->ts->hopping.maio & 0x03; @@ -615,20 +616,22 @@ } void gsm48_lchan2chan_desc(struct gsm48_chan_desc *cd, - const struct gsm_lchan *lchan) + const struct gsm_lchan *lchan, + uint8_t tsc) { cd->chan_nr = gsm_lchan2chan_nr(lchan); - _chan_desc_fill_tail(cd, lchan); + _chan_desc_fill_tail(cd, lchan, tsc); } /* like gsm48_lchan2chan_desc() above, but use ts->pchan_from_config to * return a channel description based on what is configured, rather than * what the current state of the pchan type is */ void gsm48_lchan2chan_desc_as_configured(struct gsm48_chan_desc *cd, - const struct gsm_lchan *lchan) + const struct gsm_lchan *lchan, + uint8_t tsc) { cd->chan_nr = gsm_pchan2chan_nr(lchan->ts->pchan_from_config, lchan->ts->nr, lchan->nr); - _chan_desc_fill_tail(cd, lchan); + _chan_desc_fill_tail(cd, lchan, tsc); } uint8_t gsm_ts_tsc(const struct gsm_bts_trx_ts *ts) diff --git a/src/osmo-bsc/lcs_loc_req.c b/src/osmo-bsc/lcs_loc_req.c index 39bc341..ef9ee27 100644 --- a/src/osmo-bsc/lcs_loc_req.c +++ b/src/osmo-bsc/lcs_loc_req.c @@ -369,7 +369,7 @@ .cause = BSSLAP_CAUSE_INTRA_BSS_HO, }, }; - gsm48_lchan2chan_desc(&apdu->reset.chan_desc, lchan); + gsm48_lchan2chan_desc(&apdu->reset.chan_desc, lchan, gsm_ts_tsc(lchan->ts)); } lcs_loc_req_send(lcs_loc_req, &bsslap); diff --git a/src/osmo-bsc/system_information.c b/src/osmo-bsc/system_information.c index 7ec613c..eddc650 100644 --- a/src/osmo-bsc/system_information.c +++ b/src/osmo-bsc/system_information.c @@ -1018,7 +1018,7 @@ struct gsm48_chan_desc cd; /* 10.5.2.5 (TV) CBCH Channel Description IE */ - gsm48_lchan2chan_desc_as_configured(&cd, cbch_lchan); + gsm48_lchan2chan_desc_as_configured(&cd, cbch_lchan, gsm_ts_tsc(cbch_lchan->ts)); tail = tv_fixed_put(tail, GSM48_IE_CBCH_CHAN_DESC, sizeof(cd), (uint8_t *) &cd); l2_plen += 1 + sizeof(cd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I49503a6f5d25bb3bc9a0505bd79ed1d5c4f50577 Gerrit-Change-Number: 24368 Gerrit-PatchSet: 9 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 Tue Jun 1 17:29:45 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 17:29:45 +0000 Subject: Change in osmo-bsc[master]: allow explixit TSC Set and TSC on chan activ / modif / assignment In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24369 ) Change subject: allow explixit TSC Set and TSC on chan activ / modif / assignment ...................................................................... allow explixit TSC Set and TSC on chan activ / modif / assignment Activating / modifying to a VAMOS mode will require picking specific TSC Set / TSC. It is a bad idea to pick the TSC in each message encoding function, rather make this choice centrally. So far we pick the training sequence code to use based on the timeslot configuration, and this TSC is determined only upon encoding the RSL messages. Instead, pick the TSC to use upon the initial lchan activation / modification request; store this in the request structs and pass through the activation / modification code paths. For VAMOS modes, we also need to pick a TSC Set. Do so also upon activ / modif request. Note that the TSC Set is not yet applied in this patch, it will be applied in upcoming VAMOS patches. The activ / modif request may pass -1 for tsc_set and/or tsc to indicate no specific choice of TSC Set and TSC, resulting in the same behavior as before this patch. For example, lchan->activate.info.tsc* may be passed as -1. The exact choice for tsc_set and tsc is then stored in lchan->activate.tsc*, i.e. one level up (the .info sub-struct is considered as immutable input args). The lchan->activate.tsc* are the values actually encoded in RSL messages. After the ACK, the lchan->activate.tsc* is stored in lchan->tsc* to indicate the TSC actually in use. Same for modif. Note that in 3GPP TS 45.002, the TSC Set are numbered 1 to 4, while the TSC are numbered 0 to 7. On the wire, though, TSC Set is sent as 0 to 3 value. This is a weird discrepancy, odd choice made by the spec authors. For conformance with the spec wording, I decided to pass the TSC Set number as a 1-4 ranged value, and only convert it to the 0-3 on-the-wire format upon message encoding. So log messages and VTY output will indicate the first TSC Set as "1", but the first TSC as "0", as defined in 3GPP TS 45.002, even if that is somewhat weird. Related: SYS#5315 OS#4940 Change-Id: Ic665125255d7354f5499d10dda1dd866ab243d24 --- M include/osmocom/bsc/assignment_fsm.h M include/osmocom/bsc/gsm_data.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/gsm_04_08_rr.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lcs_loc_req.c 8 files changed, 81 insertions(+), 14 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/assignment_fsm.h b/include/osmocom/bsc/assignment_fsm.h index d4ed846..3a64f7d 100644 --- a/include/osmocom/bsc/assignment_fsm.h +++ b/include/osmocom/bsc/assignment_fsm.h @@ -41,7 +41,8 @@ void assignment_fsm_init(); -int reassignment_request_to_lchan(enum assign_for assign_for, struct gsm_lchan *lchan, struct gsm_lchan *to_lchan); +int reassignment_request_to_lchan(enum assign_for assign_for, struct gsm_lchan *lchan, struct gsm_lchan *to_lchan, + int tsc_set, int tsc); int reassignment_request_to_chan_type(enum assign_for assign_for, struct gsm_lchan *lchan, enum gsm_chan_t new_lchan_type); diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index f469e41..f2e6cfa 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -163,6 +163,13 @@ * multiplexing, user request via VTY). In these situations, select a target lchan beforehand and point * target_lchan to it. */ struct gsm_lchan *target_lchan; + + /* TSC Set to use, or -1 for automatically determining the TSC Set to use. Valid range is 1 to 4, as described + * in 3GPP TS 45.002. */ + int tsc_set; + /* TSC to use, or -1 for automatically determining the TSC to use. Valid range is 0 to 7, as described in 3GPP + * TS 45.002. */ + int tsc; }; /* State of an ongoing Assignment, while the assignment_fsm is still busy. This serves as state separation to keep the @@ -609,6 +616,13 @@ struct gsm_lchan *re_use_mgw_endpoint_from_lchan; bool ta_known; uint8_t ta; + + /* TSC Set to use, or -1 for automatically determining the TSC Set to use. Valid range is 1 to 4, as described + * in 3GPP TS 45.002. */ + int tsc_set; + /* TSC to use, or -1 for automatically determining the TSC to use. Valid range is 0 to 7, as described in 3GPP + * TS 45.002. */ + int tsc; }; enum lchan_modify_for { @@ -626,6 +640,13 @@ struct channel_mode_and_rate ch_mode_rate; bool requires_voice_stream; uint16_t msc_assigned_cic; + + /* TSC Set to use, or -1 for automatically determining the TSC Set to use. Valid range is 1 to 4, as described + * in 3GPP TS 45.002. */ + int tsc_set; + /* TSC to use, or -1 for automatically determining the TSC to use. Valid range is 0 to 7, as described in 3GPP + * TS 45.002. */ + int tsc; }; struct gsm_lchan { @@ -651,11 +672,15 @@ * occur later, e.g. during release, that we don't send a NACK out of context. */ bool concluded; enum gsm0808_cause gsm0808_error_cause; + int tsc_set; + uint8_t tsc; } activate; struct { struct lchan_modify_info info; struct gsm48_multi_rate_conf mr_conf_filtered; + int tsc_set; + uint8_t tsc; bool concluded; } modify; @@ -730,6 +755,12 @@ * channel_mode_and_rate. */ struct channel_mode_and_rate current_ch_mode_rate; struct gsm48_multi_rate_conf current_mr_conf; + + /* Circuit-Switched TSC Set in use, or -1 if no specific TSC Set was requested. The valid range is 1-4 as + * described in the spec 3GPP TS 45.002. */ + int tsc_set; + /* Training Sequence Code in use. The valid range is 0-7 as described in the spec 3GPP TS 45.002. */ + uint8_t tsc; }; /* One Timeslot in a TRX */ diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index c2a2005..71bf0bb 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -528,7 +528,7 @@ } memset(&cd, 0, sizeof(cd)); - gsm48_lchan2chan_desc(&cd, lchan, gsm_ts_tsc(lchan->ts)); + gsm48_lchan2chan_desc(&cd, lchan, lchan->activate.tsc); msg = rsl_msgb_alloc(); dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); @@ -1801,7 +1801,7 @@ ia->proto_discr = GSM48_PDISC_RR; ia->msg_type = GSM48_MT_RR_IMM_ASS; ia->page_mode = GSM48_PM_SAME; - gsm48_lchan2chan_desc(&ia->chan_desc, lchan, gsm_ts_tsc(lchan->ts)); + gsm48_lchan2chan_desc(&ia->chan_desc, lchan, lchan->tsc); /* use request reference extracted from CHAN_RQD */ memcpy(&ia->req_ref, lchan->rqd_ref, sizeof(ia->req_ref)); diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index b96dbb3..81de958 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -439,7 +439,7 @@ } static int _reassignment_request(enum assign_for assign_for, struct gsm_lchan *lchan, struct gsm_lchan *to_lchan, - enum gsm_chan_t new_lchan_type) + enum gsm_chan_t new_lchan_type, int tsc_set, int tsc) { struct gsm_subscriber_connection *conn = lchan->conn; struct assignment_request req = { @@ -450,6 +450,8 @@ .n_ch_mode_rate = 1, .ch_mode_rate_list = { lchan->current_ch_mode_rate }, .target_lchan = to_lchan, + .tsc_set = tsc_set, + .tsc = tsc, }; if (to_lchan) @@ -469,15 +471,16 @@ return osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_ASSIGNMENT_START, &req); } -int reassignment_request_to_lchan(enum assign_for assign_for, struct gsm_lchan *lchan, struct gsm_lchan *to_lchan) +int reassignment_request_to_lchan(enum assign_for assign_for, struct gsm_lchan *lchan, struct gsm_lchan *to_lchan, + int tsc_set, int tsc) { - return _reassignment_request(assign_for, lchan, to_lchan, 0); + return _reassignment_request(assign_for, lchan, to_lchan, 0, tsc_set, tsc); } int reassignment_request_to_chan_type(enum assign_for assign_for, struct gsm_lchan *lchan, enum gsm_chan_t new_lchan_type) { - return _reassignment_request(assign_for, lchan, NULL, new_lchan_type); + return _reassignment_request(assign_for, lchan, NULL, new_lchan_type, -1, -1); } void assignment_fsm_start(struct gsm_subscriber_connection *conn, struct gsm_bts *bts, @@ -635,6 +638,8 @@ .re_use_mgw_endpoint_from_lchan = conn->lchan, .ta = conn->lchan->last_ta, .ta_known = true, + .tsc_set = req->tsc_set, + .tsc = req->tsc, }; lchan_activate(conn->assignment.new_lchan, &activ_info); } diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 89f8c0e..ec625c4 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1876,7 +1876,7 @@ vty_out(vty, "Error: cannot find free lchan of type %s%s", gsm_lchant_name(from_lchan->type), VTY_NEWLINE); } - if (reassignment_request_to_lchan(ACTIVATE_FOR_VTY, from_lchan, to_lchan)) { + if (reassignment_request_to_lchan(ACTIVATE_FOR_VTY, from_lchan, to_lchan, -1, -1)) { vty_out(vty, "Error: not allowed to start assignment for %s%s", gsm_lchan_name(from_lchan), VTY_NEWLINE); return CMD_WARNING; @@ -6044,7 +6044,10 @@ /* Activate / Deactivate a single lchan with a specific codec mode */ static int lchan_act_single(struct vty *vty, struct gsm_lchan *lchan, const char *codec_str, int amr_mode, int activate) { - struct lchan_activate_info info = { }; + struct lchan_activate_info info = { + .tsc_set = -1, + .tsc = -1, + }; uint16_t amr_modes[8] = { GSM0808_SC_CFG_AMR_4_75, GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20, GSM0808_SC_CFG_AMR_5_90, GSM0808_SC_CFG_AMR_6_70, GSM0808_SC_CFG_AMR_7_40, GSM0808_SC_CFG_AMR_7_95, GSM0808_SC_CFG_AMR_10_2, diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 153f102..c0efafb 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -618,7 +618,7 @@ * the chan_desc. But as long as multi-slot configurations * are not used we seem to be fine. */ - gsm48_lchan2chan_desc(&ass->chan_desc, new_lchan, gsm_ts_tsc(new_lchan->ts)); + gsm48_lchan2chan_desc(&ass->chan_desc, new_lchan, new_lchan->tsc); ass->power_command = power_command; /* Cell Channel Description (freq. hopping), TV (see 3GPP TS 44.018, 10.5.2.1b) */ @@ -681,6 +681,7 @@ struct gsm48_chan_mode_modify *cmm = (struct gsm48_chan_mode_modify *) msgb_put(msg, sizeof(*cmm)); struct gsm_bts *bts = lchan->ts->trx->bts; + uint8_t tsc; DEBUGP(DRR, "-> CHANNEL MODE MODIFY mode=0x%02x\n", mode); @@ -690,7 +691,8 @@ /* fill the channel information element, this code * should probably be shared with rsl_rx_chan_rqd() */ - gsm48_lchan2chan_desc(&cmm->chan_desc, lchan, gsm_ts_tsc(lchan->ts)); + tsc = (lchan->modify.tsc >= 0) ? lchan->modify.tsc : gsm_ts_tsc(lchan->ts); + gsm48_lchan2chan_desc(&cmm->chan_desc, lchan, tsc); cmm->mode = mode; /* in case of multi rate we need to attach a config */ diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index a3438f7..1610ac3 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -457,6 +457,8 @@ .last_error = lchan->last_error, .release.rr_cause = GSM48_RR_CAUSE_NORMAL, + + .tsc_set = 1, }; } @@ -713,6 +715,15 @@ lchan->encr = lchan->activate.info.encr; + if (lchan->activate.info.tsc_set > 0) + lchan->activate.tsc_set = lchan->activate.info.tsc_set; + else + lchan->activate.tsc_set = 1; + + /* Use the TSC provided in the modification request, if any. Otherwise use the timeslot's configured + * TSC. */ + lchan->activate.tsc = (lchan->activate.info.tsc >= 0) ? lchan->activate.info.tsc : gsm_ts_tsc(lchan->ts); + rc = rsl_tx_chan_activ(lchan, act_type, ho_ref); if (rc) { lchan_fail_to(LCHAN_ST_UNUSED, "Tx Chan Activ failed: %s (%d)", strerror(-rc), rc); @@ -786,6 +797,8 @@ lchan->current_ch_mode_rate = lchan->activate.info.ch_mode_rate; lchan->current_mr_conf = lchan->activate.mr_conf_filtered; + lchan->tsc_set = lchan->activate.tsc_set; + lchan->tsc = lchan->activate.tsc; LOG_LCHAN(lchan, LOGL_INFO, "Rx Activ ACK %s\n", gsm48_chan_mode_name(lchan->current_ch_mode_rate.chan_mode)); @@ -958,6 +971,8 @@ /* The Channel Mode Modify was ACKed, now the requested values become the accepted and used values. */ lchan->current_ch_mode_rate = lchan->modify.info.ch_mode_rate; lchan->current_mr_conf = lchan->modify.mr_conf_filtered; + lchan->tsc_set = lchan->modify.tsc_set; + lchan->tsc = lchan->modify.tsc; if (lchan->modify.info.requires_voice_stream && !lchan->fi_rtp) { @@ -1117,15 +1132,25 @@ } } + if (lchan->modify.info.tsc_set > 0) + lchan->modify.tsc_set = lchan->modify.info.tsc_set; + else + lchan->modify.tsc_set = 1; + + /* Use the TSC provided in the modification request, if any. Otherwise use the timeslot's configured + * TSC. */ + lchan->modify.tsc = (lchan->modify.info.tsc >= 0) ? lchan->modify.info.tsc : gsm_ts_tsc(lchan->ts); + LOG_LCHAN(lchan, LOGL_INFO, - "Modification requested: %s voice=%s MGW-ci=%s type=%s tch-mode=%s\n", + "Modification requested: %s voice=%s MGW-ci=%s type=%s tch-mode=%s tsc=%d/%u\n", lchan_modify_for_name(lchan->modify.info.modify_for), lchan->modify.info.requires_voice_stream ? "yes" : "no", lchan->modify.info.requires_voice_stream ? (use_mgwep_ci ? osmo_mgcpc_ep_ci_name(use_mgwep_ci) : "new") : "none", gsm_lchant_name(lchan->type), - gsm48_chan_mode_name(lchan->modify.info.ch_mode_rate.chan_mode)); + gsm48_chan_mode_name(lchan->modify.info.ch_mode_rate.chan_mode), + lchan->modify.tsc_set, lchan->modify.tsc); lchan_fsm_state_chg(LCHAN_ST_WAIT_RR_CHAN_MODE_MODIFY_ACK); return; diff --git a/src/osmo-bsc/lcs_loc_req.c b/src/osmo-bsc/lcs_loc_req.c index ef9ee27..ee85c91 100644 --- a/src/osmo-bsc/lcs_loc_req.c +++ b/src/osmo-bsc/lcs_loc_req.c @@ -369,7 +369,7 @@ .cause = BSSLAP_CAUSE_INTRA_BSS_HO, }, }; - gsm48_lchan2chan_desc(&apdu->reset.chan_desc, lchan, gsm_ts_tsc(lchan->ts)); + gsm48_lchan2chan_desc(&apdu->reset.chan_desc, lchan, lchan->tsc); } lcs_loc_req_send(lcs_loc_req, &bsslap); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic665125255d7354f5499d10dda1dd866ab243d24 Gerrit-Change-Number: 24369 Gerrit-PatchSet: 11 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 17:29:47 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 17:29:47 +0000 Subject: Change in osmo-bsc[master]: VTY: dump TSC Set and TSC for each timeslot In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24370 ) Change subject: VTY: dump TSC Set and TSC for each timeslot ...................................................................... VTY: dump TSC Set and TSC for each timeslot This is particularly interesting for VAMOS multiplexes, but also gives more prominence to this rather central aspect of GSM RF. Related: SYS#5315 OS#4940 Change-Id: I7842ff89bece6d88387dae056e350529bae6fc38 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 7 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index ec625c4..c91266e 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1627,6 +1627,8 @@ 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->conn && lchan->conn->bsub) { vty_out(vty, " Subscriber:%s", VTY_NEWLINE); bsc_subscr_dump_vty(vty, lchan->conn->bsub); @@ -1671,10 +1673,12 @@ 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, State %s - " - "L1 MS Power: %u dBm RXL-FULL-dl: %4d dBm RXL-FULL-ul: %4d dBm%s", + vty_out(vty, ", Lchan %u, Type %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, - gsm_lchant_name(lchan->type), lchan_state_name(lchan), + gsm_lchant_name(lchan->type), + 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), -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7842ff89bece6d88387dae056e350529bae6fc38 Gerrit-Change-Number: 24370 Gerrit-PatchSet: 11 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 17:29:48 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 17:29:48 +0000 Subject: Change in osmo-bsc[master]: add fields to reflect nr of lchans in ts struct In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24371 ) Change subject: add fields to reflect nr of lchans in ts struct ...................................................................... add fields to reflect nr of lchans in ts struct So far the number of usable lchans is determined on-the-fly by the physical channel config. With VAMOS, this becomes more complex, namely determining whether the BTS is vamos capable. Instead of calling a function to determine the number of lchans for every use, rather place the number of valid lchans in int members of the timeslot struct, and initialize those during timeslot setup. Actual use of these new fields will follow in a subsequent patch, which introduces the ts_for_n_lchans() macro to replace current lchan iteration macros. Related: SYS#5315 OS#4940 Change-Id: I08027d79db71a23e874b729c4e6173b0f269ee4f --- M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/timeslot_fsm.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/timeslot_fsm.c M tests/handover/handover_test.c 5 files changed, 35 insertions(+), 16 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index f2e6cfa..7bfe3ab 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -821,6 +821,12 @@ } rbs2000; }; + /* 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; + /* Currently usable lchans, according to the current pchan mode (for dynamic timeslots, this may change). + * Does not include count of secondary VAMOS lchans. */ + uint8_t max_primary_lchans; struct gsm_lchan lchan[TS_MAX_LCHAN]; }; diff --git a/include/osmocom/bsc/timeslot_fsm.h b/include/osmocom/bsc/timeslot_fsm.h index da66136..f5e4b4c 100644 --- a/include/osmocom/bsc/timeslot_fsm.h +++ b/include/osmocom/bsc/timeslot_fsm.h @@ -51,3 +51,5 @@ bool ts_is_lchan_waiting_for_pchan(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config *target_pchan); bool ts_is_pchan_switching(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config *target_pchan); bool ts_usable_as_pchan(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config as_pchan, bool allow_pchan_switch); + +void ts_set_pchan_is(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config pchan_is); diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index c91266e..6252d06 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -6428,9 +6428,9 @@ return CMD_WARNING; } - if (ss_nr >= pchan_subslots(ts->pchan_is)) { + if (ss_nr >= ts->max_primary_lchans) { vty_out(vty, "%% subslot index %d too large for physical channel %s (%u slots)%s", - ss_nr, gsm_pchan_name(ts->pchan_is), pchan_subslots(ts->pchan_is), + ss_nr, gsm_pchan_name(ts->pchan_is), ts->max_primary_lchans, VTY_NEWLINE); return CMD_WARNING; } diff --git a/src/osmo-bsc/timeslot_fsm.c b/src/osmo-bsc/timeslot_fsm.c index 41921cd..4fe670f 100644 --- a/src/osmo-bsc/timeslot_fsm.c +++ b/src/osmo-bsc/timeslot_fsm.c @@ -187,6 +187,14 @@ osmo_fsm_inst_state_name(fi), gsm_lchan_name(lchan)); } +void ts_set_pchan_is(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config pchan_is) +{ + ts->pchan_is = pchan_is; + ts->max_primary_lchans = pchan_subslots(ts->pchan_is); + LOG_TS(ts, LOGL_DEBUG, "pchan_is=%s max_primary_lchans=%d max_lchans_possible=%d\n", + gsm_pchan_name(ts->pchan_is), ts->max_primary_lchans, ts->max_lchans_possible); +} + static void ts_setup_lchans(struct gsm_bts_trx_ts *ts) { int i, max_lchans; @@ -196,8 +204,10 @@ max_lchans = pchan_subslots(ts->pchan_on_init); LOG_TS(ts, LOGL_DEBUG, "max lchans: %d\n", max_lchans); + ts->max_lchans_possible = max_lchans; + ts->max_primary_lchans = 0; - for (i = 0; i < max_lchans; i++) { + for (i = 0; i < ts->max_lchans_possible; i++) { /* If we receive more than one Channel OPSTART ACK, don't fail on the second init. */ if (ts->lchan[i].fi) continue; @@ -206,13 +216,13 @@ switch (ts->pchan_on_init) { case GSM_PCHAN_TCH_F_TCH_H_PDCH: - ts->pchan_is = GSM_PCHAN_NONE; + ts_set_pchan_is(ts, GSM_PCHAN_NONE); break; case GSM_PCHAN_TCH_F_PDCH: - ts->pchan_is = GSM_PCHAN_TCH_F; + ts_set_pchan_is(ts, GSM_PCHAN_TCH_F); break; default: - ts->pchan_is = ts->pchan_on_init; + ts_set_pchan_is(ts, ts->pchan_on_init); break; } } @@ -418,7 +428,7 @@ case GSM_PCHAN_TCH_F_TCH_H_PDCH: case GSM_PCHAN_TCH_F_PDCH: case GSM_PCHAN_PDCH: - ts->pchan_is = GSM_PCHAN_PDCH; + ts_set_pchan_is(ts, GSM_PCHAN_PDCH); break; default: ts_fsm_error(fi, TS_ST_BORKEN, "pchan %s is incapable of activating PDCH", @@ -491,10 +501,10 @@ /* Remove pchan = PDCH status, but double check. */ switch (ts->pchan_on_init) { case GSM_PCHAN_TCH_F_TCH_H_PDCH: - ts->pchan_is = GSM_PCHAN_NONE; + ts_set_pchan_is(ts, GSM_PCHAN_NONE); break; case GSM_PCHAN_TCH_F_PDCH: - ts->pchan_is = GSM_PCHAN_TCH_F; + ts_set_pchan_is(ts, GSM_PCHAN_TCH_F); break; default: ts_fsm_error(fi, TS_ST_BORKEN, "pchan %s is incapable of deactivating PDCH", @@ -616,7 +626,7 @@ /* 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) - ts->pchan_is = gsm_pchan_by_lchan_type(activating_type); + 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); } @@ -762,7 +772,8 @@ osmo_fsm_inst_state_chg(fi, TS_ST_NOT_INITIALIZED, 0, 0); OSMO_ASSERT(fi->state == TS_ST_NOT_INITIALIZED); ts_terminate_lchan_fsms(ts); - ts->pchan_is = ts->pchan_on_init = GSM_PCHAN_NONE; + ts->pchan_on_init = GSM_PCHAN_NONE; + ts_set_pchan_is(ts, GSM_PCHAN_NONE); ts_fsm_update_id(ts); break; @@ -771,7 +782,7 @@ if (fi->state != TS_ST_NOT_INITIALIZED) osmo_fsm_inst_state_chg(fi, TS_ST_NOT_INITIALIZED, 0, 0); OSMO_ASSERT(fi->state == TS_ST_NOT_INITIALIZED); - ts->pchan_is = GSM_PCHAN_NONE; + ts_set_pchan_is(ts, GSM_PCHAN_NONE); ts_lchans_dispatch(ts, -1, LCHAN_EV_TS_ERROR); break; diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 0859a04..006e791 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -271,7 +271,7 @@ switch (trx->ts[i].pchan_on_init) { case GSM_PCHAN_TCH_F_TCH_H_PDCH: case GSM_PCHAN_TCH_F_PDCH: - trx->ts[i].pchan_is = GSM_PCHAN_PDCH; + ts_set_pchan_is(&trx->ts[i], GSM_PCHAN_PDCH); break; default: break; @@ -392,10 +392,10 @@ lchan->mgw_endpoint_ci_bts = (void*)1; if (lchan->ts->pchan_on_init == GSM_PCHAN_TCH_F_TCH_H_PDCH) - lchan->ts->pchan_is = full_rate ? GSM_PCHAN_TCH_F : GSM_PCHAN_TCH_H; + 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); - lchan->ts->pchan_is = GSM_PCHAN_TCH_F; + ts_set_pchan_is(lchan->ts, GSM_PCHAN_TCH_F); } LOG_LCHAN(lchan, LOGL_DEBUG, "activated by handover_test.c\n"); @@ -731,7 +731,7 @@ break; /* else fall thru */ case GSM_PCHAN_TCH_F: - lchan->ts->pchan_is = GSM_PCHAN_PDCH; + ts_set_pchan_is(lchan->ts, GSM_PCHAN_PDCH); break; default: break; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24371 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I08027d79db71a23e874b729c4e6173b0f269ee4f Gerrit-Change-Number: 24371 Gerrit-PatchSet: 11 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 17:29:49 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 17:29:49 +0000 Subject: Change in osmo-bsc[master]: replace ts_*_for_each_lchan() with ts_for_n_lchans() In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24372 ) Change subject: replace ts_*_for_each_lchan() with ts_for_n_lchans() ...................................................................... replace ts_*_for_each_lchan() with ts_for_n_lchans() So far we have a couple of macros iterating a specific number of lchans, depending on dynamic timeslot state etc. With addition of VAMOS lchans, this would become more complex and bloated. Instead of separate iteration macros for each situation, only have one that takes a number of lchans as argument. That allows to more clearly pick the number of lchans, especially for non-trivial VAMOS scenarios. Related: SYS#5315 OS#4940 Change-Id: Ib2c6baf73a81ba371143ba5adc912aef6f79238d --- 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/bts_trx.c M src/osmo-bsc/chan_alloc.c M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/handover_logic.c M src/osmo-bsc/lchan_select.c M src/osmo-bsc/timeslot_fsm.c M tests/handover/handover_test.c 10 files changed, 28 insertions(+), 54 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 7bfe3ab..d128db7 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -554,41 +554,20 @@ bsc_subscr_name(lchan && lchan->conn ? lchan->conn->bsub : NULL), \ ## args) -/* Iterate lchans that have an FSM allocated based based on explicit pchan kind - * (GSM_PCHAN_* constant). - * Remark: PDCH related lchans are not handled in BSC but in PCU, so trying to - * iterate through GSM_PCHAN_PDCH is considered a void loop. - */ -#define ts_as_pchan_for_each_lchan(lchan, ts, as_pchan) \ - for (lchan = (ts)->lchan; \ - ((lchan - (ts)->lchan) < ARRAY_SIZE((ts)->lchan)) \ - && lchan->fi \ - && lchan->nr < pchan_subslots(as_pchan); \ - lchan++) - -/* Iterate lchans that have an FSM allocated based on current PCHAN - * mode set in \ref ts. +/* Iterate at most N lchans of the given timeslot. * usage: * struct gsm_lchan *lchan; * struct gsm_bts_trx_ts *ts = get_some_timeslot(); - * ts_for_each_lchan(lchan, ts) { - * LOGPLCHAN(DMAIN, LOGL_DEBUG, "hello world\n"); + * ts_for_n_lchans(lchan, ts, 3) { + * LOG_LCHAN(lchan, LOGL_DEBUG, "hello world\n"); * } */ -#define ts_for_each_lchan(lchan, ts) ts_as_pchan_for_each_lchan(lchan, ts, (ts)->pchan_is) - -/* Iterate over all possible lchans available that have an FSM allocated based - * on PCHAN \ref ts (dynamic) configuration. - * Iterate all lchan instances set up by this \ref ts type, including those - * lchans currently disabled or in process of being enabled (e.g. due to dynamic - * timeslot in switchover). Compare ts_for_each_lchan(), which iterates only the - * enabled lchans. - * For example, it is useful in case dynamic timeslot \ref ts is in process of - * switching from configuration PDCH (no lchans) to TCH_F (1 lchan), where - * pchan_is is still set to PDCH but \ref ts may contain already an \ref lchan - * of type TCH_F which initiated the request to switch the \ts configuration. - */ -#define ts_for_each_potential_lchan(lchan, ts) ts_as_pchan_for_each_lchan(lchan, ts, (ts)->pchan_on_init) +#define ts_for_n_lchans(lchan, ts, N) \ + for (lchan = (ts)->lchan; \ + ((lchan - (ts)->lchan) < ARRAY_SIZE((ts)->lchan)) \ + && lchan->fi \ + && ((lchan - (ts)->lchan) < (N)); \ + lchan++) enum lchan_activate_for { ACTIVATE_FOR_NONE, diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 71bf0bb..0436bf5 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1606,7 +1606,7 @@ trx = gsm_bts_trx_num(bts, trx_nr); for (ts_nr = 0; ts_nr < TRX_NR_TS; ts_nr++) { ts = &trx->ts[ts_nr]; - ts_for_each_lchan(lchan, ts) { + ts_for_n_lchans(lchan, ts, ts->max_primary_lchans) { if (lchan->type == GSM_LCHAN_TCH_F || lchan->type == GSM_LCHAN_TCH_H) { if (bts->chan_alloc_reverse) { if (lchan->fi->state == LCHAN_ST_ESTABLISHED) diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 6252d06..6f4e2ec 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1691,7 +1691,7 @@ bool all) { struct gsm_lchan *lchan; - ts_for_each_lchan(lchan, ts) { + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { if (lchan_state_is(lchan, LCHAN_ST_UNUSED) && all == false) continue; dump_cb(vty, lchan); @@ -1997,7 +1997,7 @@ if (ts->fi->state != TS_ST_IN_USE) continue; - ts_for_each_lchan(lchan, ts) { + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { if (lchan_state_is(lchan, LCHAN_ST_ESTABLISHED) && (lchan->type == GSM_LCHAN_TCH_F || lchan->type == GSM_LCHAN_TCH_H)) { @@ -6160,7 +6160,7 @@ for (ts_nr = 0; ts_nr < TRX_NR_TS; ts_nr++) { ts = &trx->ts[ts_nr]; - ts_for_each_potential_lchan(lchan, ts) { + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { switch (ts->pchan_on_init) { case GSM_PCHAN_SDCCH8_SACCH8C: case GSM_PCHAN_CCCH_SDCCH4_CBCH: diff --git a/src/osmo-bsc/bts_trx.c b/src/osmo-bsc/bts_trx.c index 1dfca95..64c7985 100644 --- a/src/osmo-bsc/bts_trx.c +++ b/src/osmo-bsc/bts_trx.c @@ -267,7 +267,7 @@ if (ts->pchan_is != pchan) continue; - ts_for_each_lchan(lchan, ts) { + ts_for_n_lchans(lchan, ts, ts->max_primary_lchans) { if (lchan_state_is(lchan, LCHAN_ST_UNUSED)) count++; } diff --git a/src/osmo-bsc/chan_alloc.c b/src/osmo-bsc/chan_alloc.c index 3569d4e..402ca46 100644 --- a/src/osmo-bsc/chan_alloc.c +++ b/src/osmo-bsc/chan_alloc.c @@ -73,15 +73,7 @@ pl->total++; } - /* Count allocated logical channels. - * Note: A GSM_PCHAN_TCH_F_TCH_H_PDCH can be switched - * to a single TCH/F or to two TCH/H. So when it's in - * the TCH/H mode, total number of available channels - * is 1 more than when it's in the TCH/F mode. - * I.e. "total" count will fluctuate depending on - * whether GSM_PCHAN_TCH_F_TCH_H_PDCH timeslot is - * in TCH/F or TCH/H (or in NONE/PDCH) mode. */ - ts_for_each_lchan(lchan, ts) { + ts_for_n_lchans(lchan, ts, ts->max_primary_lchans) { /* don't even count CBCH slots in total */ if (lchan->type == GSM_LCHAN_CBCH) continue; diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 84ddfa4..34bd99a 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -171,7 +171,7 @@ { struct gsm_lchan *lchan; unsigned int count = 0; - ts_for_each_lchan(lchan, ts) { + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { if (lchan_state_is(lchan, LCHAN_ST_ESTABLISHED)) count++; } diff --git a/src/osmo-bsc/handover_logic.c b/src/osmo-bsc/handover_logic.c index c0ed10d..1e1b6c3 100644 --- a/src/osmo-bsc/handover_logic.c +++ b/src/osmo-bsc/handover_logic.c @@ -112,7 +112,7 @@ if (!nm_is_running(&ts->mo.nm_state)) continue; - ts_for_each_lchan(lchan, ts) { + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { if (!lchan->conn) continue; if (!lchan->conn->ho.fi) diff --git a/src/osmo-bsc/lchan_select.c b/src/osmo-bsc/lchan_select.c index b494f02..dba3c3a 100644 --- a/src/osmo-bsc/lchan_select.c +++ b/src/osmo-bsc/lchan_select.c @@ -65,6 +65,7 @@ } for (j = start; j != stop; j += dir) { + int lchans_as_pchan; ts = &trx->ts[j]; if (!ts_is_usable(ts)) continue; @@ -84,7 +85,8 @@ } /* TS is (going to be) in desired pchan mode. Go ahead and check for an available lchan. */ - ts_as_pchan_for_each_lchan(lchan, ts, as_pchan) { + 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", gsm_ts_and_pchan_name(ts), lchan->nr, diff --git a/src/osmo-bsc/timeslot_fsm.c b/src/osmo-bsc/timeslot_fsm.c index 4fe670f..001319e 100644 --- a/src/osmo-bsc/timeslot_fsm.c +++ b/src/osmo-bsc/timeslot_fsm.c @@ -112,7 +112,7 @@ struct gsm_lchan *lchan; int count = 0; - ts_for_each_lchan(lchan, ts) { + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { if (lchan->fi->state == LCHAN_ST_UNUSED) continue; count++; @@ -125,7 +125,7 @@ { struct gsm_lchan *lchan; - ts_for_each_potential_lchan(lchan, ts) { + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { if (lchan_state >= 0 && !lchan_state_is(lchan, lchan_state)) continue; @@ -137,7 +137,7 @@ { struct gsm_lchan *lchan; - ts_for_each_potential_lchan(lchan, ts) { + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { osmo_fsm_inst_term(lchan->fi, OSMO_FSM_TERM_REQUEST, NULL); } } @@ -146,7 +146,7 @@ { struct gsm_lchan *lchan; int count = 0; - ts_for_each_potential_lchan(lchan, ts) + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) if (lchan->fi->state == LCHAN_ST_WAIT_TS_READY) count++; return count; @@ -565,7 +565,7 @@ ts->pdch_act_allowed = true; /* For static TS, check validity. For dyn TS, figure out which PCHAN this should become. */ - ts_for_each_potential_lchan(lchan, ts) { + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { if (lchan_state_is(lchan, LCHAN_ST_UNUSED)) continue; @@ -952,7 +952,7 @@ bool ts_is_lchan_waiting_for_pchan(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config *target_pchan) { struct gsm_lchan *lchan; - ts_for_each_potential_lchan(lchan, ts) { + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { if (lchan->fi->state == LCHAN_ST_WAIT_TS_READY) { if (target_pchan) *target_pchan = gsm_pchan_by_lchan_type(lchan->type); diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 006e791..e653920 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -463,7 +463,8 @@ static void ts_clear(struct gsm_bts_trx_ts *ts) { struct gsm_lchan *lchan; - ts_for_each_lchan(lchan, ts) { + + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { if (lchan_state_is(lchan, LCHAN_ST_UNUSED)) continue; lchan_clear(lchan); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib2c6baf73a81ba371143ba5adc912aef6f79238d Gerrit-Change-Number: 24372 Gerrit-PatchSet: 11 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 17:29:49 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 17:29:49 +0000 Subject: Change in osmo-bsc[master]: ensure chan_mode comparisons in non-VAMOS mode In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24459 ) Change subject: ensure chan_mode comparisons in non-VAMOS mode ...................................................................... ensure chan_mode comparisons in non-VAMOS mode Both VAMOS- and non-VAMOS speech modes should result in indentical voice handling. So make sure that all chan_modes are converted to non-vamos before comparing / evaluating in switch statements. Change-Id: I791e7966b1f8eaa3299a8a46abeb313cf5136e0b --- M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lchan_rtp_fsm.c M src/osmo-bsc/lchan_select.c 9 files changed, 25 insertions(+), 25 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 0436bf5..7fe961e 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -70,7 +70,7 @@ OSMO_ASSERT(bts); if (lchan->type == GSM_LCHAN_TCH_H) { - switch (lchan->current_ch_mode_rate.chan_mode) { + switch (gsm48_chan_mode_to_non_vamos(lchan->current_ch_mode_rate.chan_mode)) { case GSM48_CMODE_SPEECH_AMR: rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CODEC_AMR_H]); break; @@ -81,7 +81,7 @@ break; } } else if (lchan->type == GSM_LCHAN_TCH_F) { - switch (lchan->current_ch_mode_rate.chan_mode) { + switch (gsm48_chan_mode_to_non_vamos(lchan->current_ch_mode_rate.chan_mode)) { case GSM48_CMODE_SPEECH_AMR: rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CODEC_AMR_F]); break; @@ -389,7 +389,7 @@ return -EINVAL; } - switch (ch_mode_rate->chan_mode) { + switch (gsm48_chan_mode_to_non_vamos(ch_mode_rate->chan_mode)) { case GSM48_CMODE_SIGN: cm->chan_rate = 0; break; @@ -593,7 +593,7 @@ add_power_control_params(msg, RSL_IE_BS_POWER_PARAM, lchan); add_power_control_params(msg, RSL_IE_MS_POWER_PARAM, lchan); - if (lchan->activate.info.ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + if (gsm48_chan_mode_to_non_vamos(lchan->activate.info.ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { rc = put_mr_config_for_bts(msg, &lchan->activate.mr_conf_filtered, (lchan->type == GSM_LCHAN_TCH_F) ? &bts->mr_full : &bts->mr_half); if (rc) { @@ -653,7 +653,7 @@ msgb_tlv_put(msg, RSL_IE_ENCR_INFO, rc, encr_info); } - if (lchan->modify.info.ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + if (gsm48_chan_mode_to_non_vamos(lchan->modify.info.ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { rc = put_mr_config_for_bts(msg, &lchan->modify.mr_conf_filtered, (lchan->type == GSM_LCHAN_TCH_F) ? &bts->mr_full : &bts->mr_half); if (rc) { @@ -2095,7 +2095,7 @@ /* Return an ip.access BTS speech mode value (uint8_t) or negative on error. */ int ipacc_speech_mode(enum gsm48_chan_mode tch_mode, enum gsm_chan_t type) { - switch (tch_mode) { + switch (gsm48_chan_mode_to_non_vamos(tch_mode)) { case GSM48_CMODE_SPEECH_V1: switch (type) { case GSM_LCHAN_TCH_F: @@ -2143,7 +2143,7 @@ /* Return an ip.access BTS payload type value (uint8_t) or negative on error. */ int ipacc_payload_type(enum gsm48_chan_mode tch_mode, enum gsm_chan_t type) { - switch (tch_mode) { + switch (gsm48_chan_mode_to_non_vamos(tch_mode)) { case GSM48_CMODE_SPEECH_V1: switch (type) { case GSM_LCHAN_TCH_F: diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 81de958..0f38eec 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -84,7 +84,7 @@ rate_ctr_inc(&conn->network->bsc_ctrs->ctr[BSC_##counter]); \ if (bts) { \ rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_##counter]); \ - switch (conn->assignment.req.ch_mode_rate_list[0].chan_mode) { \ + switch (gsm48_chan_mode_to_non_vamos(conn->assignment.req.ch_mode_rate_list[0].chan_mode)) { \ case GSM48_CMODE_SIGN: \ rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_##counter##_SIGN]); \ break; \ @@ -317,7 +317,7 @@ enum gsm48_chan_mode chan_mode = ch_mode_rate->chan_mode; enum channel_rate chan_rate = ch_mode_rate->chan_rate; - switch (chan_mode) { + switch (gsm48_chan_mode_to_non_vamos(chan_mode)) { case GSM48_CMODE_SIGN: switch (type) { case GSM_LCHAN_TCH_F: return chan_rate == CH_RATE_FULL; @@ -361,7 +361,7 @@ { *requires_voice = false; - switch (chan_mode) { + switch (gsm48_chan_mode_to_non_vamos(chan_mode)) { case GSM48_CMODE_SPEECH_V1: case GSM48_CMODE_SPEECH_EFR: case GSM48_CMODE_SPEECH_AMR: diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index c0efafb..6e86c9e 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -572,7 +572,7 @@ } /* in case of multi rate we need to attach a config */ - if (new_lchan->current_ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + if (gsm48_chan_mode_to_non_vamos(new_lchan->current_ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { if (put_mr_config_for_ms(msg, &new_lchan->current_mr_conf, (new_lchan->type == GSM_LCHAN_TCH_F) ? &bts->mr_full : &bts->mr_half)) { LOG_LCHAN(new_lchan, LOGL_ERROR, "Cannot encode MultiRate Configuration IE\n"); @@ -638,7 +638,7 @@ } /* in case of multi rate we need to attach a config */ - if (new_lchan->current_ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + if (gsm48_chan_mode_to_non_vamos(new_lchan->current_ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { int rc = put_mr_config_for_ms(msg, &new_lchan->current_mr_conf, (new_lchan->type == GSM_LCHAN_TCH_F) ? &bts->mr_full : &bts->mr_half); if (rc) { @@ -696,7 +696,7 @@ cmm->mode = mode; /* in case of multi rate we need to attach a config */ - if (lchan->modify.info.ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + if (gsm48_chan_mode_to_non_vamos(lchan->modify.info.ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { int rc = put_mr_config_for_ms(msg, &lchan->modify.mr_conf_filtered, (lchan->type == GSM_LCHAN_TCH_F) ? &bts->mr_full : &bts->mr_half); if (rc) { diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index b676e2f..ea6c685 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -1066,7 +1066,7 @@ enum rsl_cmod_spd chan_mode_to_rsl_cmod_spd(enum gsm48_chan_mode chan_mode) { - switch (chan_mode) { + switch (gsm48_chan_mode_to_non_vamos(chan_mode)) { case GSM48_CMODE_SIGN: return RSL_CMOD_SPD_SIGN; case GSM48_CMODE_SPEECH_V1: diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 34bd99a..b2027d9 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -479,7 +479,7 @@ /* compatibility check for codecs. * if so, the candidates for full rate and half rate are selected */ - switch (c->current.lchan->current_ch_mode_rate.chan_mode) { + switch (gsm48_chan_mode_to_non_vamos(c->current.lchan->current_ch_mode_rate.chan_mode)) { case GSM48_CMODE_SPEECH_V1: switch (c->current.lchan->type) { case GSM_LCHAN_TCH_F: /* mandatory */ @@ -575,7 +575,7 @@ // This was useful in osmo-nitb. We're in osmo-bsc now and have no idea whether the osmo-msc does // internal or external call control. Maybe a future config switch wants to add this behavior? /* Built-in call control requires equal codec rates. Remove rates that are not equal. */ - if (c->current.lchan->tch_mode == GSM48_CMODE_SPEECH_AMR + if (gsm48_chan_mode_to_non_vamos(c->current.lchan->tch_mode) == GSM48_CMODE_SPEECH_AMR && c->current.bts->network->mncc_recv != mncc_sock_from_cc) { switch (c->current.lchan->type) { case GSM_LCHAN_TCH_F: @@ -759,7 +759,7 @@ /* compatibility check for codecs -- we have no notion of what the remote BSS supports. We can * only assume that a handover would work, and use only the local requirements. */ - switch (c->current.lchan->current_ch_mode_rate.chan_mode) { + switch (gsm48_chan_mode_to_non_vamos(c->current.lchan->current_ch_mode_rate.chan_mode)) { case GSM48_CMODE_SPEECH_V1: switch (c->current.lchan->type) { case GSM_LCHAN_TCH_F: /* mandatory */ @@ -817,7 +817,7 @@ bool full_rate = false; /* afs_bias becomes > 0, if AFS is used and is improved */ - if (c->current.lchan->current_ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) + if (gsm48_chan_mode_to_non_vamos(c->current.lchan->current_ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) afs_bias = ho_get_hodec2_afs_bias_rxlev(c->target.bts->ho); /* select TCH rate, prefer TCH/F if AFS is improved */ @@ -1247,7 +1247,7 @@ static int find_alternative_lchan(struct gsm_lchan *lchan, bool include_weaker_rxlev) { struct gsm_bts *bts = lchan->ts->trx->bts; - int ahs = (lchan->current_ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR + int ahs = (gsm48_chan_mode_to_non_vamos(lchan->current_ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR && lchan->type == GSM_LCHAN_TCH_H); int rxlev_current; struct ho_candidate clist[1 + ARRAY_SIZE(lchan->neigh_meas)]; @@ -1455,7 +1455,7 @@ /* improve levels in case of AFS, if defined */ if (lchan->type == GSM_LCHAN_TCH_F - && lchan->current_ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + && gsm48_chan_mode_to_non_vamos(lchan->current_ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { int av_rxlev_was = av_rxlev; int av_rxqual_was = av_rxqual; int rxlev_bias = ho_get_hodec2_afs_bias_rxlev(bts->ho); diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index b7658c5..ec70be3 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -594,7 +594,7 @@ static bool chan_mode_is_tch(enum gsm48_chan_mode mode) { - switch (mode) { + switch (gsm48_chan_mode_to_non_vamos(mode)) { case GSM48_CMODE_SPEECH_V1: case GSM48_CMODE_SPEECH_EFR: case GSM48_CMODE_SPEECH_AMR: diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 1610ac3..a28f58d 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -628,7 +628,7 @@ lchan->bs_power = bts->bs_power_ctrl.bs_power_val_db / 2; } - if (info->ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + if (gsm48_chan_mode_to_non_vamos(info->ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { if (lchan_mr_config(&lchan->activate.mr_conf_filtered, lchan, info->ch_mode_rate.s15_s0) < 0) { lchan_fail("Can not generate multirate configuration IE\n"); return; @@ -1124,7 +1124,7 @@ use_mgwep_ci = lchan_use_mgw_endpoint_ci_bts(lchan); - if (modif_info->ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + if (gsm48_chan_mode_to_non_vamos(modif_info->ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { if (lchan_mr_config(&lchan->modify.mr_conf_filtered, lchan, modif_info->ch_mode_rate.s15_s0) < 0) { lchan_fail("Can not generate multirate configuration IE\n"); diff --git a/src/osmo-bsc/lchan_rtp_fsm.c b/src/osmo-bsc/lchan_rtp_fsm.c index 366bd1b..7945359 100644 --- a/src/osmo-bsc/lchan_rtp_fsm.c +++ b/src/osmo-bsc/lchan_rtp_fsm.c @@ -796,7 +796,7 @@ /* Depending on the channel mode and rate, return the codec type that is signalled towards the MGW. */ static enum mgcp_codecs chan_mode_to_mgcp_codec(enum gsm48_chan_mode chan_mode, bool full_rate) { - switch (chan_mode) { + switch (gsm48_chan_mode_to_non_vamos(chan_mode)) { case GSM48_CMODE_SPEECH_V1: if (full_rate) return CODEC_GSM_8000_1; diff --git a/src/osmo-bsc/lchan_select.c b/src/osmo-bsc/lchan_select.c index dba3c3a..53c4358 100644 --- a/src/osmo-bsc/lchan_select.c +++ b/src/osmo-bsc/lchan_select.c @@ -146,7 +146,7 @@ enum gsm_chan_t chan_mode_to_chan_type(enum gsm48_chan_mode chan_mode, enum channel_rate chan_rate) { - switch (chan_mode) { + switch (gsm48_chan_mode_to_non_vamos(chan_mode)) { case GSM48_CMODE_SIGN: switch (chan_rate) { case CH_RATE_SDCCH: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I791e7966b1f8eaa3299a8a46abeb313cf5136e0b Gerrit-Change-Number: 24459 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 Tue Jun 1 17:29:50 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 17:29:50 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: introduce lchan.modify.ch_mode_rate to allow tweaking In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24465 ) Change subject: lchan_fsm: introduce lchan.modify.ch_mode_rate to allow tweaking ...................................................................... lchan_fsm: introduce lchan.modify.ch_mode_rate to allow tweaking lchan->modify.info.ch_mode_rate should remain unchanged, it is the immutable request data. However, for VAMOS, we will want to automatically see that the chan_mode is chosen correctly. As a first step, place a mutable ch_mode_rate copy at lchan->modify.ch_mode_rate, i.e. not in .modify.info, but in .modify. Use that everywhere. This is a non-functional change, preparing for a subsequent patch that adds handling of VAMOS shadow lchans. Change-Id: I8a3daac0287f15a59d3688388bb13e55facb2cea --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/lchan_fsm.c 4 files changed, 13 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index d128db7..831463a 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -657,6 +657,7 @@ struct { struct lchan_modify_info info; + struct channel_mode_and_rate ch_mode_rate; struct gsm48_multi_rate_conf mr_conf_filtered; int tsc_set; uint8_t tsc; diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 7fe961e..9378ecb 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -634,7 +634,7 @@ struct rsl_ie_chan_mode cm; struct gsm_bts *bts = lchan->ts->trx->bts; - rc = channel_mode_from_lchan(&cm, lchan, &lchan->modify.info.ch_mode_rate); + rc = channel_mode_from_lchan(&cm, lchan, &lchan->modify.ch_mode_rate); if (rc < 0) return rc; @@ -653,7 +653,7 @@ msgb_tlv_put(msg, RSL_IE_ENCR_INFO, rc, encr_info); } - if (gsm48_chan_mode_to_non_vamos(lchan->modify.info.ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { + if (gsm48_chan_mode_to_non_vamos(lchan->modify.ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { rc = put_mr_config_for_bts(msg, &lchan->modify.mr_conf_filtered, (lchan->type == GSM_LCHAN_TCH_F) ? &bts->mr_full : &bts->mr_half); if (rc) { diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 6e86c9e..058a107 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -696,7 +696,7 @@ cmm->mode = mode; /* in case of multi rate we need to attach a config */ - if (gsm48_chan_mode_to_non_vamos(lchan->modify.info.ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { + if (gsm48_chan_mode_to_non_vamos(lchan->modify.ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { int rc = put_mr_config_for_ms(msg, &lchan->modify.mr_conf_filtered, (lchan->type == GSM_LCHAN_TCH_F) ? &bts->mr_full : &bts->mr_half); if (rc) { @@ -718,10 +718,10 @@ LOG_LCHAN(msg->lchan, LOGL_DEBUG, "CHANNEL MODE MODIFY ACK for %s\n", gsm48_chan_mode_name(mod->mode)); - if (mod->mode != msg->lchan->modify.info.ch_mode_rate.chan_mode) { + if (mod->mode != msg->lchan->modify.ch_mode_rate.chan_mode) { LOG_LCHAN(msg->lchan, LOGL_ERROR, "CHANNEL MODE MODIFY ACK has wrong mode: Wanted: %s Got: %s\n", - gsm48_chan_mode_name(msg->lchan->modify.info.ch_mode_rate.chan_mode), + gsm48_chan_mode_name(msg->lchan->modify.ch_mode_rate.chan_mode), gsm48_chan_mode_name(mod->mode)); return -1; } diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index a28f58d..a29ddae 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -928,7 +928,7 @@ static void lchan_fsm_wait_rr_chan_mode_modify_ack_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) { struct gsm_lchan *lchan = lchan_fi_lchan(fi); - gsm48_lchan_modify(lchan, lchan->modify.info.ch_mode_rate.chan_mode); + gsm48_lchan_modify(lchan, lchan->modify.ch_mode_rate.chan_mode); } static void lchan_fsm_wait_rr_chan_mode_modify_ack(struct osmo_fsm_inst *fi, uint32_t event, void *data) @@ -969,7 +969,7 @@ case LCHAN_EV_RSL_CHAN_MODE_MODIFY_ACK: /* The Channel Mode Modify was ACKed, now the requested values become the accepted and used values. */ - lchan->current_ch_mode_rate = lchan->modify.info.ch_mode_rate; + lchan->current_ch_mode_rate = lchan->modify.ch_mode_rate; lchan->current_mr_conf = lchan->modify.mr_conf_filtered; lchan->tsc_set = lchan->modify.tsc_set; lchan->tsc = lchan->modify.tsc; @@ -981,7 +981,7 @@ lchan->activate.info = (struct lchan_activate_info){ .activ_for = ACTIVATE_FOR_MODE_MODIFY_RTP, .for_conn = lchan->conn, - .ch_mode_rate = lchan->modify.info.ch_mode_rate, + .ch_mode_rate = lchan->modify.ch_mode_rate, .requires_voice_stream = true, .msc_assigned_cic = lchan->modify.info.msc_assigned_cic, }; @@ -1124,6 +1124,9 @@ use_mgwep_ci = lchan_use_mgw_endpoint_ci_bts(lchan); + lchan->modify.ch_mode_rate = lchan->modify.info.ch_mode_rate; + /* future: automatically adjust chan_mode in lchan->modify.ch_mode_rate */ + if (gsm48_chan_mode_to_non_vamos(modif_info->ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { if (lchan_mr_config(&lchan->modify.mr_conf_filtered, lchan, modif_info->ch_mode_rate.s15_s0) < 0) { @@ -1149,7 +1152,7 @@ (use_mgwep_ci ? osmo_mgcpc_ep_ci_name(use_mgwep_ci) : "new") : "none", gsm_lchant_name(lchan->type), - gsm48_chan_mode_name(lchan->modify.info.ch_mode_rate.chan_mode), + gsm48_chan_mode_name(lchan->modify.ch_mode_rate.chan_mode), lchan->modify.tsc_set, lchan->modify.tsc); lchan_fsm_state_chg(LCHAN_ST_WAIT_RR_CHAN_MODE_MODIFY_ACK); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8a3daac0287f15a59d3688388bb13e55facb2cea Gerrit-Change-Number: 24465 Gerrit-PatchSet: 1 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 Tue Jun 1 17:31:11 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 17:31:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn 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-ttcn3-hacks/+/24411 to look at the new patch set (#11). Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... add bsc/BSC_Tests_VAMOS.ttcn BSC_Tests_VAMOS.ttcn is separate from BSC_Tests.ttcn in order to instruct osmo-bts-omldummy to pass BTS_FEAT_VAMOS == true in the OML BTS attributes. Add tests: TC_chan_act_to_vamos() TC_mode_modify_to_vamos_fr() TC_mode_modify_to_vamos_hr() TC_assign_to_secondary_lchan_fr() TC_assign_to_secondary_lchan_hr() TC_vamos_multiplex_tch_f_tch_f() TC_vamos_multiplex_tch_h_tch_h_tch_h_tch_h() Change-Id: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 --- M bsc/BSC_Tests.ttcn A bsc/BSC_Tests_VAMOS.ttcn M library/L3_Templates.ttcn M library/RSL_Types.ttcn 4 files changed, 843 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/11/24411/11 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 11 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 Tue Jun 1 17:32:26 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 1 Jun 2021 17:32:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: adjust to changed 'vamos modify' vty command syntax In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24499 ) Change subject: bsc: adjust to changed 'vamos modify' vty command syntax ...................................................................... Patch Set 2: even though the test using it is already merged to osmo-ttcn3-hacks, the actual VTY command in use is not yet merged to osmo-bsc, and code review changed its format. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I94988ee64edbecbe19c41d8cac5b055360f76547 Gerrit-Change-Number: 24499 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 01 Jun 2021 17:32: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 Tue Jun 1 17:32:37 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 17:32:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: adjust to changed 'vamos modify' vty command syntax In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24499 ) Change subject: bsc: adjust to changed 'vamos modify' vty command syntax ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I94988ee64edbecbe19c41d8cac5b055360f76547 Gerrit-Change-Number: 24499 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 01 Jun 2021 17:32: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 Jun 1 18:00:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 18:00:59 +0000 Subject: Change in osmo-bsc[master]: Drop duplicated arfcn_range_encode.c available in libosmocore References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24503 ) Change subject: Drop duplicated arfcn_range_encode.c available in libosmocore ...................................................................... Drop duplicated arfcn_range_encode.c available in libosmocore This code is available in libosmocore since ~3 years ago (fdf8b7b1beeb0cda262c5fb060a933aa7edb5e9a). Let's use it instead of maintaining duplicated code which diverges over time. Depends: osmo-bsc.git Iae058c35506bc25c9f4790889b89ac46aea664b6 (contains cherry-pick of bug fixed in osmo-bsc.git). Change-Id: I53ad3067623077b6a8737c2a0aecc8b46bf71a15 --- M include/osmocom/bsc/Makefile.am D include/osmocom/bsc/arfcn_range_encode.h M include/osmocom/bsc/system_information.h M src/osmo-bsc/Makefile.am D src/osmo-bsc/arfcn_range_encode.c M src/osmo-bsc/system_information.c M tests/bsc/Makefile.am M tests/gsm0408/Makefile.am M tests/gsm0408/gsm0408_test.c M tests/gsm0408/gsm0408_test.ok M tests/handover/Makefile.am 11 files changed, 18 insertions(+), 783 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/03/24503/1 diff --git a/include/osmocom/bsc/Makefile.am b/include/osmocom/bsc/Makefile.am index 7ca99fa..be27dae 100644 --- a/include/osmocom/bsc/Makefile.am +++ b/include/osmocom/bsc/Makefile.am @@ -4,7 +4,6 @@ abis_om2000.h \ abis_rsl.h \ acc.h \ - arfcn_range_encode.h \ assignment_fsm.h \ bsc_rll.h \ bsc_subscriber.h \ diff --git a/include/osmocom/bsc/arfcn_range_encode.h b/include/osmocom/bsc/arfcn_range_encode.h deleted file mode 100644 index 7ec710c..0000000 --- a/include/osmocom/bsc/arfcn_range_encode.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef ARFCN_RANGE_ENCODE_H -#define ARFCN_RANGE_ENCODE_H - -#include - -enum gsm48_range { - ARFCN_RANGE_INVALID = -1, - ARFCN_RANGE_128 = 127, - ARFCN_RANGE_256 = 255, - ARFCN_RANGE_512 = 511, - ARFCN_RANGE_1024 = 1023, -}; - -#define RANGE_ENC_MAX_ARFCNS 29 - -int range_enc_determine_range(const int *arfcns, int size, int *f0_out); -int range_enc_arfcns(enum gsm48_range rng, const int *arfcns, int sze, int *out, int idx); -int range_enc_find_index(enum gsm48_range rng, const int *arfcns, int size); -int range_enc_filter_arfcns(int *arfcns, const int sze, const int f0, int *f0_included); - -int range_enc_range128(uint8_t *chan_list, int f0, int *w); -int range_enc_range256(uint8_t *chan_list, int f0, int *w); -int range_enc_range512(uint8_t *chan_list, int f0, int *w); -int range_enc_range1024(uint8_t *chan_list, int f0, int f0_incl, int *w); - -#endif diff --git a/include/osmocom/bsc/system_information.h b/include/osmocom/bsc/system_information.h index e86a349..08d34f8 100644 --- a/include/osmocom/bsc/system_information.h +++ b/include/osmocom/bsc/system_information.h @@ -3,7 +3,7 @@ #include -#include +#include struct gsm_bts; @@ -13,7 +13,7 @@ size_t si2q_earfcn_count(const struct osmo_earfcn_si2q *e); unsigned range1024_p(unsigned n); unsigned range512_q(unsigned m); -int range_encode(enum gsm48_range r, int *arfcns, int arfcns_used, int *w, +int range_encode(enum osmo_gsm48_range r, int *arfcns, int arfcns_used, int *w, int f0, uint8_t *chan_list); uint8_t si2q_num(struct gsm_bts *bts); int bts_earfcn_add(struct gsm_bts *bts, uint16_t earfcn, uint8_t thresh_hi, uint8_t thresh_lo, uint8_t prio, diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am index ca39825..f91c6bf 100644 --- a/src/osmo-bsc/Makefile.am +++ b/src/osmo-bsc/Makefile.am @@ -33,7 +33,6 @@ abis_om2000_vty.c \ abis_rsl.c \ acc.c \ - arfcn_range_encode.c \ assignment_fsm.c \ bsc_ctrl_commands.c \ bsc_ctrl_lookup.c \ diff --git a/src/osmo-bsc/arfcn_range_encode.c b/src/osmo-bsc/arfcn_range_encode.c deleted file mode 100644 index 54d98a9..0000000 --- a/src/osmo-bsc/arfcn_range_encode.c +++ /dev/null @@ -1,340 +0,0 @@ -/* gsm 04.08 system information (si) encoding and decoding - * 3gpp ts 04.08 version 7.21.0 release 1998 / etsi ts 100 940 v7.21.0 */ - -/* - * (C) 2012 Holger Hans Peter Freyther - * (C) 2012 by On-Waves - * All Rights Reserved - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -#include -#include - -#include - -#include - -#include - -static inline int greatest_power_of_2_lesser_or_equal_to(int index) -{ - int power_of_2 = 1; - - do { - power_of_2 *= 2; - } while (power_of_2 <= index); - - /* now go back one step */ - return power_of_2 / 2; -} - -static inline int mod(int data, int range) -{ - int res = data % range; - while (res < 0) - res += range; - return res; -} - -/** - * Determine at which index to split the ARFCNs to create an - * equally size partition for the given range. Return -1 if - * no such partition exists. - */ -int range_enc_find_index(enum gsm48_range range, const int *freqs, const int size) -{ - int i, j, n; - - const int RANGE_DELTA = (range - 1) / 2; - - for (i = 0; i < size; ++i) { - n = 0; - for (j = 0; j < size; ++j) { - if (mod(freqs[j] - freqs[i], range) <= RANGE_DELTA) - n += 1; - } - - if (n - 1 == (size - 1) / 2) - return i; - } - - return -1; -} - -/* Worker for range_enc_arfcns(), do not call directly. */ -int _range_enc_arfcns(enum gsm48_range range, - const int *arfcns, int size, int *out, - const int index) -{ - int split_at; - int i; - - /* - * The below is a GNU extension and we can remove it when - * we move to a quicksort like in-situ swap with the pivot. - */ - int arfcns_left[size / 2]; - int arfcns_right[size / 2]; - int l_size; - int r_size; - int l_origin; - int r_origin; - - /* Now do the processing */ - split_at = range_enc_find_index(range, arfcns, size); - if (split_at < 0) - return -EINVAL; - - /* we now know where to split */ - out[index] = 1 + arfcns[split_at]; - - /* calculate the work that needs to be done for the leafs */ - l_origin = mod(arfcns[split_at] + ((range - 1) / 2) + 1, range); - r_origin = mod(arfcns[split_at] + 1, range); - for (i = 0, l_size = 0, r_size = 0; i < size; ++i) { - if (mod(arfcns[i] - l_origin, range) < range / 2) - arfcns_left[l_size++] = mod(arfcns[i] - l_origin, range); - if (mod(arfcns[i] - r_origin, range) < range / 2) - arfcns_right[r_size++] = mod(arfcns[i] - r_origin, range); - } - - /* - * Now recurse and we need to make this iterative... but as the - * tree is balanced the stack will not be too deep. - */ - if (l_size) - range_enc_arfcns(range / 2, arfcns_left, l_size, - out, index + greatest_power_of_2_lesser_or_equal_to(index + 1)); - if (r_size) - range_enc_arfcns((range - 1) / 2, arfcns_right, r_size, - out, index + (2 * greatest_power_of_2_lesser_or_equal_to(index + 1))); - return 0; -} - -/** - * Range encode the ARFCN list. - * \param range The range to use. - * \param arfcns The list of ARFCNs - * \param size The size of the list of ARFCNs - * \param out Place to store the W(i) output. - */ -int range_enc_arfcns(enum gsm48_range range, - const int *arfcns, int size, int *out, - const int index) -{ - if (size <= 0) - return 0; - - if (size == 1) { - out[index] = 1 + arfcns[0]; - return 0; - } - - return _range_enc_arfcns(range, arfcns, size, out, index); -} - -/* - * The easiest is to use f0 == arfcns[0]. This means that under certain - * circumstances we can encode less ARFCNs than possible with an optimal f0. - * - * TODO: Solve the optimisation problem and pick f0 so that the max distance - * is the smallest. Taking into account the modulo operation. I think picking - * size/2 will be the optimal arfcn. - */ -/** - * This implements the range determination as described in GSM 04.08 J4. The - * result will be a base frequency f0 and the range to use. Note that for range - * 1024 encoding f0 always refers to ARFCN 0 even if it is not an element of - * the arfcns list. - * - * \param[in] arfcns The input frequencies, they must be sorted, lowest number first - * \param[in] size The length of the array - * \param[out] f0 The selected F0 base frequency. It might not be inside the list - */ -int range_enc_determine_range(const int *arfcns, const int size, int *f0) -{ - int max = 0; - - /* don't dereference arfcns[] array if size is 0 */ - if (size == 0) - return ARFCN_RANGE_128; - - /* - * Go for the easiest. And pick arfcns[0] == f0. - */ - max = arfcns[size - 1] - arfcns[0]; - *f0 = arfcns[0]; - - if (max < 128 && size <= 29) - return ARFCN_RANGE_128; - if (max < 256 && size <= 22) - return ARFCN_RANGE_256; - if (max < 512 && size <= 18) - return ARFCN_RANGE_512; - if (max < 1024 && size <= 17) { - *f0 = 0; - return ARFCN_RANGE_1024; - } - - return ARFCN_RANGE_INVALID; -} - -static void write_orig_arfcn(uint8_t *chan_list, int f0) -{ - chan_list[0] |= (f0 >> 9) & 1; - chan_list[1] = (f0 >> 1); - chan_list[2] = (f0 & 1) << 7; -} - -static void write_all_wn(uint8_t *chan_list, int bit_offs, - int *w, int w_size, int w1_len) -{ - int octet_offs = 0; /* offset into chan_list */ - int wk_len = w1_len; /* encoding size in bits of w[k] */ - int k; /* 1 based */ - int level = 0; /* tree level, top level = 0 */ - int lvl_left = 1; /* nodes per tree level */ - - /* W(2^i) to W(2^(i+1)-1) are on w1_len-i bits when present */ - - for (k = 1; k <= w_size; k++) { - int wk_left = wk_len; - DEBUGP(DRR, - "k=%d, wk_len=%d, offs=%d:%d, level=%d, " - "lvl_left=%d\n", - k, wk_len, octet_offs, bit_offs, level, lvl_left); - - while (wk_left > 0) { - int cur_bits = 8 - bit_offs; - int cur_mask; - int wk_slice; - - if (cur_bits > wk_left) - cur_bits = wk_left; - - cur_mask = ((1 << cur_bits) - 1); - - DEBUGP(DRR, - " wk_left=%d, cur_bits=%d, offs=%d:%d\n", - wk_left, cur_bits, octet_offs, bit_offs); - - /* advance */ - wk_left -= cur_bits; - bit_offs += cur_bits; - - /* right aligned wk data for current out octet */ - wk_slice = (w[k-1] >> wk_left) & cur_mask; - - /* cur_bits now contains the number of bits - * that are to be copied from wk to the chan_list. - * wk_left is set to the number of bits that must - * not yet be copied. - * bit_offs points after the bit area that is going to - * be overwritten: - * - * wk_left - * | - * v - * wk: WWWWWWWWWWW - * |||||<-- wk_slice, cur_bits=5 - * --WWWWW- - * ^ - * | - * bit_offs - */ - - DEBUGP(DRR, - " wk=%02x, slice=%02x/%02x, cl=%02x\n", - w[k-1], wk_slice, cur_mask, wk_slice << (8 - bit_offs)); - - chan_list[octet_offs] &= ~(cur_mask << (8 - bit_offs)); - chan_list[octet_offs] |= wk_slice << (8 - bit_offs); - - /* adjust output */ - if (bit_offs == 8) { - bit_offs = 0; - octet_offs += 1; - } - } - - /* adjust bit sizes */ - lvl_left -= 1; - if (!lvl_left) { - /* completed tree level, advance to next */ - level += 1; - lvl_left = 1 << level; - wk_len -= 1; - } - } -} - -int range_enc_range128(uint8_t *chan_list, int f0, int *w) -{ - chan_list[0] = 0x8C; - write_orig_arfcn(chan_list, f0); - - write_all_wn(&chan_list[2], 1, w, 28, 7); - return 0; -} - -int range_enc_range256(uint8_t *chan_list, int f0, int *w) -{ - chan_list[0] = 0x8A; - write_orig_arfcn(chan_list, f0); - - write_all_wn(&chan_list[2], 1, w, 21, 8); - return 0; -} - -int range_enc_range512(uint8_t *chan_list, int f0, int *w) -{ - chan_list[0] = 0x88; - write_orig_arfcn(chan_list, f0); - - write_all_wn(&chan_list[2], 1, w, 17, 9); - return 0; -} - -int range_enc_range1024(uint8_t *chan_list, int f0, int f0_included, int *w) -{ - chan_list[0] = 0x80 | (f0_included << 2); - - write_all_wn(&chan_list[0], 6, w, 16, 10); - return 0; -} - -int range_enc_filter_arfcns(int *arfcns, - const int size, const int f0, int *f0_included) -{ - int i, j = 0; - *f0_included = 0; - - for (i = 0; i < size; ++i) { - /* - * Appendix J.4 says the following: - * All frequencies except F(0), minus F(0) + 1. - * I assume we need to exclude it here. - */ - if (arfcns[i] == f0) { - *f0_included = 1; - continue; - } - - arfcns[j++] = mod(arfcns[i] - (f0 + 1), 1024); - } - - return j; -} diff --git a/src/osmo-bsc/system_information.c b/src/osmo-bsc/system_information.c index eddc650..21cbcae 100644 --- a/src/osmo-bsc/system_information.c +++ b/src/osmo-bsc/system_information.c @@ -33,11 +33,11 @@ #include #include #include +#include #include #include #include -#include #include #include #include @@ -431,7 +431,7 @@ return 0; } -int range_encode(enum gsm48_range r, int *arfcns, int arfcns_used, int *w, +int range_encode(enum osmo_gsm48_range r, int *arfcns, int arfcns_used, int *w, int f0, uint8_t *chan_list) { /* @@ -440,22 +440,22 @@ */ int rc, f0_included; - range_enc_filter_arfcns(arfcns, arfcns_used, f0, &f0_included); + osmo_gsm48_range_enc_filter_arfcns(arfcns, arfcns_used, f0, &f0_included); - rc = range_enc_arfcns(r, arfcns, arfcns_used, w, 0); + rc = osmo_gsm48_range_enc_arfcns(r, arfcns, arfcns_used, w, 0); if (rc < 0) return rc; /* Select the range and the amount of bits needed */ switch (r) { - case ARFCN_RANGE_128: - return range_enc_range128(chan_list, f0, w); - case ARFCN_RANGE_256: - return range_enc_range256(chan_list, f0, w); - case ARFCN_RANGE_512: - return range_enc_range512(chan_list, f0, w); - case ARFCN_RANGE_1024: - return range_enc_range1024(chan_list, f0, f0_included, w); + case OSMO_GSM48_ARFCN_RANGE_128: + return osmo_gsm48_range_enc_128(chan_list, f0, w); + case OSMO_GSM48_ARFCN_RANGE_256: + return osmo_gsm48_range_enc_256(chan_list, f0, w); + case OSMO_GSM48_ARFCN_RANGE_512: + return osmo_gsm48_range_enc_512(chan_list, f0, w); + case OSMO_GSM48_ARFCN_RANGE_1024: + return osmo_gsm48_range_enc_1024(chan_list, f0, f0_included, w); default: return -ERANGE; }; @@ -468,8 +468,8 @@ const struct bitvec *bv, const struct gsm_bts *bts, bool bis, bool ter, bool pgsm) { - int arfcns[RANGE_ENC_MAX_ARFCNS]; - int w[RANGE_ENC_MAX_ARFCNS]; + int arfcns[OSMO_GSM48_RANGE_ENC_MAX_ARFCNS]; + int w[OSMO_GSM48_RANGE_ENC_MAX_ARFCNS]; int arfcns_used = 0; int i, range, f0; @@ -488,8 +488,8 @@ /* * Check if the given list of ARFCNs can be encoded. */ - range = range_enc_determine_range(arfcns, arfcns_used, &f0); - if (range == ARFCN_RANGE_INVALID) + range = osmo_gsm48_range_enc_determine_range(arfcns, arfcns_used, &f0); + if (range == OSMO_GSM48_ARFCN_RANGE_INVALID) return -2; memset(w, 0, sizeof(w)); diff --git a/tests/bsc/Makefile.am b/tests/bsc/Makefile.am index 2cc57a4..d08ca18 100644 --- a/tests/bsc/Makefile.am +++ b/tests/bsc/Makefile.am @@ -36,7 +36,6 @@ bsc_test_LDADD = \ $(top_builddir)/src/osmo-bsc/abis_nm.o \ $(top_builddir)/src/osmo-bsc/acc.o \ - $(top_builddir)/src/osmo-bsc/arfcn_range_encode.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 \ diff --git a/tests/gsm0408/Makefile.am b/tests/gsm0408/Makefile.am index 571e7e6..271a0fd 100644 --- a/tests/gsm0408/Makefile.am +++ b/tests/gsm0408/Makefile.am @@ -27,7 +27,6 @@ $(top_builddir)/src/osmo-bsc/abis_nm.o \ $(top_builddir)/src/osmo-bsc/acc.o \ $(top_builddir)/src/osmo-bsc/gsm_04_08_rr.o \ - $(top_builddir)/src/osmo-bsc/arfcn_range_encode.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 \ diff --git a/tests/gsm0408/gsm0408_test.c b/tests/gsm0408/gsm0408_test.c index 7c92c36..4255ab2 100644 --- a/tests/gsm0408/gsm0408_test.c +++ b/tests/gsm0408/gsm0408_test.c @@ -26,7 +26,6 @@ #include #include -#include #include #include #include @@ -274,338 +273,6 @@ bts_del(bts); } -struct { - int range; - int arfcns_num; - int arfcns[RANGE_ENC_MAX_ARFCNS]; -} arfcn_test_ranges[] = { - {ARFCN_RANGE_512, 12, - { 1, 12, 31, 51, 57, 91, 97, 98, 113, 117, 120, 125 }}, - {ARFCN_RANGE_512, 17, - { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 }}, - {ARFCN_RANGE_512, 18, - { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 }}, - {ARFCN_RANGE_512, 18, - { 1, 17, 31, 45, 58, 79, 81, 97, - 113, 127, 213, 277, 287, 311, 331, 391, - 417, 511 }}, - {ARFCN_RANGE_512, 6, - { 1, 17, 31, 45, 58, 79 }}, - {ARFCN_RANGE_512, 6, - { 10, 17, 31, 45, 58, 79 }}, - {ARFCN_RANGE_1024, 17, - { 0, 17, 31, 45, 58, 79, 81, 97, - 113, 127, 213, 277, 287, 311, 331, 391, - 1023 }}, - {ARFCN_RANGE_1024, 16, - { 17, 31, 45, 58, 79, 81, 97, 113, - 127, 213, 277, 287, 311, 331, 391, 1023 }}, - {-1} -}; - -static int test_single_range_encoding(int range, const int *orig_arfcns, - int arfcns_num, int silent) -{ - int arfcns[RANGE_ENC_MAX_ARFCNS]; - int w[RANGE_ENC_MAX_ARFCNS]; - int f0_included = 0; - int rc, f0; - uint8_t chan_list[16] = {0}; - struct gsm_sysinfo_freq dec_freq[1024] = {{0}}; - int dec_arfcns[RANGE_ENC_MAX_ARFCNS] = {0}; - int dec_arfcns_count = 0; - int arfcns_used = 0; - int i; - - arfcns_used = arfcns_num; - memmove(arfcns, orig_arfcns, sizeof(arfcns)); - - f0 = range == ARFCN_RANGE_1024 ? 0 : arfcns[0]; - /* - * Manipulate the ARFCN list according to the rules in J4 depending - * on the selected range. - */ - arfcns_used = range_enc_filter_arfcns(arfcns, arfcns_used, - f0, &f0_included); - - memset(w, 0, sizeof(w)); - range_enc_arfcns(range, arfcns, arfcns_used, w, 0); - - if (!silent) - fprintf(stderr, "range=%d, arfcns_used=%d, f0=%d, f0_included=%d\n", - range, arfcns_used, f0, f0_included); - - /* Select the range and the amount of bits needed */ - switch (range) { - case ARFCN_RANGE_128: - range_enc_range128(chan_list, f0, w); - break; - case ARFCN_RANGE_256: - range_enc_range256(chan_list, f0, w); - break; - case ARFCN_RANGE_512: - range_enc_range512(chan_list, f0, w); - break; - case ARFCN_RANGE_1024: - range_enc_range1024(chan_list, f0, f0_included, w); - break; - default: - return 1; - }; - - if (!silent) - printf("chan_list = %s\n", - osmo_hexdump(chan_list, sizeof(chan_list))); - - rc = gsm48_decode_freq_list(dec_freq, chan_list, sizeof(chan_list), - 0xfe, 1); - if (rc != 0) { - printf("Cannot decode freq list, rc = %d\n", rc); - return 1; - } - - for (i = 0; i < ARRAY_SIZE(dec_freq); i++) { - if (dec_freq[i].mask && - dec_arfcns_count < ARRAY_SIZE(dec_arfcns)) - dec_arfcns[dec_arfcns_count++] = i; - } - - if (!silent) { - printf("Decoded freqs %d (expected %d)\n", - dec_arfcns_count, arfcns_num); - printf("Decoded: "); - for (i = 0; i < dec_arfcns_count; i++) { - printf("%d ", dec_arfcns[i]); - if (dec_arfcns[i] != orig_arfcns[i]) - printf("(!= %d) ", orig_arfcns[i]); - } - printf("\n"); - } - - if (dec_arfcns_count != arfcns_num) { - printf("Wrong number of arfcns\n"); - return 1; - } - - if (memcmp(dec_arfcns, orig_arfcns, sizeof(dec_arfcns)) != 0) { - printf("Decoding error, got wrong freqs\n"); - fprintf(stderr, " w = "); - for (i = 0; i < ARRAY_SIZE(w); i++) - fprintf(stderr, "%d ", w[i]); - fprintf(stderr, "\n"); - return 1; - } - - return 0; -} - -static void test_random_range_encoding(int range, int max_arfcn_num) -{ - int arfcns_num = 0; - int test_idx; - int rc, max_count; - int num_tests = 1024; - - printf("Random range test: range %d, max num ARFCNs %d\n", - range, max_arfcn_num); - - srandom(1); - - for (max_count = 1; max_count < max_arfcn_num; max_count++) { - for (test_idx = 0; test_idx < num_tests; test_idx++) { - int count; - int i; - int min_freq = 0; - - int rnd_arfcns[RANGE_ENC_MAX_ARFCNS] = {0}; - char rnd_arfcns_set[1024] = {0}; - - if (range < ARFCN_RANGE_1024) - min_freq = random() % (1023 - range); - - for (count = max_count; count; ) { - int arfcn = min_freq + random() % (range + 1); - OSMO_ASSERT(arfcn < ARRAY_SIZE(rnd_arfcns_set)); - - if (!rnd_arfcns_set[arfcn]) { - rnd_arfcns_set[arfcn] = 1; - count -= 1; - } - } - - arfcns_num = 0; - for (i = 0; i < ARRAY_SIZE(rnd_arfcns_set); i++) - if (rnd_arfcns_set[i]) - rnd_arfcns[arfcns_num++] = i; - - rc = test_single_range_encoding(range, rnd_arfcns, - arfcns_num, 1); - if (rc != 0) { - printf("Failed on test %d, range %d, num ARFCNs %d\n", - test_idx, range, max_count); - test_single_range_encoding(range, rnd_arfcns, - arfcns_num, 0); - return; - } - } - } -} - -static void test_range_encoding() -{ - int *arfcns; - int arfcns_num = 0; - int test_idx; - int range; - - for (test_idx = 0; arfcn_test_ranges[test_idx].arfcns_num > 0; test_idx++) - { - arfcns_num = arfcn_test_ranges[test_idx].arfcns_num; - arfcns = &arfcn_test_ranges[test_idx].arfcns[0]; - range = arfcn_test_ranges[test_idx].range; - - printf("Range test %d: range %d, num ARFCNs %d\n", - test_idx, range, arfcns_num); - - test_single_range_encoding(range, arfcns, arfcns_num, 0); - } - - test_random_range_encoding(ARFCN_RANGE_128, 29); - test_random_range_encoding(ARFCN_RANGE_256, 22); - test_random_range_encoding(ARFCN_RANGE_512, 18); - test_random_range_encoding(ARFCN_RANGE_1024, 16); -} - -static int freqs1[] = { - 12, 70, 121, 190, 250, 320, 401, 475, 520, 574, 634, 700, 764, 830, 905, 980 -}; - -static int freqs2[] = { - 402, 460, 1, 67, 131, 197, 272, 347, -}; - -static int freqs3[] = { - 68, 128, 198, 279, 353, 398, 452, - -}; - -static int w_out[] = { - 122, 2, 69, 204, 75, 66, 60, 70, 83, 3, 24, 67, 54, 64, 70, 9, -}; - -static int range128[] = { - 1, 1 + 127, -}; - -static int range256[] = { - 1, 1 + 128, -}; - -static int range512[] = { - 1, 1+ 511, -}; - - -static void test_arfcn_filter() -{ - int arfcns[50], i, res, f0_included; - for (i = 0; i < ARRAY_SIZE(arfcns); ++i) - arfcns[i] = (i + 1) * 2; - - /* check that the arfcn is taken out. f0_included is only set for Range1024 */ - f0_included = 24; - res = range_enc_filter_arfcns(arfcns, ARRAY_SIZE(arfcns), - arfcns[0], &f0_included); - VERIFY(res, ==, ARRAY_SIZE(arfcns) - 1); - VERIFY(f0_included, ==, 1); - for (i = 0; i < res; ++i) - VERIFY(arfcns[i], ==, ((i+2) * 2) - (2+1)); - - /* check with range1024, ARFCN 0 is included */ - for (i = 0; i < ARRAY_SIZE(arfcns); ++i) - arfcns[i] = i * 2; - res = range_enc_filter_arfcns(arfcns, ARRAY_SIZE(arfcns), - 0, &f0_included); - VERIFY(res, ==, ARRAY_SIZE(arfcns) - 1); - VERIFY(f0_included, ==, 1); - for (i = 0; i < res; ++i) - VERIFY(arfcns[i], ==, (i + 1) * 2 - 1); - - /* check with range1024, ARFCN 0 not included */ - for (i = 0; i < ARRAY_SIZE(arfcns); ++i) - arfcns[i] = (i + 1) * 2; - res = range_enc_filter_arfcns(arfcns, ARRAY_SIZE(arfcns), - 0, &f0_included); - VERIFY(res, ==, ARRAY_SIZE(arfcns)); - VERIFY(f0_included, ==, 0); - for (i = 0; i < res; ++i) - VERIFY(arfcns[i], ==, ((i + 1) * 2) - 1); -} - -static void test_print_encoding() -{ - int rc; - int w[17]; - uint8_t chan_list[16]; - memset(chan_list, 0x23, sizeof(chan_list)); - - for (rc = 0; rc < ARRAY_SIZE(w); ++rc) - switch (rc % 3) { - case 0: - w[rc] = 0xAAAA; - break; - case 1: - w[rc] = 0x5555; - break; - case 2: - w[rc] = 0x9696; - break; - } - - range_enc_range512(chan_list, (1 << 9) | 0x96, w); - - printf("Range512: %s\n", osmo_hexdump(chan_list, ARRAY_SIZE(chan_list))); -} - -static void test_si_range_helpers() -{ - int ws[(sizeof(freqs1)/sizeof(freqs1[0]))]; - int i, f0 = 0xFFFFFF; - - memset(&ws[0], 0x23, sizeof(ws)); - - i = range_enc_find_index(1023, freqs1, ARRAY_SIZE(freqs1)); - printf("Element is: %d => freqs[i] = %d\n", i, i >= 0 ? freqs1[i] : -1); - VERIFY(i, ==, 2); - - i = range_enc_find_index(511, freqs2, ARRAY_SIZE(freqs2)); - printf("Element is: %d => freqs[i] = %d\n", i, i >= 0 ? freqs2[i] : -1); - VERIFY(i, ==, 2); - - i = range_enc_find_index(511, freqs3, ARRAY_SIZE(freqs3)); - printf("Element is: %d => freqs[i] = %d\n", i, i >= 0 ? freqs3[i] : -1); - VERIFY(i, ==, 0); - - range_enc_arfcns(1023, freqs1, ARRAY_SIZE(freqs1), ws, 0); - - for (i = 0; i < sizeof(freqs1)/sizeof(freqs1[0]); ++i) { - printf("w[%d]=%d\n", i, ws[i]); - VERIFY(ws[i], ==, w_out[i]); - } - - i = range_enc_determine_range(range128, ARRAY_SIZE(range128), &f0); - VERIFY(i, ==, ARFCN_RANGE_128); - VERIFY(f0, ==, 1); - - i = range_enc_determine_range(range256, ARRAY_SIZE(range256), &f0); - VERIFY(i, ==, ARFCN_RANGE_256); - VERIFY(f0, ==, 1); - - i = range_enc_determine_range(range512, ARRAY_SIZE(range512), &f0); - VERIFY(i, ==, ARFCN_RANGE_512); - VERIFY(f0, ==, 1); -} - static void test_si_ba_ind(struct gsm_network *net) { struct gsm_bts *bts = bts_init(net); @@ -915,11 +582,6 @@ } bsc_gsmnet = net; - test_si_range_helpers(); - test_arfcn_filter(); - test_print_encoding(); - test_range_encoding(); - test_si2q_segfault(net); test_si2q_e(net); test_si2q_u(net); diff --git a/tests/gsm0408/gsm0408_test.ok b/tests/gsm0408/gsm0408_test.ok index f1aa463..b22d0c2 100644 --- a/tests/gsm0408/gsm0408_test.ok +++ b/tests/gsm0408/gsm0408_test.ok @@ -1,59 +1,3 @@ -Element is: 2 => freqs[i] = 121 -Element is: 2 => freqs[i] = 1 -Element is: 0 => freqs[i] = 68 -w[0]=122 -w[1]=2 -w[2]=69 -w[3]=204 -w[4]=75 -w[5]=66 -w[6]=60 -w[7]=70 -w[8]=83 -w[9]=3 -w[10]=24 -w[11]=67 -w[12]=54 -w[13]=64 -w[14]=70 -w[15]=9 -Range512: 89 4b 2a 95 65 95 55 2c a9 55 aa 55 6a 95 59 55 -Range test 0: range 511, num ARFCNs 12 -chan_list = 88 00 98 34 85 36 7c 50 22 dc 5e ec 00 00 00 00 -Decoded freqs 12 (expected 12) -Decoded: 1 12 31 51 57 91 97 98 113 117 120 125 -Range test 1: range 511, num ARFCNs 17 -chan_list = 88 00 82 7f 01 3f 7e 04 0b ff ff fc 10 41 07 e0 -Decoded freqs 17 (expected 17) -Decoded: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 -Range test 2: range 511, num ARFCNs 18 -chan_list = 88 00 82 7f 01 7f 7e 04 0b ff ff fc 10 41 07 ff -Decoded freqs 18 (expected 18) -Decoded: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 -Range test 3: range 511, num ARFCNs 18 -chan_list = 88 00 94 3a 44 32 d7 2a 43 2a 13 94 e5 38 39 f6 -Decoded freqs 18 (expected 18) -Decoded: 1 17 31 45 58 79 81 97 113 127 213 277 287 311 331 391 417 511 -Range test 4: range 511, num ARFCNs 6 -chan_list = 88 00 8b 3c 88 b9 6b 00 00 00 00 00 00 00 00 00 -Decoded freqs 6 (expected 6) -Decoded: 1 17 31 45 58 79 -Range test 5: range 511, num ARFCNs 6 -chan_list = 88 05 08 fc 88 b9 6b 00 00 00 00 00 00 00 00 00 -Decoded freqs 6 (expected 6) -Decoded: 10 17 31 45 58 79 -Range test 6: range 1023, num ARFCNs 17 -chan_list = 84 71 e4 ab b9 58 05 cb 39 17 fd b0 75 62 0f 2f -Decoded freqs 17 (expected 17) -Decoded: 0 17 31 45 58 79 81 97 113 127 213 277 287 311 331 391 1023 -Range test 7: range 1023, num ARFCNs 16 -chan_list = 80 71 e4 ab b9 58 05 cb 39 17 fd b0 75 62 0f 2f -Decoded freqs 16 (expected 16) -Decoded: 17 31 45 58 79 81 97 113 127 213 277 287 311 331 391 1023 -Random range test: range 127, max num ARFCNs 29 -Random range test: range 255, max num ARFCNs 22 -Random range test: range 511, max num ARFCNs 18 -Random range test: range 1023, max num ARFCNs 16 BTS allocation OK in test_si2q_segfault() Test SI2quater UARFCN (same scrambling code and diversity): generating SI2quater for 0 EARFCNs and 1 UARFCNs... diff --git a/tests/handover/Makefile.am b/tests/handover/Makefile.am index b3bc21f..f0b2e7a 100644 --- a/tests/handover/Makefile.am +++ b/tests/handover/Makefile.am @@ -47,7 +47,6 @@ $(top_builddir)/src/osmo-bsc/abis_om2000_vty.o \ $(top_builddir)/src/osmo-bsc/abis_rsl.o \ $(top_builddir)/src/osmo-bsc/acc.o \ - $(top_builddir)/src/osmo-bsc/arfcn_range_encode.o \ $(top_builddir)/src/osmo-bsc/assignment_fsm.o \ $(top_builddir)/src/osmo-bsc/bsc_ctrl_commands.o \ $(top_builddir)/src/osmo-bsc/bsc_init.o \ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I53ad3067623077b6a8737c2a0aecc8b46bf71a15 Gerrit-Change-Number: 24503 Gerrit-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 Jun 1 18:13:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 18:13:05 +0000 Subject: Change in libosmocore[master]: stat, rate_ctr: Introduce new API to get counter at given index In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24469 to look at the new patch set (#2). Change subject: stat,rate_ctr: Introduce new API to get counter at given index ...................................................................... stat,rate_ctr: Introduce new API to get counter at given index Having this API and forcing apps to use it will allow easily adding new members to the group structure without having so much impact in users of this struct. Related: SYS#5456 Change-Id: Iebbf401f11e36645f8964d389460918eb9e0910e --- M include/osmocom/core/rate_ctr.h M include/osmocom/core/stat_item.h M src/rate_ctr.c M src/stat_item.c 4 files changed, 25 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/69/24469/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iebbf401f11e36645f8964d389460918eb9e0910e Gerrit-Change-Number: 24469 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 18:13:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 18:13:05 +0000 Subject: Change in libosmocore[master]: stat, rate_ctr: Allow setting group name and use it at report time In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24467 to look at the new patch set (#2). Change subject: stat,rate_ctr: Allow setting group name and use it at report time ...................................................................... stat,rate_ctr: Allow setting group name and use it at report time This patch adds a new field "name" to the rate_ctr and osmo_stat_item_group structs, together with an API to set it. This new field allows for easy identification of specific group instances when several of them exists, rather than using a sometimes random/increasing index value. If set, this name (string) is used instead of the index by the stats reporter. The name, if set, is also printed during "show stats" VTY commands. It's up to the user or application to set up unique or meaningful names to fullfill one's needs. WARNING: this commit breaks ABI and possibly creates unexpected behavior when run with non-rebuilt apps which use the modified structs directly to get the coutners, or if use the static inline API rate_ctr_inc2(). Existing users of these structs should migrate to use new APIs introduced in follow-up commits instead of accessing the field directly. Related: SYS#5456 Change-Id: I0dc510783dd9ae8436dae8005a7b3330e80d36f3 --- M TODO-RELEASE M include/osmocom/core/rate_ctr.h M include/osmocom/core/stat_item.h M src/rate_ctr.c M src/stat_item.c M src/stats_statsd.c M src/vty/utils.c 7 files changed, 67 insertions(+), 35 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/67/24467/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0dc510783dd9ae8436dae8005a7b3330e80d36f3 Gerrit-Change-Number: 24467 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 18:14:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 18:14:11 +0000 Subject: Change in libosmocore[master]: stat, rate_ctr: Introduce new API to get counter at given index In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24469 ) Change subject: stat,rate_ctr: Introduce new API to get counter at given index ...................................................................... Patch Set 2: I rebased the patchset changing the order of the patches, so that this patch is first and can be merged ASAP while we wait for Daniel on the others. This way we can start changing other projects to use this API to access the counter array and provoke less immediate ABI problems later. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iebbf401f11e36645f8964d389460918eb9e0910e Gerrit-Change-Number: 24469 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 01 Jun 2021 18:14: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 Tue Jun 1 18:29:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 18:29:24 +0000 Subject: Change in libosmocore[master]: sim: Add osim_card_{reset, close}() API References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24504 ) Change subject: sim: Add osim_card_{reset,close}() API ...................................................................... sim: Add osim_card_{reset,close}() API This is required to reset and close a card under software control after opening it with osim_card_open() Change-Id: Ie9ec66db4d54fdb1331f4ae05ca3ca4274912e9d --- M TODO-RELEASE M include/osmocom/sim/sim.h M src/sim/reader.c M src/sim/reader_pcsc.c 4 files changed, 56 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/04/24504/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index e57ffab..ad644aa 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -12,3 +12,4 @@ libosmosim osim_card_hdl ABI + API breakage due to new struct members libosmocore osmo_tdef_fsm_inst_state_chg change default_timeout arg from unsigned long to long type (API breakage, not ABI) libosmovty vty_read_config_filep New API +libosmosim osim_card_{reset,close} New API diff --git a/include/osmocom/sim/sim.h b/include/osmocom/sim/sim.h index 16b9f1f..5e7099f 100644 --- a/include/osmocom/sim/sim.h +++ b/include/osmocom/sim/sim.h @@ -375,6 +375,8 @@ const char *name; struct osim_reader_hdl *(*reader_open)(int idx, const char *name, void *ctx); struct osim_card_hdl *(*card_open)(struct osim_reader_hdl *rh, enum osim_proto proto); + int (*card_reset)(struct osim_card_hdl *card, bool cold_reset); + int (*card_close)(struct osim_card_hdl *card); int (*transceive)(struct osim_reader_hdl *rh, struct msgb *msg); }; @@ -441,4 +443,6 @@ struct osim_reader_hdl *osim_reader_open(enum osim_reader_driver drv, int idx, const char *name, void *ctx); struct osim_card_hdl *osim_card_open(struct osim_reader_hdl *rh, enum osim_proto proto); +int osim_card_reset(struct osim_card_hdl *card, bool cold_reset); +int osim_card_close(struct osim_card_hdl *card); #endif /* _OSMOCOM_SIM_H */ diff --git a/src/sim/reader.c b/src/sim/reader.c index ae0aba9..7f3f18d 100644 --- a/src/sim/reader.c +++ b/src/sim/reader.c @@ -277,3 +277,24 @@ return ch; } + +int osim_card_reset(struct osim_card_hdl *card, bool cold_reset) +{ + struct osim_reader_hdl *rh = card->reader; + + return rh->ops->card_reset(card, cold_reset); +} + +int osim_card_close(struct osim_card_hdl *card) +{ + struct osim_reader_hdl *rh = card->reader; + int rc; + + rc = rh->ops->card_close(card); + + card->reader = NULL; + talloc_free(card); + rh->card = NULL; + + return rc; +} diff --git a/src/sim/reader_pcsc.c b/src/sim/reader_pcsc.c index 234a9a7..fa867c0 100644 --- a/src/sim/reader_pcsc.c +++ b/src/sim/reader_pcsc.c @@ -156,6 +156,34 @@ return NULL; } +static int pcsc_card_reset(struct osim_card_hdl *card, bool cold_reset) +{ + struct pcsc_reader_state *st = card->reader->priv; + LONG rc; + + rc = SCardReconnect(st->hCard, SCARD_SHARE_SHARED, SCARD_PROTOCOL_T0, + cold_reset ? SCARD_UNPOWER_CARD : SCARD_RESET_CARD, + &st->dwActiveProtocol); + PCSC_ERROR(rc, "SCardReconnect"); + + return 0; +end: + return -EIO; +} + +static int pcsc_card_close(struct osim_card_hdl *card) +{ + struct pcsc_reader_state *st = card->reader->priv; + LONG rc; + + rc = SCardDisconnect(st->hCard, SCARD_UNPOWER_CARD); + PCSC_ERROR(rc, "SCardDisconnect"); + + return 0; +end: + return -EIO; +} + static int pcsc_transceive(struct osim_reader_hdl *rh, struct msgb *msg) { @@ -179,6 +207,8 @@ .name = "PC/SC", .reader_open = pcsc_reader_open, .card_open = pcsc_card_open, + .card_reset = pcsc_card_reset, + .card_close = pcsc_card_close, .transceive = pcsc_transceive, }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie9ec66db4d54fdb1331f4ae05ca3ca4274912e9d Gerrit-Change-Number: 24504 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 19:09:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 19:09:16 +0000 Subject: Change in simtrace2[master]: simtrace2-cardem-pcsc: Decode STATUS flags to strings References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24505 ) Change subject: simtrace2-cardem-pcsc: Decode STATUS flags to strings ...................................................................... simtrace2-cardem-pcsc: Decode STATUS flags to strings SIMtrace IRQ STATUS: flags=0x13, fi=9, di=6, wi=10 wtime=9600 (RESET VCC CLK ) is more understandable than SIMtrace IRQ STATUS: flags=0x13, fi=9, di=6, wi=10 wtime=9600 Change-Id: I5bbfa1d99ebee4b297d894a5f444dbe743c7ab70 --- M host/src/simtrace2-cardem-pcsc.c 1 file changed, 19 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/05/24505/1 diff --git a/host/src/simtrace2-cardem-pcsc.c b/host/src/simtrace2-cardem-pcsc.c index 66e3e7a..532c5ba 100644 --- a/host/src/simtrace2-cardem-pcsc.c +++ b/host/src/simtrace2-cardem-pcsc.c @@ -64,6 +64,16 @@ atr[atr_len-1] = csum; } +static void cemu_flags2str(char *out, unsigned int out_len, uint32_t flags) +{ + snprintf(out, out_len, "%s%s%s%s%s", + flags & CEMU_STATUS_F_RESET_ACTIVE ? "RESET " : "", + flags & CEMU_STATUS_F_VCC_PRESENT ? "VCC " : "", + flags & CEMU_STATUS_F_CLK_ACTIVE ? "CLK " : "", + flags & CEMU_STATUS_F_CARD_INSERT ? "CARD_PRES " : "", + flags & CEMU_STATUS_F_RCEMU_ACTIVE ? "RCEMU " : ""); +} + /*********************************************************************** * Incoming Messages ***********************************************************************/ @@ -71,12 +81,13 @@ /*! \brief Process a STATUS message from the SIMtrace2 */ static int process_do_status(struct osmo_st2_cardem_inst *ci, uint8_t *buf, int len) { - struct cardemu_usb_msg_status *status; - status = (struct cardemu_usb_msg_status *) buf; + struct cardemu_usb_msg_status *status = (struct cardemu_usb_msg_status *) buf; + char fbuf[80]; - printf("=> STATUS: flags=0x%x, fi=%u, di=%u, wi=%u wtime=%u\n", + cemu_flags2str(fbuf, sizeof(fbuf), status->flags); + printf("=> STATUS: flags=0x%x, fi=%u, di=%u, wi=%u wtime=%u (%s)\n", status->flags, status->fi, status->di, status->wi, - status->waiting_time); + status->waiting_time, fbuf); return 0; } @@ -177,10 +188,12 @@ static int process_irq_status(struct osmo_st2_cardem_inst *ci, const uint8_t *buf, int len) { const struct cardemu_usb_msg_status *status = (struct cardemu_usb_msg_status *) buf; + char fbuf[80]; - LOGCI(ci, LOGL_INFO, "SIMtrace IRQ STATUS: flags=0x%x, fi=%u, di=%u, wi=%u wtime=%u\n", + cemu_flags2str(fbuf, sizeof(fbuf), status->flags); + LOGCI(ci, LOGL_INFO, "SIMtrace IRQ STATUS: flags=0x%x, fi=%u, di=%u, wi=%u wtime=%u (%s)\n", status->flags, status->fi, status->di, status->wi, - status->waiting_time); + status->waiting_time, fbuf); return 0; } -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I5bbfa1d99ebee4b297d894a5f444dbe743c7ab70 Gerrit-Change-Number: 24505 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 19:09:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 19:09:17 +0000 Subject: Change in simtrace2[master]: simtrace2-cardem-pcsc: Reset the real card if reader resets cardem References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24506 ) Change subject: simtrace2-cardem-pcsc: Reset the real card if reader resets cardem ...................................................................... simtrace2-cardem-pcsc: Reset the real card if reader resets cardem When the cardem detects a reset from the phone/modem, pass this on to the actual card via the PC/SC reader. This is important to reset the card state whenever requested by the stack/driver on the phone/modem. Change-Id: I7056476c5f81e8aa8f550afb86bf2380d1497ebb Depends: libosmocore 20199da02d37a6d284915a27ec12641e79b8781c --- M host/src/simtrace2-cardem-pcsc.c 1 file changed, 25 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/06/24506/1 diff --git a/host/src/simtrace2-cardem-pcsc.c b/host/src/simtrace2-cardem-pcsc.c index 532c5ba..af34d3f 100644 --- a/host/src/simtrace2-cardem-pcsc.c +++ b/host/src/simtrace2-cardem-pcsc.c @@ -74,6 +74,27 @@ flags & CEMU_STATUS_F_RCEMU_ACTIVE ? "RCEMU " : ""); } +static uint32_t last_flags = 0; + +static void update_flags(struct osmo_st2_cardem_inst *ci, uint32_t flags) +{ + struct osim_card_hdl *card = ci->chan->card; + + if ((flags & CEMU_STATUS_F_VCC_PRESENT) && (flags & CEMU_STATUS_F_CLK_ACTIVE) && + !(flags & CEMU_STATUS_F_RESET_ACTIVE)) { + if (last_flags & CEMU_STATUS_F_RESET_ACTIVE) { + /* a reset has just ended, forward it to the real card */ + bool cold_reset = true; + if (last_flags & CEMU_STATUS_F_VCC_PRESENT) + cold_reset = false; + LOGCI(ci, LOGL_NOTICE, "%s Resetting card in reader...\n", + cold_reset ? "Cold" : "Warm"); + osim_card_reset(card, cold_reset); + } + } + last_flags = flags; +} + /*********************************************************************** * Incoming Messages ***********************************************************************/ @@ -89,6 +110,8 @@ status->flags, status->fi, status->di, status->wi, status->waiting_time, fbuf); + update_flags(ci, status->flags); + return 0; } @@ -195,6 +218,8 @@ status->flags, status->fi, status->di, status->wi, status->waiting_time, fbuf); + update_flags(ci, status->flags); + return 0; } -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24506 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I7056476c5f81e8aa8f550afb86bf2380d1497ebb Gerrit-Change-Number: 24506 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 20:09:01 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 20:09:01 +0000 Subject: Change in libosmocore[master]: gsm_08_58.h: add mask for Osmocom specific VAMOS C-bits References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24507 ) Change subject: gsm_08_58.h: add mask for Osmocom specific VAMOS C-bits ...................................................................... gsm_08_58.h: add mask for Osmocom specific VAMOS C-bits Applying and reverting this mask allows one to quickly convert between VAMOS and non-VAMOS variants of Bm/Lm C-bits. Change-Id: Ia0bd8695a3f12331b696fe69117189cdd48b584d Related: SYS#4895, OS#4941, SYS#5315, OS#4940 --- M include/osmocom/gsm/protocol/gsm_08_58.h 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/07/24507/1 diff --git a/include/osmocom/gsm/protocol/gsm_08_58.h b/include/osmocom/gsm/protocol/gsm_08_58.h index 9a6e761..83e64b5 100644 --- a/include/osmocom/gsm/protocol/gsm_08_58.h +++ b/include/osmocom/gsm/protocol/gsm_08_58.h @@ -460,6 +460,7 @@ #define RSL_CHAN_OSMO_CBCH8 0xd0 /*< non-standard, for CBCH/SDCCH8 */ /* non-standard, Osmocom specific Bm/Lm equivalents for VAMOS */ +#define RSL_CHAN_OSMO_VAMOS_MASK 0xe0 /* VAMOS TCH/{F,H} */ #define RSL_CHAN_OSMO_VAMOS_Bm_ACCHs 0xe8 /* VAMOS TCH/F */ #define RSL_CHAN_OSMO_VAMOS_Lm_ACCHs 0xf0 /* VAMOS TCH/H */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24507 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia0bd8695a3f12331b696fe69117189cdd48b584d Gerrit-Change-Number: 24507 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 Jun 1 20:10:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 20:10:24 +0000 Subject: Change in libosmocore[master]: gsm_08_58.h: add mask for Osmocom specific VAMOS C-bits In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/libosmocore/+/24507 ) Change subject: gsm_08_58.h: add mask for Osmocom specific VAMOS C-bits ...................................................................... gsm_08_58.h: add mask for Osmocom specific VAMOS C-bits Applying and reverting this mask allows one to quickly convert between VAMOS and non-VAMOS variants of Bm/Lm C-bits. Change-Id: Ia0bd8695a3f12331b696fe69117189cdd48b584d Related: SYS#4895, OS#4941, SYS#5315, OS#4940 --- M include/osmocom/gsm/protocol/gsm_08_58.h 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/07/24507/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24507 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia0bd8695a3f12331b696fe69117189cdd48b584d Gerrit-Change-Number: 24507 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 Jun 1 20:52:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 20:52:23 +0000 Subject: Change in osmo-bsc[master]: Drop duplicated arfcn_range_encode.c available in libosmocore In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24503 ) Change subject: Drop duplicated arfcn_range_encode.c available in libosmocore ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I53ad3067623077b6a8737c2a0aecc8b46bf71a15 Gerrit-Change-Number: 24503 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 01 Jun 2021 20: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 Jun 1 20:53:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 20:53:30 +0000 Subject: Change in libosmocore[master]: stat, rate_ctr: Introduce new API to get counter at given index In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24469 ) Change subject: stat,rate_ctr: Introduce new API to get counter at given index ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iebbf401f11e36645f8964d389460918eb9e0910e Gerrit-Change-Number: 24469 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 01 Jun 2021 20:53:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 20:54:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 20:54:10 +0000 Subject: Change in libosmocore[master]: stat, rate_ctr: Allow setting group name and use it at report time In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24467 ) Change subject: stat,rate_ctr: Allow setting group name and use it at report time ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0dc510783dd9ae8436dae8005a7b3330e80d36f3 Gerrit-Change-Number: 24467 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 01 Jun 2021 20:54: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 Jun 1 20:54:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 20:54:36 +0000 Subject: Change in libosmocore[master]: sim: Add osim_card_{reset, close}() API In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24504 ) Change subject: sim: Add osim_card_{reset,close}() API ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie9ec66db4d54fdb1331f4ae05ca3ca4274912e9d Gerrit-Change-Number: 24504 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 01 Jun 2021 20:54: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 Jun 1 20:54:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 20:54:39 +0000 Subject: Change in libosmocore[master]: sim: Add osim_card_{reset, close}() API In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24504 ) Change subject: sim: Add osim_card_{reset,close}() API ...................................................................... sim: Add osim_card_{reset,close}() API This is required to reset and close a card under software control after opening it with osim_card_open() Change-Id: Ie9ec66db4d54fdb1331f4ae05ca3ca4274912e9d --- M TODO-RELEASE M include/osmocom/sim/sim.h M src/sim/reader.c M src/sim/reader_pcsc.c 4 files changed, 56 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE index e57ffab..ad644aa 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -12,3 +12,4 @@ libosmosim osim_card_hdl ABI + API breakage due to new struct members libosmocore osmo_tdef_fsm_inst_state_chg change default_timeout arg from unsigned long to long type (API breakage, not ABI) libosmovty vty_read_config_filep New API +libosmosim osim_card_{reset,close} New API diff --git a/include/osmocom/sim/sim.h b/include/osmocom/sim/sim.h index 16b9f1f..5e7099f 100644 --- a/include/osmocom/sim/sim.h +++ b/include/osmocom/sim/sim.h @@ -375,6 +375,8 @@ const char *name; struct osim_reader_hdl *(*reader_open)(int idx, const char *name, void *ctx); struct osim_card_hdl *(*card_open)(struct osim_reader_hdl *rh, enum osim_proto proto); + int (*card_reset)(struct osim_card_hdl *card, bool cold_reset); + int (*card_close)(struct osim_card_hdl *card); int (*transceive)(struct osim_reader_hdl *rh, struct msgb *msg); }; @@ -441,4 +443,6 @@ struct osim_reader_hdl *osim_reader_open(enum osim_reader_driver drv, int idx, const char *name, void *ctx); struct osim_card_hdl *osim_card_open(struct osim_reader_hdl *rh, enum osim_proto proto); +int osim_card_reset(struct osim_card_hdl *card, bool cold_reset); +int osim_card_close(struct osim_card_hdl *card); #endif /* _OSMOCOM_SIM_H */ diff --git a/src/sim/reader.c b/src/sim/reader.c index ae0aba9..7f3f18d 100644 --- a/src/sim/reader.c +++ b/src/sim/reader.c @@ -277,3 +277,24 @@ return ch; } + +int osim_card_reset(struct osim_card_hdl *card, bool cold_reset) +{ + struct osim_reader_hdl *rh = card->reader; + + return rh->ops->card_reset(card, cold_reset); +} + +int osim_card_close(struct osim_card_hdl *card) +{ + struct osim_reader_hdl *rh = card->reader; + int rc; + + rc = rh->ops->card_close(card); + + card->reader = NULL; + talloc_free(card); + rh->card = NULL; + + return rc; +} diff --git a/src/sim/reader_pcsc.c b/src/sim/reader_pcsc.c index 234a9a7..fa867c0 100644 --- a/src/sim/reader_pcsc.c +++ b/src/sim/reader_pcsc.c @@ -156,6 +156,34 @@ return NULL; } +static int pcsc_card_reset(struct osim_card_hdl *card, bool cold_reset) +{ + struct pcsc_reader_state *st = card->reader->priv; + LONG rc; + + rc = SCardReconnect(st->hCard, SCARD_SHARE_SHARED, SCARD_PROTOCOL_T0, + cold_reset ? SCARD_UNPOWER_CARD : SCARD_RESET_CARD, + &st->dwActiveProtocol); + PCSC_ERROR(rc, "SCardReconnect"); + + return 0; +end: + return -EIO; +} + +static int pcsc_card_close(struct osim_card_hdl *card) +{ + struct pcsc_reader_state *st = card->reader->priv; + LONG rc; + + rc = SCardDisconnect(st->hCard, SCARD_UNPOWER_CARD); + PCSC_ERROR(rc, "SCardDisconnect"); + + return 0; +end: + return -EIO; +} + static int pcsc_transceive(struct osim_reader_hdl *rh, struct msgb *msg) { @@ -179,6 +207,8 @@ .name = "PC/SC", .reader_open = pcsc_reader_open, .card_open = pcsc_card_open, + .card_reset = pcsc_card_reset, + .card_close = pcsc_card_close, .transceive = pcsc_transceive, }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie9ec66db4d54fdb1331f4ae05ca3ca4274912e9d Gerrit-Change-Number: 24504 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 20:54:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 20:54:46 +0000 Subject: Change in simtrace2[master]: simtrace2-cardem-pcsc: Decode STATUS flags to strings In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24505 ) Change subject: simtrace2-cardem-pcsc: Decode STATUS flags to strings ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I5bbfa1d99ebee4b297d894a5f444dbe743c7ab70 Gerrit-Change-Number: 24505 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 01 Jun 2021 20:54: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 Jun 1 20:55:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 20:55:20 +0000 Subject: Change in simtrace2[master]: simtrace2-cardem-pcsc: Decode STATUS flags to strings In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24505 ) Change subject: simtrace2-cardem-pcsc: Decode STATUS flags to strings ...................................................................... simtrace2-cardem-pcsc: Decode STATUS flags to strings SIMtrace IRQ STATUS: flags=0x13, fi=9, di=6, wi=10 wtime=9600 (RESET VCC CLK ) is more understandable than SIMtrace IRQ STATUS: flags=0x13, fi=9, di=6, wi=10 wtime=9600 Change-Id: I5bbfa1d99ebee4b297d894a5f444dbe743c7ab70 --- M host/src/simtrace2-cardem-pcsc.c 1 file changed, 19 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/host/src/simtrace2-cardem-pcsc.c b/host/src/simtrace2-cardem-pcsc.c index 66e3e7a..532c5ba 100644 --- a/host/src/simtrace2-cardem-pcsc.c +++ b/host/src/simtrace2-cardem-pcsc.c @@ -64,6 +64,16 @@ atr[atr_len-1] = csum; } +static void cemu_flags2str(char *out, unsigned int out_len, uint32_t flags) +{ + snprintf(out, out_len, "%s%s%s%s%s", + flags & CEMU_STATUS_F_RESET_ACTIVE ? "RESET " : "", + flags & CEMU_STATUS_F_VCC_PRESENT ? "VCC " : "", + flags & CEMU_STATUS_F_CLK_ACTIVE ? "CLK " : "", + flags & CEMU_STATUS_F_CARD_INSERT ? "CARD_PRES " : "", + flags & CEMU_STATUS_F_RCEMU_ACTIVE ? "RCEMU " : ""); +} + /*********************************************************************** * Incoming Messages ***********************************************************************/ @@ -71,12 +81,13 @@ /*! \brief Process a STATUS message from the SIMtrace2 */ static int process_do_status(struct osmo_st2_cardem_inst *ci, uint8_t *buf, int len) { - struct cardemu_usb_msg_status *status; - status = (struct cardemu_usb_msg_status *) buf; + struct cardemu_usb_msg_status *status = (struct cardemu_usb_msg_status *) buf; + char fbuf[80]; - printf("=> STATUS: flags=0x%x, fi=%u, di=%u, wi=%u wtime=%u\n", + cemu_flags2str(fbuf, sizeof(fbuf), status->flags); + printf("=> STATUS: flags=0x%x, fi=%u, di=%u, wi=%u wtime=%u (%s)\n", status->flags, status->fi, status->di, status->wi, - status->waiting_time); + status->waiting_time, fbuf); return 0; } @@ -177,10 +188,12 @@ static int process_irq_status(struct osmo_st2_cardem_inst *ci, const uint8_t *buf, int len) { const struct cardemu_usb_msg_status *status = (struct cardemu_usb_msg_status *) buf; + char fbuf[80]; - LOGCI(ci, LOGL_INFO, "SIMtrace IRQ STATUS: flags=0x%x, fi=%u, di=%u, wi=%u wtime=%u\n", + cemu_flags2str(fbuf, sizeof(fbuf), status->flags); + LOGCI(ci, LOGL_INFO, "SIMtrace IRQ STATUS: flags=0x%x, fi=%u, di=%u, wi=%u wtime=%u (%s)\n", status->flags, status->fi, status->di, status->wi, - status->waiting_time); + status->waiting_time, fbuf); return 0; } -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I5bbfa1d99ebee4b297d894a5f444dbe743c7ab70 Gerrit-Change-Number: 24505 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 20:55:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Jun 2021 20:55:44 +0000 Subject: Change in libosmocore[master]: gsm_08_58.h: add mask for Osmocom specific VAMOS C-bits In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24507 ) Change subject: gsm_08_58.h: add mask for Osmocom specific VAMOS C-bits ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24507 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia0bd8695a3f12331b696fe69117189cdd48b584d Gerrit-Change-Number: 24507 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 01 Jun 2021 20:55: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 Jun 1 20:58:51 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 1 Jun 2021 20:58:51 +0000 Subject: Change in libosmocore[master]: socket: add function to wait until a socket becomes writeable 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/+/24435 to look at the new patch set (#2). Change subject: socket: add function to wait until a socket becomes writeable ...................................................................... socket: add function to wait until a socket becomes writeable In cases where a socket is created using the option OSMO_SOCK_F_NONBLOCK it is not possible to detect a connection error because osmo_sock_init() will return early while the connection is still in progress. One way to make sure that the socket is connected is to use select to wait until the socket becomes writeable and to use getsockopt to check SO_ERROR. The function osmo_sock_wait() waits until the socket becomes writeable. >From the error code the API user can determine whether the connection was successful or not. Change-Id: I1c68185120fa2a6c9b6cb8aa2a25232a44ff5508 Related: SYS#4971 --- M include/osmocom/core/socket.h M src/socket.c 2 files changed, 53 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/35/24435/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1c68185120fa2a6c9b6cb8aa2a25232a44ff5508 Gerrit-Change-Number: 24435 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 Jun 1 21:00:51 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 21:00:51 +0000 Subject: Change in libosmocore[master]: stat, rate_ctr: Allow setting group name and use it at report time In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24467 ) Change subject: stat,rate_ctr: Allow setting group name and use it at report time ...................................................................... Patch Set 2: Code-Review+1 I am really happy to see this change because it was only a few days ago when I was puzzled over picking the proper index values for the shadow timeslots. What we currently do is: (TRXN + 1) * 10 + TN, and I find this approach ugly. Giving my CR+1 to in hope to see it merged soon. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0dc510783dd9ae8436dae8005a7b3330e80d36f3 Gerrit-Change-Number: 24467 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 01 Jun 2021 21:00:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 21:01:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Jun 2021 21:01:48 +0000 Subject: Change in libosmocore[master]: socket: add function to wait until a socket becomes writeable In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24435 ) Change subject: socket: add function to wait until a socket becomes writeable ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24435/2/include/osmocom/core/socket.h File include/osmocom/core/socket.h: https://gerrit.osmocom.org/c/libosmocore/+/24435/2/include/osmocom/core/socket.h at a116 PS2, Line 116: ws, still here -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1c68185120fa2a6c9b6cb8aa2a25232a44ff5508 Gerrit-Change-Number: 24435 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 21:01: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 Tue Jun 1 21:02:36 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 1 Jun 2021 21:02:36 +0000 Subject: Change in libosmocore[master]: socket: add function to wait until a socket becomes writeable In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24435 ) Change subject: socket: add function to wait until a socket becomes writeable ...................................................................... Patch Set 2: > Patch Set 1: Code-Review-2 > > This still makes no sense in the context of osmocom apps with a mainloop. While waiting in that select loop you are basically blocking any other events to be parsed by the main loop. > You need to integrate this in the osmocom mainloop. The intended use of the function is not from inside the mainloop. I have added a note in the API documentation to make users aware of the blocking. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1c68185120fa2a6c9b6cb8aa2a25232a44ff5508 Gerrit-Change-Number: 24435 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 21:02:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 21:03:05 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 1 Jun 2021 21:03:05 +0000 Subject: Change in libosmocore[master]: socket: add function to wait until a socket becomes writeable In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24435 ) Change subject: socket: add function to wait until a socket becomes writeable ...................................................................... Patch Set 2: > Patch Set 1: > > we have moved from select() to poll() some time ago for a reason: The file descriptor numbers could be > 1024, and that is not possible to express in select(). > > You are now re-introducing the use of select() without explaining why poll() cannot be used in this case, too. I have migrated everything to poll now. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1c68185120fa2a6c9b6cb8aa2a25232a44ff5508 Gerrit-Change-Number: 24435 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Jun 2021 21:03: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 Jun 1 21:06:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 21:06:55 +0000 Subject: Change in libosmocore[master]: stat, rate_ctr: Introduce new API to get counter at given index In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24469 ) Change subject: stat,rate_ctr: Introduce new API to get counter at given index ...................................................................... stat,rate_ctr: Introduce new API to get counter at given index Having this API and forcing apps to use it will allow easily adding new members to the group structure without having so much impact in users of this struct. Related: SYS#5456 Change-Id: Iebbf401f11e36645f8964d389460918eb9e0910e --- M include/osmocom/core/rate_ctr.h M include/osmocom/core/stat_item.h M src/rate_ctr.c M src/stat_item.c 4 files changed, 25 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/core/rate_ctr.h b/include/osmocom/core/rate_ctr.h index 1669ce4..17ee672 100644 --- a/include/osmocom/core/rate_ctr.h +++ b/include/osmocom/core/rate_ctr.h @@ -61,7 +61,7 @@ const struct rate_ctr_group_desc *desc; /*! The index of this ctr_group within its class */ unsigned int idx; - /*! Actual counter structures below */ + /*! Actual counter structures below. Don't access it directly, use APIs below! */ struct rate_ctr ctr[0]; }; @@ -74,6 +74,8 @@ grp->idx = idx; } +struct rate_ctr *rate_ctr_group_get_ctr(struct rate_ctr_group *grp, unsigned int idx); + void rate_ctr_group_free(struct rate_ctr_group *grp); /*! Increment the counter by \a inc @@ -93,7 +95,7 @@ * \param idx index into \a ctrg counter group */ static inline void rate_ctr_inc2(struct rate_ctr_group *ctrg, unsigned int idx) { - rate_ctr_inc(&ctrg->ctr[idx]); + rate_ctr_inc(rate_ctr_group_get_ctr(ctrg, idx)); } diff --git a/include/osmocom/core/stat_item.h b/include/osmocom/core/stat_item.h index 29e35ef..3cace08 100644 --- a/include/osmocom/core/stat_item.h +++ b/include/osmocom/core/stat_item.h @@ -79,7 +79,7 @@ { grp->idx = idx; } - +struct osmo_stat_item *osmo_stat_item_group_get_item(struct osmo_stat_item_group *grp, unsigned int idx); void osmo_stat_item_group_free(struct osmo_stat_item_group *statg); void osmo_stat_item_inc(struct osmo_stat_item *item, int32_t value); diff --git a/src/rate_ctr.c b/src/rate_ctr.c index 9043a2c..c3a5286 100644 --- a/src/rate_ctr.c +++ b/src/rate_ctr.c @@ -263,6 +263,16 @@ talloc_free(grp); } +/*! Get rate counter from group, identified by index idx + * \param[in] grp Rate counter group + * \param[in] idx Index of the counter to retrieve + * \returns rate counter requested + */ +struct rate_ctr *rate_ctr_group_get_ctr(struct rate_ctr_group *grp, unsigned int idx) +{ + return &grp->ctr[idx]; +} + /*! Add a number to the counter */ void rate_ctr_add(struct rate_ctr *ctr, int inc) { diff --git a/src/stat_item.c b/src/stat_item.c index 40374a7..a6f86cb 100644 --- a/src/stat_item.c +++ b/src/stat_item.c @@ -167,6 +167,16 @@ talloc_free(grp); } +/*! Get statistics item from group, identified by index idx + * \param[in] grp Rate counter group + * \param[in] idx Index of the counter to retrieve + * \returns rate counter requested + */ +struct osmo_stat_item *osmo_stat_item_group_get_item(struct osmo_stat_item_group *grp, unsigned int idx) +{ + return grp->items[idx]; +} + /*! Increase the stat_item to the given value. * This function adds a new value for the given stat_item at the end of * the FIFO. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iebbf401f11e36645f8964d389460918eb9e0910e Gerrit-Change-Number: 24469 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 1 21:08:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Jun 2021 21:08:01 +0000 Subject: Change in libosmocore[master]: stat, rate_ctr: Allow setting group name and use it at report time In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24467 to look at the new patch set (#3). Change subject: stat,rate_ctr: Allow setting group name and use it at report time ...................................................................... stat,rate_ctr: Allow setting group name and use it at report time This patch adds a new field "name" to the rate_ctr and osmo_stat_item_group structs, together with an API to set it. This new field allows for easy identification of specific group instances when several of them exists, rather than using a sometimes random/increasing index value. If set, this name (string) is used instead of the index by the stats reporter. The name, if set, is also printed during "show stats" VTY commands. It's up to the user or application to set up unique or meaningful names to fullfill one's needs. WARNING: this commit breaks ABI and possibly creates unexpected behavior when run with non-rebuilt apps which use the modified structs directly to get the coutners, or if use the static inline API rate_ctr_inc2(). Existing users of these structs should migrate to use new APIs introduced in follow-up commits instead of accessing the field directly. Related: SYS#5456 Change-Id: I0dc510783dd9ae8436dae8005a7b3330e80d36f3 --- M TODO-RELEASE M include/osmocom/core/rate_ctr.h M include/osmocom/core/stat_item.h M src/rate_ctr.c M src/stat_item.c M src/stats_statsd.c M src/vty/utils.c 7 files changed, 67 insertions(+), 35 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/67/24467/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0dc510783dd9ae8436dae8005a7b3330e80d36f3 Gerrit-Change-Number: 24467 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 02:04:00 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 2 Jun 2021 02:04:00 +0000 Subject: Change in libosmocore[master]: gsm_08_58.h: add mask for Osmocom specific VAMOS C-bits In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24507 ) Change subject: gsm_08_58.h: add mask for Osmocom specific VAMOS C-bits ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24507/2/include/osmocom/gsm/protocol/gsm_08_58.h File include/osmocom/gsm/protocol/gsm_08_58.h: https://gerrit.osmocom.org/c/libosmocore/+/24507/2/include/osmocom/gsm/protocol/gsm_08_58.h at 465 PS2, Line 465: #define RSL_CHAN_OSMO_VAMOS_MASK 0xe0 /* VAMOS TCH/{F,H} */ this mask also includes 0b11100xxx, but we only use 0b11101xxx to 0b11111xxx for VAMOS. just saying because the other day you implied that we keep that first bit combination available for other things. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24507 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia0bd8695a3f12331b696fe69117189cdd48b584d Gerrit-Change-Number: 24507 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Wed, 02 Jun 2021 02:04:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 02:07:40 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 2 Jun 2021 02:07:40 +0000 Subject: Change in libosmocore[master]: gsm_08_58.h: add mask for Osmocom specific VAMOS C-bits In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24507 ) Change subject: gsm_08_58.h: add mask for Osmocom specific VAMOS C-bits ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24507/2/include/osmocom/gsm/protocol/gsm_08_58.h File include/osmocom/gsm/protocol/gsm_08_58.h: https://gerrit.osmocom.org/c/libosmocore/+/24507/2/include/osmocom/gsm/protocol/gsm_08_58.h at 465 PS2, Line 465: #define RSL_CHAN_OSMO_VAMOS_MASK 0xe0 /* VAMOS TCH/{F,H} */ > this mask also includes 0b11100xxx, but we only use 0b11101xxx to 0b11111xxx for VAMOS. [?] hmm maybe #define RSL_CHAN_IS_OSMO_VAMOS(chan_nr) ((chan_nr) >= 0xe8) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24507 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia0bd8695a3f12331b696fe69117189cdd48b584d Gerrit-Change-Number: 24507 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Wed, 02 Jun 2021 02:07:40 +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 Jun 2 02:21:34 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 2 Jun 2021 02:21:34 +0000 Subject: Change in osmo-gsm-manuals[master]: TRXDv2: add primary/shadow classification for VAMOS PDUs References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/24508 ) Change subject: TRXDv2: add primary/shadow classification for VAMOS PDUs ...................................................................... TRXDv2: add primary/shadow classification for VAMOS PDUs Introduce a new flag (1-bit field) indicating whether a VAMOS PDU is for a _primary_ ('0'B) or for a _shadow_ ('1'B) timeslot. This field shall be present only in the Uplink VAMOS PDUs, which unlike the Downlink (AQPSK) PDUs are sent separately. This will simplify routing of such PDUs in osmo-bts. Change-Id: Ie00a12824938c6a65480bde1af364dcc9febb8f7 Related: SYS#4895, OS#4941, OS#4006 --- M common/chapters/trx_if.adoc 1 file changed, 22 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/08/24508/1 diff --git a/common/chapters/trx_if.adoc b/common/chapters/trx_if.adoc index f4884f0..5f7b220 100644 --- a/common/chapters/trx_if.adoc +++ b/common/chapters/trx_if.adoc @@ -496,7 +496,7 @@ 0-4: RFU 5-7: TN 8: BATCH - 9: RFU + 9: SHADOW 10-15: TRXN 16-23: MTS 24-31: RSSI @@ -519,6 +519,9 @@ BATCH: 1 bit:: This bit indicates whether a batched PDU follows (see <>). +SHADOW: 1 bit:: +This bit indicates whether this is a _shadow PDU_ (see <>). + TRXN: 6 bits:: The transceiver (PHY channel) number this PDU is coming from. @@ -823,27 +826,29 @@ In the Uplink direction though, one or even both of the two bursts may be lost (e.g. due to high noise figures), so they shall always be sent in two separate PDUs. The missing bursts shall be substituted by NOPE indications, so it's -always a pair of _batched PDUs_. The `MTS` field shall indicate the use of -`GMSK` modulation. +always a pair of _batched PDUs_. First PDU in a pair is called _primary PDU_, +the second is called _shadow PDU_. This is additionally indicated by the +`SHADOW` field, which is set to {bit-zero} and {bit-one}, respectively. The +`MTS` field shall indicate the use of `GMSK` modulation if the burst is present. .Example: Uplink datagram containing batched VAMOS PDUs (both present) ---- -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+--------+----------------+----------+----------------------------------------+ -| TRXN=N | TDMA FN=F TN=T | Mod=GMSK | Soft-bits for V0 (148 bytes) | -+--------+----------------+----------+----------------------------------------+ -| TRXN=N | TDMA FN=F TN=T | Mod=GMSK | Soft-bits for V1 (148 bytes) | -+--------+----------------+----------+----------------------------------------+ -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++--------+----------------+----------+----------+------------------------------+ +| TRXN=N | TDMA FN=F TN=T | SHADOW=0 | Mod=GMSK | Soft-bits for V0 (148 bytes) | ++--------+----------------+----------+----------+------------------------------+ +| TRXN=N | TDMA FN=F TN=T | SHADOW=1 | Mod=GMSK | Soft-bits for V1 (148 bytes) | ++--------+----------------+----------+----------+------------------------------+ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ---- .Example: Uplink datagram containing batched VAMOS PDUs (one lost) ---- -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+--------+----------------+----------+----------------------------------------+ -| TRXN=N | TDMA FN=F TN=T | Mod=GMSK | Soft-bits for V0 (148 bytes) | -+--------+----------------+----------+----------------------------------------+ -| TRXN=N | TDMA FN=F TN=T | NOPE.ind | -+--------+----------------+----------+ -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++--------+----------------+----------+----------+------------------------------+ +| TRXN=N | TDMA FN=F TN=T | SHADOW=0 | Mod=GMSK | Soft-bits for V0 (148 bytes) | ++--------+----------------+----------+----------+------------------------------+ +| TRXN=N | TDMA FN=F TN=T | SHADOW=1 | NOPE.ind | ++--------+----------------+----------+----------+ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ---- -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/24508 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Change-Id: Ie00a12824938c6a65480bde1af364dcc9febb8f7 Gerrit-Change-Number: 24508 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 02:36:46 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 2 Jun 2021 02:36:46 +0000 Subject: Change in osmo-gsm-manuals[master]: TRXDv2: add primary/shadow classification for VAMOS PDUs In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/24508 to look at the new patch set (#2). Change subject: TRXDv2: add primary/shadow classification for VAMOS PDUs ...................................................................... TRXDv2: add primary/shadow classification for VAMOS PDUs Introduce a new flag (1-bit field) indicating whether a VAMOS PDU is for a _primary_ ('0'B) or for a _shadow_ ('1'B) timeslot. This field shall be present only in the Uplink VAMOS PDUs, which unlike the Downlink (AQPSK) PDUs are sent separately. This will simplify routing of such PDUs in osmo-bts. Change-Id: Ie00a12824938c6a65480bde1af364dcc9febb8f7 Related: SYS#4895, OS#4941, OS#4006 --- M common/chapters/trx_if.adoc 1 file changed, 23 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/08/24508/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/24508 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Change-Id: Ie00a12824938c6a65480bde1af364dcc9febb8f7 Gerrit-Change-Number: 24508 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 02:48:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 2 Jun 2021 02:48:24 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit: add primary/shadow classificator for TRXDv2 PDUs References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24509 ) Change subject: trx_toolkit: add primary/shadow classificator for TRXDv2 PDUs ...................................................................... trx_toolkit: add primary/shadow classificator for TRXDv2 PDUs Change-Id: I0a3ad4f0bda56b93e0ab8bf82b6b3758831edf60 Related: SYS#4895, OS#4941, OS#4006 --- M src/target/trx_toolkit/trxd_proto.py 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/09/24509/1 diff --git a/src/target/trx_toolkit/trxd_proto.py b/src/target/trx_toolkit/trxd_proto.py index 74a3124..21fe31e 100644 --- a/src/target/trx_toolkit/trxd_proto.py +++ b/src/target/trx_toolkit/trxd_proto.py @@ -40,7 +40,8 @@ if ver >= 2: # TRXDv2 and higher f.append(codec.BitField('batch', bl=1)) - f.append(codec.BitField.Spare(bl=1)) + f.append(codec.BitField('shadow', bl=1) if batched + else codec.BitField.Spare(bl=1)) f.append(codec.BitField('trxn', bl=6)) codec.BitFieldSet.__init__(self, set=tuple(f)) -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24509 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I0a3ad4f0bda56b93e0ab8bf82b6b3758831edf60 Gerrit-Change-Number: 24509 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 02:49:22 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 2 Jun 2021 02:49:22 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit: add primary/shadow indicator for TRXDv2 PDUs In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmocom-bb/+/24509 ) Change subject: trx_toolkit: add primary/shadow indicator for TRXDv2 PDUs ...................................................................... trx_toolkit: add primary/shadow indicator for TRXDv2 PDUs Change-Id: I0a3ad4f0bda56b93e0ab8bf82b6b3758831edf60 Related: SYS#4895, OS#4941, OS#4006 --- M src/target/trx_toolkit/trxd_proto.py 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/09/24509/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24509 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I0a3ad4f0bda56b93e0ab8bf82b6b3758831edf60 Gerrit-Change-Number: 24509 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 Wed Jun 2 07:12:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 2 Jun 2021 07:12:14 +0000 Subject: Change in simtrace2[master]: simtrace2-cardem-pcsc: Reset the real card if reader resets cardem In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24506 ) Change subject: simtrace2-cardem-pcsc: Reset the real card if reader resets cardem ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24506 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I7056476c5f81e8aa8f550afb86bf2380d1497ebb Gerrit-Change-Number: 24506 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 02 Jun 2021 07: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 Jun 2 07:12:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 2 Jun 2021 07:12:16 +0000 Subject: Change in simtrace2[master]: simtrace2-cardem-pcsc: Reset the real card if reader resets cardem In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24506 ) Change subject: simtrace2-cardem-pcsc: Reset the real card if reader resets cardem ...................................................................... simtrace2-cardem-pcsc: Reset the real card if reader resets cardem When the cardem detects a reset from the phone/modem, pass this on to the actual card via the PC/SC reader. This is important to reset the card state whenever requested by the stack/driver on the phone/modem. Change-Id: I7056476c5f81e8aa8f550afb86bf2380d1497ebb Depends: libosmocore 20199da02d37a6d284915a27ec12641e79b8781c --- M host/src/simtrace2-cardem-pcsc.c 1 file changed, 25 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/host/src/simtrace2-cardem-pcsc.c b/host/src/simtrace2-cardem-pcsc.c index 532c5ba..af34d3f 100644 --- a/host/src/simtrace2-cardem-pcsc.c +++ b/host/src/simtrace2-cardem-pcsc.c @@ -74,6 +74,27 @@ flags & CEMU_STATUS_F_RCEMU_ACTIVE ? "RCEMU " : ""); } +static uint32_t last_flags = 0; + +static void update_flags(struct osmo_st2_cardem_inst *ci, uint32_t flags) +{ + struct osim_card_hdl *card = ci->chan->card; + + if ((flags & CEMU_STATUS_F_VCC_PRESENT) && (flags & CEMU_STATUS_F_CLK_ACTIVE) && + !(flags & CEMU_STATUS_F_RESET_ACTIVE)) { + if (last_flags & CEMU_STATUS_F_RESET_ACTIVE) { + /* a reset has just ended, forward it to the real card */ + bool cold_reset = true; + if (last_flags & CEMU_STATUS_F_VCC_PRESENT) + cold_reset = false; + LOGCI(ci, LOGL_NOTICE, "%s Resetting card in reader...\n", + cold_reset ? "Cold" : "Warm"); + osim_card_reset(card, cold_reset); + } + } + last_flags = flags; +} + /*********************************************************************** * Incoming Messages ***********************************************************************/ @@ -89,6 +110,8 @@ status->flags, status->fi, status->di, status->wi, status->waiting_time, fbuf); + update_flags(ci, status->flags); + return 0; } @@ -195,6 +218,8 @@ status->flags, status->fi, status->di, status->wi, status->waiting_time, fbuf); + update_flags(ci, status->flags); + return 0; } -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24506 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I7056476c5f81e8aa8f550afb86bf2380d1497ebb Gerrit-Change-Number: 24506 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 07:12:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 2 Jun 2021 07:12:42 +0000 Subject: Change in simtrace2[master]: assert: Use printf_sync() to ensure printing of assert / panic References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24510 ) Change subject: assert: Use printf_sync() to ensure printing of assert / panic ...................................................................... assert: Use printf_sync() to ensure printing of assert / panic Change-Id: Icc202e60445d9be1cdcd61176db5ed1704d583e7 --- M firmware/libcommon/include/assert.h M firmware/libosmocore/source/panic.c M firmware/test/card_emu_tests.c 3 files changed, 16 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/10/24510/1 diff --git a/firmware/libcommon/include/assert.h b/firmware/libcommon/include/assert.h index 22bb101..dc6b1b5 100644 --- a/firmware/libcommon/include/assert.h +++ b/firmware/libcommon/include/assert.h @@ -89,7 +89,7 @@ /// \param condition Condition to verify. #define ASSERT(condition) { \ if (!(condition)) { \ - printf("-F- ASSERT: %s %s:%d\n\r", #condition, __BASE_FILE__, __LINE__); \ + printf_sync("-F- ASSERT: %s %s:%d\n\r", #condition, __BASE_FILE__, __LINE__); \ while (1); \ } \ } diff --git a/firmware/libosmocore/source/panic.c b/firmware/libosmocore/source/panic.c index 74243b0..db5c26a 100644 --- a/firmware/libosmocore/source/panic.c +++ b/firmware/libosmocore/source/panic.c @@ -46,7 +46,7 @@ __attribute__ ((format (printf, 1, 0))) static void osmo_panic_default(const char *fmt, va_list args) { - vfprintf(stderr, fmt, args); + vfprintf_sync(stderr, fmt, args); osmo_generate_backtrace(); assert(0); } diff --git a/firmware/test/card_emu_tests.c b/firmware/test/card_emu_tests.c index 69159a8..5d5bd3e 100644 --- a/firmware/test/card_emu_tests.c +++ b/firmware/test/card_emu_tests.c @@ -13,6 +13,20 @@ #define PHONE_INT 2 #define PHONE_DATAOUT 3 +/* stub for stdio */ +signed int printf_sync(const char *pFormat, ...) +{ + va_list ap; + signed int result; + + va_start(ap, pFormat); + result = vprintf(pFormat, ap); + va_end(ap); + + return result; +} + + /*********************************************************************** * stub functions required by card_emu.c ***********************************************************************/ -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24510 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Icc202e60445d9be1cdcd61176db5ed1704d583e7 Gerrit-Change-Number: 24510 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 Jun 2 07:38:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 2 Jun 2021 07:38:05 +0000 Subject: Change in simtrace2[master]: Add usb product ID of sysmoOCTSIMTEST References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24511 ) Change subject: Add usb product ID of sysmoOCTSIMTEST ...................................................................... Add usb product ID of sysmoOCTSIMTEST This is a custom board for production testing of the sysmoOCTSIM, an 8-slot smart card reader. Change-Id: I65839be50ac896c76f34755fb2800f836f6cdae4 --- M firmware/libcommon/include/simtrace_usb.h M host/lib/usb_util.c 2 files changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/11/24511/1 diff --git a/firmware/libcommon/include/simtrace_usb.h b/firmware/libcommon/include/simtrace_usb.h index be2da9f..a232ac5 100644 --- a/firmware/libcommon/include/simtrace_usb.h +++ b/firmware/libcommon/include/simtrace_usb.h @@ -25,6 +25,7 @@ #define USB_PRODUCT_QMOD_SAM3 0x4004 #define USB_PRODUCT_SIMTRACE2_DFU 0x60e3 /* was 0x60e2 */ #define USB_PRODUCT_SIMTRACE2 0x60e3 +#define USB_PRODUCT_OCTSIMTEST 0x616d /* USB proprietary class */ #define USB_CLASS_PROPRIETARY 0xff diff --git a/host/lib/usb_util.c b/host/lib/usb_util.c index 7599991..4d3b2b9 100644 --- a/host/lib/usb_util.c +++ b/host/lib/usb_util.c @@ -32,5 +32,6 @@ { USB_VENDOR_OPENMOKO, USB_PRODUCT_OWHW_SAM3 }, { USB_VENDOR_OPENMOKO, USB_PRODUCT_QMOD_SAM3 }, { USB_VENDOR_OPENMOKO, USB_PRODUCT_SIMTRACE2 }, + { USB_VENDOR_OPENMOKO, USB_PRODUCT_OCTSIMTEST }, { 0, 0 } }; -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I65839be50ac896c76f34755fb2800f836f6cdae4 Gerrit-Change-Number: 24511 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 Jun 2 07:43:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 2 Jun 2021 07:43:46 +0000 Subject: Change in simtrace2[master]: don't printf() directly from library code, go via libosmocore logging References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24512 ) Change subject: don't printf() directly from library code, go via libosmocore logging ...................................................................... don't printf() directly from library code, go via libosmocore logging This allows us to use different log levels, and permits the user to use other log targets. Change-Id: I08ef7cfa5d8734882746a11ccd5f059d757401ae --- M host/lib/simtrace2_api.c 1 file changed, 16 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/12/24512/1 diff --git a/host/lib/simtrace2_api.c b/host/lib/simtrace2_api.c index 4e16fd1..a61b2cf 100644 --- a/host/lib/simtrace2_api.c +++ b/host/lib/simtrace2_api.c @@ -44,9 +44,13 @@ #include #include #include +#include #include #include +#define LOGSLOT(slot, lvl, fmt, args...) \ + LOGP(DLINP, lvl, "[%u] " fmt, (slot)->slot_nr, ## args) + /*********************************************************************** * SIMTRACE core protocol ***********************************************************************/ @@ -141,7 +145,6 @@ OSMO_ASSERT(transp); st_push_hdr(msg, msg_class, msg_type, slot->slot_nr); - printf("SIMtrace <- %s\n", msgb_hexdump(msg)); if (transp->udp_fd < 0) { if (transp->usb_async) @@ -166,6 +169,8 @@ struct msgb *msg = st_msgb_alloc(); struct cardemu_usb_msg_cardinsert *cins; + LOGSLOT(ci->slot, LOGL_NOTICE, "<= %s(inserted=%d)\n", __func__, inserted); + cins = (struct cardemu_usb_msg_cardinsert *) msgb_put(msg, sizeof(*cins)); memset(cins, 0, sizeof(*cins)); if (inserted) @@ -181,7 +186,7 @@ struct cardemu_usb_msg_tx_data *txd; txd = (struct cardemu_usb_msg_tx_data *) msgb_put(msg, sizeof(*txd)); - printf("<= %s(%02x, %d)\n", __func__, pb, le); + LOGSLOT(ci->slot, LOGL_DEBUG, "<= %s(pb=%02x, le=%u)\n", __func__, pb, le); memset(txd, 0, sizeof(*txd)); txd->data_len = 1; @@ -202,7 +207,7 @@ txd = (struct cardemu_usb_msg_tx_data *) msgb_put(msg, sizeof(*txd)); - printf("<= %s(%02x, %s, %d)\n", __func__, pb, + LOGSLOT(ci->slot, LOGL_DEBUG, "<= %s(pb=%02x, tx=%s, len=%d)\n", __func__, pb, osmo_hexdump(data, data_len_in), data_len_in); memset(txd, 0, sizeof(*txd)); @@ -226,7 +231,7 @@ txd = (struct cardemu_usb_msg_tx_data *) msgb_put(msg, sizeof(*txd)); - printf("<= %s(%02x %02x)\n", __func__, sw[0], sw[1]); + LOGSLOT(ci->slot, LOGL_DEBUG, "<= %s(sw=%02x%02x)\n", __func__, sw[0], sw[1]); memset(txd, 0, sizeof(*txd)); txd->data_len = 2; @@ -246,7 +251,7 @@ satr = (struct cardemu_usb_msg_set_atr *) msgb_put(msg, sizeof(*satr)); - printf("<= %s(%s)\n", __func__, osmo_hexdump(atr, atr_len)); + LOGSLOT(ci->slot, LOGL_NOTICE, "<= %s(%s)\n", __func__, osmo_hexdump(atr, atr_len)); memset(satr, 0, sizeof(*satr)); satr->atr_len = atr_len; @@ -263,7 +268,7 @@ cfg = (struct cardemu_usb_msg_config *) msgb_put(msg, sizeof(*cfg)); - printf("<= %s(%08x)\n", __func__, features); + LOGSLOT(ci->slot, LOGL_NOTICE, "<= %s(features=%08x)\n", __func__, features); memset(cfg, 0, sizeof(*cfg)); cfg->features = features; @@ -280,6 +285,9 @@ struct msgb *msg = st_msgb_alloc(); struct st_modem_reset *sr ; + LOGSLOT(slot, LOGL_NOTICE, "<= %s(asserted=%u, pulse_ms=%u)\n", __func__, + asserted, pulse_ms); + sr = (struct st_modem_reset *) msgb_put(msg, sizeof(*sr)); sr->asserted = asserted; sr->pulse_duration_msec = pulse_ms; @@ -310,6 +318,8 @@ struct msgb *msg = st_msgb_alloc(); struct st_modem_sim_select *ss; + LOGSLOT(slot, LOGL_NOTICE, "<= %s(remote_sim=%u)\n", __func__, remote_sim); + ss = (struct st_modem_sim_select *) msgb_put(msg, sizeof(*ss)); ss->remote_sim = remote_sim; -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24512 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I08ef7cfa5d8734882746a11ccd5f059d757401ae Gerrit-Change-Number: 24512 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 Jun 2 09:56:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Jun 2021 09:56:20 +0000 Subject: Change in osmo-gsm-manuals[master]: TRXDv2: add primary/shadow classification for VAMOS PDUs In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/24508 ) Change subject: TRXDv2: add primary/shadow classification for VAMOS PDUs ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/24508 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Change-Id: Ie00a12824938c6a65480bde1af364dcc9febb8f7 Gerrit-Change-Number: 24508 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Jun 2021 09:56:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 10:00:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Jun 2021 10:00:03 +0000 Subject: Change in libosmocore[master]: socket: add function to wait until a socket becomes writeable In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24435 ) Change subject: socket: add function to wait until a socket becomes writeable ...................................................................... Patch Set 2: > The intended use of the function is not from inside the mainloop. I have added a note in the API documentation to make users aware of the blocking. Can you then please explain how and where do you plan to use this API? I fail to see any place in osmocom code where we don't care about blocking the entire process. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1c68185120fa2a6c9b6cb8aa2a25232a44ff5508 Gerrit-Change-Number: 24435 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Jun 2021 10:00:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 10:01:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Jun 2021 10:01:08 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit: add primary/shadow indicator for TRXDv2 PDUs In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24509 ) Change subject: trx_toolkit: add primary/shadow indicator for TRXDv2 PDUs ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24509 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I0a3ad4f0bda56b93e0ab8bf82b6b3758831edf60 Gerrit-Change-Number: 24509 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Jun 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 Jun 2 10:34:01 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 2 Jun 2021 10:34:01 +0000 Subject: Change in osmo-pcu[master]: bts: Fix typo in field name In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24498 ) Change subject: bts: Fix typo in field name ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5426ff4ccbc45464888e2246cceb8e861d1e477e Gerrit-Change-Number: 24498 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 02 Jun 2021 10:34: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 Jun 2 12:05:20 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 2 Jun 2021 12:05:20 +0000 Subject: Change in osmo-bsc[master]: Drop duplicated arfcn_range_encode.c available in libosmocore In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24503 ) Change subject: Drop duplicated arfcn_range_encode.c available in libosmocore ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I53ad3067623077b6a8737c2a0aecc8b46bf71a15 Gerrit-Change-Number: 24503 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 02 Jun 2021 12:05:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 12:20:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Jun 2021 12:20:23 +0000 Subject: Change in osmo-bsc[master]: Drop duplicated arfcn_range_encode.c available in libosmocore In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24503 ) Change subject: Drop duplicated arfcn_range_encode.c available in libosmocore ...................................................................... Drop duplicated arfcn_range_encode.c available in libosmocore This code is available in libosmocore since ~3 years ago (fdf8b7b1beeb0cda262c5fb060a933aa7edb5e9a). Let's use it instead of maintaining duplicated code which diverges over time. Depends: osmo-bsc.git Iae058c35506bc25c9f4790889b89ac46aea664b6 (contains cherry-pick of bug fixed in osmo-bsc.git). Change-Id: I53ad3067623077b6a8737c2a0aecc8b46bf71a15 --- M include/osmocom/bsc/Makefile.am D include/osmocom/bsc/arfcn_range_encode.h M include/osmocom/bsc/system_information.h M src/osmo-bsc/Makefile.am D src/osmo-bsc/arfcn_range_encode.c M src/osmo-bsc/system_information.c M tests/bsc/Makefile.am M tests/gsm0408/Makefile.am M tests/gsm0408/gsm0408_test.c M tests/gsm0408/gsm0408_test.ok M tests/handover/Makefile.am 11 files changed, 18 insertions(+), 783 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/include/osmocom/bsc/Makefile.am b/include/osmocom/bsc/Makefile.am index 7ca99fa..be27dae 100644 --- a/include/osmocom/bsc/Makefile.am +++ b/include/osmocom/bsc/Makefile.am @@ -4,7 +4,6 @@ abis_om2000.h \ abis_rsl.h \ acc.h \ - arfcn_range_encode.h \ assignment_fsm.h \ bsc_rll.h \ bsc_subscriber.h \ diff --git a/include/osmocom/bsc/arfcn_range_encode.h b/include/osmocom/bsc/arfcn_range_encode.h deleted file mode 100644 index 7ec710c..0000000 --- a/include/osmocom/bsc/arfcn_range_encode.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef ARFCN_RANGE_ENCODE_H -#define ARFCN_RANGE_ENCODE_H - -#include - -enum gsm48_range { - ARFCN_RANGE_INVALID = -1, - ARFCN_RANGE_128 = 127, - ARFCN_RANGE_256 = 255, - ARFCN_RANGE_512 = 511, - ARFCN_RANGE_1024 = 1023, -}; - -#define RANGE_ENC_MAX_ARFCNS 29 - -int range_enc_determine_range(const int *arfcns, int size, int *f0_out); -int range_enc_arfcns(enum gsm48_range rng, const int *arfcns, int sze, int *out, int idx); -int range_enc_find_index(enum gsm48_range rng, const int *arfcns, int size); -int range_enc_filter_arfcns(int *arfcns, const int sze, const int f0, int *f0_included); - -int range_enc_range128(uint8_t *chan_list, int f0, int *w); -int range_enc_range256(uint8_t *chan_list, int f0, int *w); -int range_enc_range512(uint8_t *chan_list, int f0, int *w); -int range_enc_range1024(uint8_t *chan_list, int f0, int f0_incl, int *w); - -#endif diff --git a/include/osmocom/bsc/system_information.h b/include/osmocom/bsc/system_information.h index e86a349..08d34f8 100644 --- a/include/osmocom/bsc/system_information.h +++ b/include/osmocom/bsc/system_information.h @@ -3,7 +3,7 @@ #include -#include +#include struct gsm_bts; @@ -13,7 +13,7 @@ size_t si2q_earfcn_count(const struct osmo_earfcn_si2q *e); unsigned range1024_p(unsigned n); unsigned range512_q(unsigned m); -int range_encode(enum gsm48_range r, int *arfcns, int arfcns_used, int *w, +int range_encode(enum osmo_gsm48_range r, int *arfcns, int arfcns_used, int *w, int f0, uint8_t *chan_list); uint8_t si2q_num(struct gsm_bts *bts); int bts_earfcn_add(struct gsm_bts *bts, uint16_t earfcn, uint8_t thresh_hi, uint8_t thresh_lo, uint8_t prio, diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am index ca39825..f91c6bf 100644 --- a/src/osmo-bsc/Makefile.am +++ b/src/osmo-bsc/Makefile.am @@ -33,7 +33,6 @@ abis_om2000_vty.c \ abis_rsl.c \ acc.c \ - arfcn_range_encode.c \ assignment_fsm.c \ bsc_ctrl_commands.c \ bsc_ctrl_lookup.c \ diff --git a/src/osmo-bsc/arfcn_range_encode.c b/src/osmo-bsc/arfcn_range_encode.c deleted file mode 100644 index 54d98a9..0000000 --- a/src/osmo-bsc/arfcn_range_encode.c +++ /dev/null @@ -1,340 +0,0 @@ -/* gsm 04.08 system information (si) encoding and decoding - * 3gpp ts 04.08 version 7.21.0 release 1998 / etsi ts 100 940 v7.21.0 */ - -/* - * (C) 2012 Holger Hans Peter Freyther - * (C) 2012 by On-Waves - * All Rights Reserved - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -#include -#include - -#include - -#include - -#include - -static inline int greatest_power_of_2_lesser_or_equal_to(int index) -{ - int power_of_2 = 1; - - do { - power_of_2 *= 2; - } while (power_of_2 <= index); - - /* now go back one step */ - return power_of_2 / 2; -} - -static inline int mod(int data, int range) -{ - int res = data % range; - while (res < 0) - res += range; - return res; -} - -/** - * Determine at which index to split the ARFCNs to create an - * equally size partition for the given range. Return -1 if - * no such partition exists. - */ -int range_enc_find_index(enum gsm48_range range, const int *freqs, const int size) -{ - int i, j, n; - - const int RANGE_DELTA = (range - 1) / 2; - - for (i = 0; i < size; ++i) { - n = 0; - for (j = 0; j < size; ++j) { - if (mod(freqs[j] - freqs[i], range) <= RANGE_DELTA) - n += 1; - } - - if (n - 1 == (size - 1) / 2) - return i; - } - - return -1; -} - -/* Worker for range_enc_arfcns(), do not call directly. */ -int _range_enc_arfcns(enum gsm48_range range, - const int *arfcns, int size, int *out, - const int index) -{ - int split_at; - int i; - - /* - * The below is a GNU extension and we can remove it when - * we move to a quicksort like in-situ swap with the pivot. - */ - int arfcns_left[size / 2]; - int arfcns_right[size / 2]; - int l_size; - int r_size; - int l_origin; - int r_origin; - - /* Now do the processing */ - split_at = range_enc_find_index(range, arfcns, size); - if (split_at < 0) - return -EINVAL; - - /* we now know where to split */ - out[index] = 1 + arfcns[split_at]; - - /* calculate the work that needs to be done for the leafs */ - l_origin = mod(arfcns[split_at] + ((range - 1) / 2) + 1, range); - r_origin = mod(arfcns[split_at] + 1, range); - for (i = 0, l_size = 0, r_size = 0; i < size; ++i) { - if (mod(arfcns[i] - l_origin, range) < range / 2) - arfcns_left[l_size++] = mod(arfcns[i] - l_origin, range); - if (mod(arfcns[i] - r_origin, range) < range / 2) - arfcns_right[r_size++] = mod(arfcns[i] - r_origin, range); - } - - /* - * Now recurse and we need to make this iterative... but as the - * tree is balanced the stack will not be too deep. - */ - if (l_size) - range_enc_arfcns(range / 2, arfcns_left, l_size, - out, index + greatest_power_of_2_lesser_or_equal_to(index + 1)); - if (r_size) - range_enc_arfcns((range - 1) / 2, arfcns_right, r_size, - out, index + (2 * greatest_power_of_2_lesser_or_equal_to(index + 1))); - return 0; -} - -/** - * Range encode the ARFCN list. - * \param range The range to use. - * \param arfcns The list of ARFCNs - * \param size The size of the list of ARFCNs - * \param out Place to store the W(i) output. - */ -int range_enc_arfcns(enum gsm48_range range, - const int *arfcns, int size, int *out, - const int index) -{ - if (size <= 0) - return 0; - - if (size == 1) { - out[index] = 1 + arfcns[0]; - return 0; - } - - return _range_enc_arfcns(range, arfcns, size, out, index); -} - -/* - * The easiest is to use f0 == arfcns[0]. This means that under certain - * circumstances we can encode less ARFCNs than possible with an optimal f0. - * - * TODO: Solve the optimisation problem and pick f0 so that the max distance - * is the smallest. Taking into account the modulo operation. I think picking - * size/2 will be the optimal arfcn. - */ -/** - * This implements the range determination as described in GSM 04.08 J4. The - * result will be a base frequency f0 and the range to use. Note that for range - * 1024 encoding f0 always refers to ARFCN 0 even if it is not an element of - * the arfcns list. - * - * \param[in] arfcns The input frequencies, they must be sorted, lowest number first - * \param[in] size The length of the array - * \param[out] f0 The selected F0 base frequency. It might not be inside the list - */ -int range_enc_determine_range(const int *arfcns, const int size, int *f0) -{ - int max = 0; - - /* don't dereference arfcns[] array if size is 0 */ - if (size == 0) - return ARFCN_RANGE_128; - - /* - * Go for the easiest. And pick arfcns[0] == f0. - */ - max = arfcns[size - 1] - arfcns[0]; - *f0 = arfcns[0]; - - if (max < 128 && size <= 29) - return ARFCN_RANGE_128; - if (max < 256 && size <= 22) - return ARFCN_RANGE_256; - if (max < 512 && size <= 18) - return ARFCN_RANGE_512; - if (max < 1024 && size <= 17) { - *f0 = 0; - return ARFCN_RANGE_1024; - } - - return ARFCN_RANGE_INVALID; -} - -static void write_orig_arfcn(uint8_t *chan_list, int f0) -{ - chan_list[0] |= (f0 >> 9) & 1; - chan_list[1] = (f0 >> 1); - chan_list[2] = (f0 & 1) << 7; -} - -static void write_all_wn(uint8_t *chan_list, int bit_offs, - int *w, int w_size, int w1_len) -{ - int octet_offs = 0; /* offset into chan_list */ - int wk_len = w1_len; /* encoding size in bits of w[k] */ - int k; /* 1 based */ - int level = 0; /* tree level, top level = 0 */ - int lvl_left = 1; /* nodes per tree level */ - - /* W(2^i) to W(2^(i+1)-1) are on w1_len-i bits when present */ - - for (k = 1; k <= w_size; k++) { - int wk_left = wk_len; - DEBUGP(DRR, - "k=%d, wk_len=%d, offs=%d:%d, level=%d, " - "lvl_left=%d\n", - k, wk_len, octet_offs, bit_offs, level, lvl_left); - - while (wk_left > 0) { - int cur_bits = 8 - bit_offs; - int cur_mask; - int wk_slice; - - if (cur_bits > wk_left) - cur_bits = wk_left; - - cur_mask = ((1 << cur_bits) - 1); - - DEBUGP(DRR, - " wk_left=%d, cur_bits=%d, offs=%d:%d\n", - wk_left, cur_bits, octet_offs, bit_offs); - - /* advance */ - wk_left -= cur_bits; - bit_offs += cur_bits; - - /* right aligned wk data for current out octet */ - wk_slice = (w[k-1] >> wk_left) & cur_mask; - - /* cur_bits now contains the number of bits - * that are to be copied from wk to the chan_list. - * wk_left is set to the number of bits that must - * not yet be copied. - * bit_offs points after the bit area that is going to - * be overwritten: - * - * wk_left - * | - * v - * wk: WWWWWWWWWWW - * |||||<-- wk_slice, cur_bits=5 - * --WWWWW- - * ^ - * | - * bit_offs - */ - - DEBUGP(DRR, - " wk=%02x, slice=%02x/%02x, cl=%02x\n", - w[k-1], wk_slice, cur_mask, wk_slice << (8 - bit_offs)); - - chan_list[octet_offs] &= ~(cur_mask << (8 - bit_offs)); - chan_list[octet_offs] |= wk_slice << (8 - bit_offs); - - /* adjust output */ - if (bit_offs == 8) { - bit_offs = 0; - octet_offs += 1; - } - } - - /* adjust bit sizes */ - lvl_left -= 1; - if (!lvl_left) { - /* completed tree level, advance to next */ - level += 1; - lvl_left = 1 << level; - wk_len -= 1; - } - } -} - -int range_enc_range128(uint8_t *chan_list, int f0, int *w) -{ - chan_list[0] = 0x8C; - write_orig_arfcn(chan_list, f0); - - write_all_wn(&chan_list[2], 1, w, 28, 7); - return 0; -} - -int range_enc_range256(uint8_t *chan_list, int f0, int *w) -{ - chan_list[0] = 0x8A; - write_orig_arfcn(chan_list, f0); - - write_all_wn(&chan_list[2], 1, w, 21, 8); - return 0; -} - -int range_enc_range512(uint8_t *chan_list, int f0, int *w) -{ - chan_list[0] = 0x88; - write_orig_arfcn(chan_list, f0); - - write_all_wn(&chan_list[2], 1, w, 17, 9); - return 0; -} - -int range_enc_range1024(uint8_t *chan_list, int f0, int f0_included, int *w) -{ - chan_list[0] = 0x80 | (f0_included << 2); - - write_all_wn(&chan_list[0], 6, w, 16, 10); - return 0; -} - -int range_enc_filter_arfcns(int *arfcns, - const int size, const int f0, int *f0_included) -{ - int i, j = 0; - *f0_included = 0; - - for (i = 0; i < size; ++i) { - /* - * Appendix J.4 says the following: - * All frequencies except F(0), minus F(0) + 1. - * I assume we need to exclude it here. - */ - if (arfcns[i] == f0) { - *f0_included = 1; - continue; - } - - arfcns[j++] = mod(arfcns[i] - (f0 + 1), 1024); - } - - return j; -} diff --git a/src/osmo-bsc/system_information.c b/src/osmo-bsc/system_information.c index eddc650..21cbcae 100644 --- a/src/osmo-bsc/system_information.c +++ b/src/osmo-bsc/system_information.c @@ -33,11 +33,11 @@ #include #include #include +#include #include #include #include -#include #include #include #include @@ -431,7 +431,7 @@ return 0; } -int range_encode(enum gsm48_range r, int *arfcns, int arfcns_used, int *w, +int range_encode(enum osmo_gsm48_range r, int *arfcns, int arfcns_used, int *w, int f0, uint8_t *chan_list) { /* @@ -440,22 +440,22 @@ */ int rc, f0_included; - range_enc_filter_arfcns(arfcns, arfcns_used, f0, &f0_included); + osmo_gsm48_range_enc_filter_arfcns(arfcns, arfcns_used, f0, &f0_included); - rc = range_enc_arfcns(r, arfcns, arfcns_used, w, 0); + rc = osmo_gsm48_range_enc_arfcns(r, arfcns, arfcns_used, w, 0); if (rc < 0) return rc; /* Select the range and the amount of bits needed */ switch (r) { - case ARFCN_RANGE_128: - return range_enc_range128(chan_list, f0, w); - case ARFCN_RANGE_256: - return range_enc_range256(chan_list, f0, w); - case ARFCN_RANGE_512: - return range_enc_range512(chan_list, f0, w); - case ARFCN_RANGE_1024: - return range_enc_range1024(chan_list, f0, f0_included, w); + case OSMO_GSM48_ARFCN_RANGE_128: + return osmo_gsm48_range_enc_128(chan_list, f0, w); + case OSMO_GSM48_ARFCN_RANGE_256: + return osmo_gsm48_range_enc_256(chan_list, f0, w); + case OSMO_GSM48_ARFCN_RANGE_512: + return osmo_gsm48_range_enc_512(chan_list, f0, w); + case OSMO_GSM48_ARFCN_RANGE_1024: + return osmo_gsm48_range_enc_1024(chan_list, f0, f0_included, w); default: return -ERANGE; }; @@ -468,8 +468,8 @@ const struct bitvec *bv, const struct gsm_bts *bts, bool bis, bool ter, bool pgsm) { - int arfcns[RANGE_ENC_MAX_ARFCNS]; - int w[RANGE_ENC_MAX_ARFCNS]; + int arfcns[OSMO_GSM48_RANGE_ENC_MAX_ARFCNS]; + int w[OSMO_GSM48_RANGE_ENC_MAX_ARFCNS]; int arfcns_used = 0; int i, range, f0; @@ -488,8 +488,8 @@ /* * Check if the given list of ARFCNs can be encoded. */ - range = range_enc_determine_range(arfcns, arfcns_used, &f0); - if (range == ARFCN_RANGE_INVALID) + range = osmo_gsm48_range_enc_determine_range(arfcns, arfcns_used, &f0); + if (range == OSMO_GSM48_ARFCN_RANGE_INVALID) return -2; memset(w, 0, sizeof(w)); diff --git a/tests/bsc/Makefile.am b/tests/bsc/Makefile.am index 2cc57a4..d08ca18 100644 --- a/tests/bsc/Makefile.am +++ b/tests/bsc/Makefile.am @@ -36,7 +36,6 @@ bsc_test_LDADD = \ $(top_builddir)/src/osmo-bsc/abis_nm.o \ $(top_builddir)/src/osmo-bsc/acc.o \ - $(top_builddir)/src/osmo-bsc/arfcn_range_encode.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 \ diff --git a/tests/gsm0408/Makefile.am b/tests/gsm0408/Makefile.am index 571e7e6..271a0fd 100644 --- a/tests/gsm0408/Makefile.am +++ b/tests/gsm0408/Makefile.am @@ -27,7 +27,6 @@ $(top_builddir)/src/osmo-bsc/abis_nm.o \ $(top_builddir)/src/osmo-bsc/acc.o \ $(top_builddir)/src/osmo-bsc/gsm_04_08_rr.o \ - $(top_builddir)/src/osmo-bsc/arfcn_range_encode.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 \ diff --git a/tests/gsm0408/gsm0408_test.c b/tests/gsm0408/gsm0408_test.c index 7c92c36..4255ab2 100644 --- a/tests/gsm0408/gsm0408_test.c +++ b/tests/gsm0408/gsm0408_test.c @@ -26,7 +26,6 @@ #include #include -#include #include #include #include @@ -274,338 +273,6 @@ bts_del(bts); } -struct { - int range; - int arfcns_num; - int arfcns[RANGE_ENC_MAX_ARFCNS]; -} arfcn_test_ranges[] = { - {ARFCN_RANGE_512, 12, - { 1, 12, 31, 51, 57, 91, 97, 98, 113, 117, 120, 125 }}, - {ARFCN_RANGE_512, 17, - { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 }}, - {ARFCN_RANGE_512, 18, - { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 }}, - {ARFCN_RANGE_512, 18, - { 1, 17, 31, 45, 58, 79, 81, 97, - 113, 127, 213, 277, 287, 311, 331, 391, - 417, 511 }}, - {ARFCN_RANGE_512, 6, - { 1, 17, 31, 45, 58, 79 }}, - {ARFCN_RANGE_512, 6, - { 10, 17, 31, 45, 58, 79 }}, - {ARFCN_RANGE_1024, 17, - { 0, 17, 31, 45, 58, 79, 81, 97, - 113, 127, 213, 277, 287, 311, 331, 391, - 1023 }}, - {ARFCN_RANGE_1024, 16, - { 17, 31, 45, 58, 79, 81, 97, 113, - 127, 213, 277, 287, 311, 331, 391, 1023 }}, - {-1} -}; - -static int test_single_range_encoding(int range, const int *orig_arfcns, - int arfcns_num, int silent) -{ - int arfcns[RANGE_ENC_MAX_ARFCNS]; - int w[RANGE_ENC_MAX_ARFCNS]; - int f0_included = 0; - int rc, f0; - uint8_t chan_list[16] = {0}; - struct gsm_sysinfo_freq dec_freq[1024] = {{0}}; - int dec_arfcns[RANGE_ENC_MAX_ARFCNS] = {0}; - int dec_arfcns_count = 0; - int arfcns_used = 0; - int i; - - arfcns_used = arfcns_num; - memmove(arfcns, orig_arfcns, sizeof(arfcns)); - - f0 = range == ARFCN_RANGE_1024 ? 0 : arfcns[0]; - /* - * Manipulate the ARFCN list according to the rules in J4 depending - * on the selected range. - */ - arfcns_used = range_enc_filter_arfcns(arfcns, arfcns_used, - f0, &f0_included); - - memset(w, 0, sizeof(w)); - range_enc_arfcns(range, arfcns, arfcns_used, w, 0); - - if (!silent) - fprintf(stderr, "range=%d, arfcns_used=%d, f0=%d, f0_included=%d\n", - range, arfcns_used, f0, f0_included); - - /* Select the range and the amount of bits needed */ - switch (range) { - case ARFCN_RANGE_128: - range_enc_range128(chan_list, f0, w); - break; - case ARFCN_RANGE_256: - range_enc_range256(chan_list, f0, w); - break; - case ARFCN_RANGE_512: - range_enc_range512(chan_list, f0, w); - break; - case ARFCN_RANGE_1024: - range_enc_range1024(chan_list, f0, f0_included, w); - break; - default: - return 1; - }; - - if (!silent) - printf("chan_list = %s\n", - osmo_hexdump(chan_list, sizeof(chan_list))); - - rc = gsm48_decode_freq_list(dec_freq, chan_list, sizeof(chan_list), - 0xfe, 1); - if (rc != 0) { - printf("Cannot decode freq list, rc = %d\n", rc); - return 1; - } - - for (i = 0; i < ARRAY_SIZE(dec_freq); i++) { - if (dec_freq[i].mask && - dec_arfcns_count < ARRAY_SIZE(dec_arfcns)) - dec_arfcns[dec_arfcns_count++] = i; - } - - if (!silent) { - printf("Decoded freqs %d (expected %d)\n", - dec_arfcns_count, arfcns_num); - printf("Decoded: "); - for (i = 0; i < dec_arfcns_count; i++) { - printf("%d ", dec_arfcns[i]); - if (dec_arfcns[i] != orig_arfcns[i]) - printf("(!= %d) ", orig_arfcns[i]); - } - printf("\n"); - } - - if (dec_arfcns_count != arfcns_num) { - printf("Wrong number of arfcns\n"); - return 1; - } - - if (memcmp(dec_arfcns, orig_arfcns, sizeof(dec_arfcns)) != 0) { - printf("Decoding error, got wrong freqs\n"); - fprintf(stderr, " w = "); - for (i = 0; i < ARRAY_SIZE(w); i++) - fprintf(stderr, "%d ", w[i]); - fprintf(stderr, "\n"); - return 1; - } - - return 0; -} - -static void test_random_range_encoding(int range, int max_arfcn_num) -{ - int arfcns_num = 0; - int test_idx; - int rc, max_count; - int num_tests = 1024; - - printf("Random range test: range %d, max num ARFCNs %d\n", - range, max_arfcn_num); - - srandom(1); - - for (max_count = 1; max_count < max_arfcn_num; max_count++) { - for (test_idx = 0; test_idx < num_tests; test_idx++) { - int count; - int i; - int min_freq = 0; - - int rnd_arfcns[RANGE_ENC_MAX_ARFCNS] = {0}; - char rnd_arfcns_set[1024] = {0}; - - if (range < ARFCN_RANGE_1024) - min_freq = random() % (1023 - range); - - for (count = max_count; count; ) { - int arfcn = min_freq + random() % (range + 1); - OSMO_ASSERT(arfcn < ARRAY_SIZE(rnd_arfcns_set)); - - if (!rnd_arfcns_set[arfcn]) { - rnd_arfcns_set[arfcn] = 1; - count -= 1; - } - } - - arfcns_num = 0; - for (i = 0; i < ARRAY_SIZE(rnd_arfcns_set); i++) - if (rnd_arfcns_set[i]) - rnd_arfcns[arfcns_num++] = i; - - rc = test_single_range_encoding(range, rnd_arfcns, - arfcns_num, 1); - if (rc != 0) { - printf("Failed on test %d, range %d, num ARFCNs %d\n", - test_idx, range, max_count); - test_single_range_encoding(range, rnd_arfcns, - arfcns_num, 0); - return; - } - } - } -} - -static void test_range_encoding() -{ - int *arfcns; - int arfcns_num = 0; - int test_idx; - int range; - - for (test_idx = 0; arfcn_test_ranges[test_idx].arfcns_num > 0; test_idx++) - { - arfcns_num = arfcn_test_ranges[test_idx].arfcns_num; - arfcns = &arfcn_test_ranges[test_idx].arfcns[0]; - range = arfcn_test_ranges[test_idx].range; - - printf("Range test %d: range %d, num ARFCNs %d\n", - test_idx, range, arfcns_num); - - test_single_range_encoding(range, arfcns, arfcns_num, 0); - } - - test_random_range_encoding(ARFCN_RANGE_128, 29); - test_random_range_encoding(ARFCN_RANGE_256, 22); - test_random_range_encoding(ARFCN_RANGE_512, 18); - test_random_range_encoding(ARFCN_RANGE_1024, 16); -} - -static int freqs1[] = { - 12, 70, 121, 190, 250, 320, 401, 475, 520, 574, 634, 700, 764, 830, 905, 980 -}; - -static int freqs2[] = { - 402, 460, 1, 67, 131, 197, 272, 347, -}; - -static int freqs3[] = { - 68, 128, 198, 279, 353, 398, 452, - -}; - -static int w_out[] = { - 122, 2, 69, 204, 75, 66, 60, 70, 83, 3, 24, 67, 54, 64, 70, 9, -}; - -static int range128[] = { - 1, 1 + 127, -}; - -static int range256[] = { - 1, 1 + 128, -}; - -static int range512[] = { - 1, 1+ 511, -}; - - -static void test_arfcn_filter() -{ - int arfcns[50], i, res, f0_included; - for (i = 0; i < ARRAY_SIZE(arfcns); ++i) - arfcns[i] = (i + 1) * 2; - - /* check that the arfcn is taken out. f0_included is only set for Range1024 */ - f0_included = 24; - res = range_enc_filter_arfcns(arfcns, ARRAY_SIZE(arfcns), - arfcns[0], &f0_included); - VERIFY(res, ==, ARRAY_SIZE(arfcns) - 1); - VERIFY(f0_included, ==, 1); - for (i = 0; i < res; ++i) - VERIFY(arfcns[i], ==, ((i+2) * 2) - (2+1)); - - /* check with range1024, ARFCN 0 is included */ - for (i = 0; i < ARRAY_SIZE(arfcns); ++i) - arfcns[i] = i * 2; - res = range_enc_filter_arfcns(arfcns, ARRAY_SIZE(arfcns), - 0, &f0_included); - VERIFY(res, ==, ARRAY_SIZE(arfcns) - 1); - VERIFY(f0_included, ==, 1); - for (i = 0; i < res; ++i) - VERIFY(arfcns[i], ==, (i + 1) * 2 - 1); - - /* check with range1024, ARFCN 0 not included */ - for (i = 0; i < ARRAY_SIZE(arfcns); ++i) - arfcns[i] = (i + 1) * 2; - res = range_enc_filter_arfcns(arfcns, ARRAY_SIZE(arfcns), - 0, &f0_included); - VERIFY(res, ==, ARRAY_SIZE(arfcns)); - VERIFY(f0_included, ==, 0); - for (i = 0; i < res; ++i) - VERIFY(arfcns[i], ==, ((i + 1) * 2) - 1); -} - -static void test_print_encoding() -{ - int rc; - int w[17]; - uint8_t chan_list[16]; - memset(chan_list, 0x23, sizeof(chan_list)); - - for (rc = 0; rc < ARRAY_SIZE(w); ++rc) - switch (rc % 3) { - case 0: - w[rc] = 0xAAAA; - break; - case 1: - w[rc] = 0x5555; - break; - case 2: - w[rc] = 0x9696; - break; - } - - range_enc_range512(chan_list, (1 << 9) | 0x96, w); - - printf("Range512: %s\n", osmo_hexdump(chan_list, ARRAY_SIZE(chan_list))); -} - -static void test_si_range_helpers() -{ - int ws[(sizeof(freqs1)/sizeof(freqs1[0]))]; - int i, f0 = 0xFFFFFF; - - memset(&ws[0], 0x23, sizeof(ws)); - - i = range_enc_find_index(1023, freqs1, ARRAY_SIZE(freqs1)); - printf("Element is: %d => freqs[i] = %d\n", i, i >= 0 ? freqs1[i] : -1); - VERIFY(i, ==, 2); - - i = range_enc_find_index(511, freqs2, ARRAY_SIZE(freqs2)); - printf("Element is: %d => freqs[i] = %d\n", i, i >= 0 ? freqs2[i] : -1); - VERIFY(i, ==, 2); - - i = range_enc_find_index(511, freqs3, ARRAY_SIZE(freqs3)); - printf("Element is: %d => freqs[i] = %d\n", i, i >= 0 ? freqs3[i] : -1); - VERIFY(i, ==, 0); - - range_enc_arfcns(1023, freqs1, ARRAY_SIZE(freqs1), ws, 0); - - for (i = 0; i < sizeof(freqs1)/sizeof(freqs1[0]); ++i) { - printf("w[%d]=%d\n", i, ws[i]); - VERIFY(ws[i], ==, w_out[i]); - } - - i = range_enc_determine_range(range128, ARRAY_SIZE(range128), &f0); - VERIFY(i, ==, ARFCN_RANGE_128); - VERIFY(f0, ==, 1); - - i = range_enc_determine_range(range256, ARRAY_SIZE(range256), &f0); - VERIFY(i, ==, ARFCN_RANGE_256); - VERIFY(f0, ==, 1); - - i = range_enc_determine_range(range512, ARRAY_SIZE(range512), &f0); - VERIFY(i, ==, ARFCN_RANGE_512); - VERIFY(f0, ==, 1); -} - static void test_si_ba_ind(struct gsm_network *net) { struct gsm_bts *bts = bts_init(net); @@ -915,11 +582,6 @@ } bsc_gsmnet = net; - test_si_range_helpers(); - test_arfcn_filter(); - test_print_encoding(); - test_range_encoding(); - test_si2q_segfault(net); test_si2q_e(net); test_si2q_u(net); diff --git a/tests/gsm0408/gsm0408_test.ok b/tests/gsm0408/gsm0408_test.ok index f1aa463..b22d0c2 100644 --- a/tests/gsm0408/gsm0408_test.ok +++ b/tests/gsm0408/gsm0408_test.ok @@ -1,59 +1,3 @@ -Element is: 2 => freqs[i] = 121 -Element is: 2 => freqs[i] = 1 -Element is: 0 => freqs[i] = 68 -w[0]=122 -w[1]=2 -w[2]=69 -w[3]=204 -w[4]=75 -w[5]=66 -w[6]=60 -w[7]=70 -w[8]=83 -w[9]=3 -w[10]=24 -w[11]=67 -w[12]=54 -w[13]=64 -w[14]=70 -w[15]=9 -Range512: 89 4b 2a 95 65 95 55 2c a9 55 aa 55 6a 95 59 55 -Range test 0: range 511, num ARFCNs 12 -chan_list = 88 00 98 34 85 36 7c 50 22 dc 5e ec 00 00 00 00 -Decoded freqs 12 (expected 12) -Decoded: 1 12 31 51 57 91 97 98 113 117 120 125 -Range test 1: range 511, num ARFCNs 17 -chan_list = 88 00 82 7f 01 3f 7e 04 0b ff ff fc 10 41 07 e0 -Decoded freqs 17 (expected 17) -Decoded: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 -Range test 2: range 511, num ARFCNs 18 -chan_list = 88 00 82 7f 01 7f 7e 04 0b ff ff fc 10 41 07 ff -Decoded freqs 18 (expected 18) -Decoded: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 -Range test 3: range 511, num ARFCNs 18 -chan_list = 88 00 94 3a 44 32 d7 2a 43 2a 13 94 e5 38 39 f6 -Decoded freqs 18 (expected 18) -Decoded: 1 17 31 45 58 79 81 97 113 127 213 277 287 311 331 391 417 511 -Range test 4: range 511, num ARFCNs 6 -chan_list = 88 00 8b 3c 88 b9 6b 00 00 00 00 00 00 00 00 00 -Decoded freqs 6 (expected 6) -Decoded: 1 17 31 45 58 79 -Range test 5: range 511, num ARFCNs 6 -chan_list = 88 05 08 fc 88 b9 6b 00 00 00 00 00 00 00 00 00 -Decoded freqs 6 (expected 6) -Decoded: 10 17 31 45 58 79 -Range test 6: range 1023, num ARFCNs 17 -chan_list = 84 71 e4 ab b9 58 05 cb 39 17 fd b0 75 62 0f 2f -Decoded freqs 17 (expected 17) -Decoded: 0 17 31 45 58 79 81 97 113 127 213 277 287 311 331 391 1023 -Range test 7: range 1023, num ARFCNs 16 -chan_list = 80 71 e4 ab b9 58 05 cb 39 17 fd b0 75 62 0f 2f -Decoded freqs 16 (expected 16) -Decoded: 17 31 45 58 79 81 97 113 127 213 277 287 311 331 391 1023 -Random range test: range 127, max num ARFCNs 29 -Random range test: range 255, max num ARFCNs 22 -Random range test: range 511, max num ARFCNs 18 -Random range test: range 1023, max num ARFCNs 16 BTS allocation OK in test_si2q_segfault() Test SI2quater UARFCN (same scrambling code and diversity): generating SI2quater for 0 EARFCNs and 1 UARFCNs... diff --git a/tests/handover/Makefile.am b/tests/handover/Makefile.am index b3bc21f..f0b2e7a 100644 --- a/tests/handover/Makefile.am +++ b/tests/handover/Makefile.am @@ -47,7 +47,6 @@ $(top_builddir)/src/osmo-bsc/abis_om2000_vty.o \ $(top_builddir)/src/osmo-bsc/abis_rsl.o \ $(top_builddir)/src/osmo-bsc/acc.o \ - $(top_builddir)/src/osmo-bsc/arfcn_range_encode.o \ $(top_builddir)/src/osmo-bsc/assignment_fsm.o \ $(top_builddir)/src/osmo-bsc/bsc_ctrl_commands.o \ $(top_builddir)/src/osmo-bsc/bsc_init.o \ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I53ad3067623077b6a8737c2a0aecc8b46bf71a15 Gerrit-Change-Number: 24503 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 15:05:19 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 2 Jun 2021 15:05:19 +0000 Subject: Change in libosmo-abis[master]: ipa: do not open socket in nonblocking mode In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24332 ) Change subject: ipa: do not open socket in nonblocking mode ...................................................................... Abandoned This indeed not the best solution. Will submit something different in another patch. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I926a75920f7a15c670f7445f2e74e876c5fad7be Gerrit-Change-Number: 24332 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Wed Jun 2 08:37:50 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 02 Jun 2021 08:37:50 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in Debian_9.0/i586 In-Reply-To: References: Message-ID: <60b7437c7fc63_55042b087e8705f814413bf@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/Debian_9.0/i586 Package network:osmocom:nightly/libosmo-sccp failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 59s] Processing triggers for libc-bin (2.24-11+deb9u4) ... [ 59s] [251/428] installing libxcursor1-1:1.1.14-1+deb9u2 [ 59s] Processing triggers for libc-bin (2.24-11+deb9u4) ... [ 59s] [252/428] installing libxrandr2-2:1.5.1-1 [ 59s] Processing triggers for libc-bin (2.24-11+deb9u4) ... [ 59s] [253/428] installing libosmousb0-1.5.1.128.5fe3de.202106020026 [ 59s] Processing triggers for libc-bin (2.24-11+deb9u4) ... [ 59s] [254/428] installing bsdmainutils-9.0.12+nmu1 [ 59s] update-alternatives: using /usr/bin/bsd-write to provide /usr/bin/write (write) in auto mode [ 59s] update-alternatives: using /usr/bin/bsd-from to provide /usr/bin/from (from) in auto mode [ 59s] [255/428] installing libosmogsm16-1.5.1.128.5fe3de.202106020026 [ 59s] Processing triggers for libc-bin (2.24-11+deb9u4) ... [ 59s] [256/428] installing g++-6-6.3.0-18+deb9u1 [ 60s] [257/428] installing libcurl3-gnutls-7.52.1-5+deb9u10 [ 60s] Processing triggers for libc-bin (2.24-11+deb9u4) ... [ 60s] [258/428] installing debconf-1.5.61 [ 61s] [259/428] installing init-system-helpers-1.48 [ 61s] [260/428] installing libtext-iconv-perl-1.7-5+b4 [ 61s] [261/428] installing perl-modules-5.24-5.24.1-3+deb9u7 [ 62s] [262/428] installing xml-core-0.17 [ 62s] Processing triggers for sgml-base (1.29) ... [ 62s] [263/428] installing libreadline7-7.0-3 [28870s] qemu-kvm: terminating on signal 15 from pid 4896 () Job seems to be stuck here, killed. (after 28800 seconds of inactivity) [28870s] ### VM INTERACTION END ### [28870s] No buildstatus set, either the base system is broken (kernel/initrd/udev/glibc/bash/perl) [28870s] 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 Jun 2 15:26:07 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 2 Jun 2021 15:26:07 +0000 Subject: Change in libosmocore[master]: ns2: Use NSVC bufid in stats report In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24468 ) Change subject: ns2: Use NSVC bufid in stats report ...................................................................... Patch Set 3: Code-Review-1 We should improve the ids for UDP before merging this. At least UDP id are not unique as we can have a single NSE with 2x NSVCs. Both NSVCs have the same remote endpoints, but a different local bind. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4c696c615ba3416f8524d0797ce06c0ecd3a18f2 Gerrit-Change-Number: 24468 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 02 Jun 2021 15:26:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 15:53:29 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 2 Jun 2021 15:53:29 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses References: Message-ID: dexter has uploaded this change for review. ( 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/bts.h M src/common/abis.c M src/common/bts.c M src/common/main.c M src/common/vty.c 5 files changed, 62 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/13/24513/1 diff --git a/include/osmo-bts/bts.h b/include/osmo-bts/bts.h index 978a548..70683ca 100644 --- a/include/osmo-bts/bts.h +++ b/include/osmo-bts/bts.h @@ -131,6 +131,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 */ @@ -291,7 +297,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; diff --git a/src/common/abis.c b/src/common/abis.c index 17a244c..e6a6f61 100644 --- a/src/common/abis.c +++ b/src/common/abis.c @@ -249,6 +249,7 @@ .ipa = { .role = E1INP_LINE_R_BTS, .dev = &bts_dev_info, + .timeout_msec = -1, /* infinite (until OS detects error) */ }, }, .sign_link_up = sign_link_up, diff --git a/src/common/bts.c b/src/common/bts.c index bf29113..640c0cc 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -398,6 +398,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..bfa7874 100644 --- a/src/common/main.c +++ b/src/common/main.c @@ -271,6 +271,7 @@ int bts_main(int argc, char **argv) { + struct bsc_oml_host *bsc_oml_host; struct gsm_bts_trx *trx; struct e1inp_line *line; int rc; @@ -397,14 +398,25 @@ 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 (llist_count(&g_bts->bsc_oml_hosts) == 0) { + LOGP(DABIS, LOGL_FATAL, "Cannot start BTS without knowing BSC OML IP\n"); exit(1); } - line = abis_open(g_bts, g_bts->bsc_oml_host, "osmo-bts"); + llist_for_each_entry(bsc_oml_host, &g_bts->bsc_oml_hosts, list) { + line = abis_open(g_bts, bsc_oml_host->addr, "osmo-bts"); + if (!line) { + LOGP(DABIS, LOGL_NOTICE, "unable to connect to BSC (%s)\n", + bsc_oml_host->addr); + } else { + LOGP(DABIS, LOGL_NOTICE, "connection to BSC (%s) successful\n", + bsc_oml_host->addr); + break; + } + } + if (!line) { - fprintf(stderr, "unable to connect to BSC\n"); + LOGP(DABIS, LOGL_FATAL, "BSC connection failed!\n"); exit(2); } diff --git a/src/common/vty.c b/src/common/vty.c index d4e2902..961252b 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -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,41 @@ "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); + /* Silently 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) + return CMD_SUCCESS; + } - 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) { + llist_del(&bsc_oml_host_del->list); + talloc_free(bsc_oml_host_del); + } return CMD_SUCCESS; } @@ -2325,6 +2357,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); -- 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: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 15:57:45 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 2 Jun 2021 15:57:45 +0000 Subject: Change in libosmo-abis[master]: ipa: add optional connect timeout to ipa_client_conn_open References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24514 ) Change subject: ipa: add optional connect timeout to ipa_client_conn_open ...................................................................... ipa: add optional connect timeout to ipa_client_conn_open The function ipa_client_conn_open opens an osmo-socket using osmo_sock_init2 and sets the OSMO_SOCK_F_NONBLOCK. This means that it returns while the TCP connection is still in progress and it is not clear yet if the connection will succeed or not. In cases where an established connection is critical the API user may specify a timeout in the IPA line options. ipa_client_conn_open() will then wait until the the connection is established (or failed). Change-Id: I7bc4345876e3c20266985270d0ddfa770437a053 Related: SYS#4971 --- M TODO-RELEASE M include/osmocom/abis/e1_input.h M src/input/ipa.c 3 files changed, 15 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/14/24514/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index 8c417cd..e7a2891 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -10,3 +10,4 @@ update libosmocore dependency to > 1.5.1 for OSMO_SOCK_F_{DSCP,PRIO}() libosmo-abis new member ipa_client_conn new struct members dscp, priority libosmo-abis new member ipa_server_link new struct members dscp, priority +libosmo-abis new member e1inp_line_ops new struct member cfg.ipa.timeout_msec diff --git a/include/osmocom/abis/e1_input.h b/include/osmocom/abis/e1_input.h index 9c3fe56..ba5033f 100644 --- a/include/osmocom/abis/e1_input.h +++ b/include/osmocom/abis/e1_input.h @@ -181,6 +181,7 @@ struct { enum e1inp_line_role role; /* BSC or BTS mode. */ const char *addr; /* IP address .*/ + int timeout_msec; /* connect timeout (optional, only valid in BTS mode) */ void *dev; /* device parameters. */ } ipa; struct { diff --git a/src/input/ipa.c b/src/input/ipa.c index c121987..298369a 100644 --- a/src/input/ipa.c +++ b/src/input/ipa.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -219,6 +220,7 @@ int ipa_client_conn_open(struct ipa_client_conn *link) { int ret; + int timeout_msec; link->state = IPA_CLIENT_LINK_STATE_CONNECTING; ret = osmo_sock_init2(AF_INET, SOCK_STREAM, IPPROTO_TCP, @@ -228,6 +230,7 @@ OSMO_SOCK_F_DSCP(link->dscp) | OSMO_SOCK_F_PRIO(link->priority)); if (ret < 0) return ret; + link->ofd->fd = ret; osmo_fd_write_enable(link->ofd); if (osmo_fd_register(link->ofd) < 0) { @@ -236,6 +239,16 @@ return -EIO; } + /* If a connect timeout is specified we will wait until the file + * descriptor becomes writeable (connection successful) or enters + * an errornous state. */ + timeout_msec = link->line->ops->cfg.ipa.timeout_msec; + if (timeout_msec) { + ret = osmo_sock_wait(link->ofd->fd, timeout_msec); + if (ret < 0) + return -EIO; + } + return 0; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I7bc4345876e3c20266985270d0ddfa770437a053 Gerrit-Change-Number: 24514 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 Jun 2 16:04:22 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 2 Jun 2021 16:04:22 +0000 Subject: Change in osmo-bts[master]: main, abis: change model name from sysmoBTS to osmo-bts In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24264 ) Change subject: main,abis: change model name from sysmoBTS to osmo-bts ...................................................................... main,abis: change model name from sysmoBTS to osmo-bts The model name when used when abis_open() is called is sysmoBTS, since we recently decided to deprecate the type name "sysmobts" in osmo-bsc we might consider the same thing here. Change-Id: I3c61d92f5527ae0145316b5ff92660f8b467a8dc --- M src/common/abis.c M src/common/main.c 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/common/abis.c b/src/common/abis.c index ba3169a..17a244c 100644 --- a/src/common/abis.c +++ b/src/common/abis.c @@ -236,7 +236,7 @@ static struct ipaccess_unit bts_dev_info = { - .unit_name = "sysmoBTS", + .unit_name = "osmo-bts", .equipvers = "", /* FIXME: read this from hw */ .swversion = PACKAGE_VERSION, .location1 = "", diff --git a/src/common/main.c b/src/common/main.c index 73efc25..0b7d3fb 100644 --- a/src/common/main.c +++ b/src/common/main.c @@ -402,7 +402,7 @@ exit(1); } - line = abis_open(g_bts, g_bts->bsc_oml_host, "sysmoBTS"); + line = abis_open(g_bts, g_bts->bsc_oml_host, "osmo-bts"); if (!line) { fprintf(stderr, "unable to connect to BSC\n"); exit(2); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24264 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3c61d92f5527ae0145316b5ff92660f8b467a8dc Gerrit-Change-Number: 24264 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 16:07:20 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 2 Jun 2021 16:07:20 +0000 Subject: Change in libosmocore[master]: socket: add function to wait until a socket becomes writeable In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24435 ) Change subject: socket: add function to wait until a socket becomes writeable ...................................................................... Patch Set 3: > Patch Set 2: > > > The intended use of the function is not from inside the mainloop. I have added a note in the API documentation to make users aware of the blocking. > > Can you then please explain how and where do you plan to use this API? I fail to see any place in osmocom code where we don't care about blocking the entire process. It may be needed in all places where we are not yet in the select loop. I need it for #24435 and for #24513 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1c68185120fa2a6c9b6cb8aa2a25232a44ff5508 Gerrit-Change-Number: 24435 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Jun 2021 16:07: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 Jun 2 16:19:06 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 2 Jun 2021 16:19:06 +0000 Subject: Change in osmo-pcu[master]: bts: Fix typo in field name In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24498 ) Change subject: bts: Fix typo in field name ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5426ff4ccbc45464888e2246cceb8e861d1e477e Gerrit-Change-Number: 24498 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 02 Jun 2021 16:19:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 16:20:42 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 2 Jun 2021 16:20:42 +0000 Subject: Change in simtrace2[master]: don't printf() directly from library code, go via libosmocore logging In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24512 ) Change subject: don't printf() directly from library code, go via libosmocore logging ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24512 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I08ef7cfa5d8734882746a11ccd5f059d757401ae Gerrit-Change-Number: 24512 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Wed, 02 Jun 2021 16: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 Wed Jun 2 16:24:58 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 2 Jun 2021 16:24:58 +0000 Subject: Change in osmo-bts[master]: manuals/abis/rsl.adoc: s/TS 08.58/TS 48.058/ In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24489 ) Change subject: manuals/abis/rsl.adoc: s/TS 08.58/TS 48.058/ ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iae8e184f98f089c95dce4c51f512971521c4b059 Gerrit-Change-Number: 24489 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Jun 2021 16:24:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 16:26:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Jun 2021 16:26:24 +0000 Subject: Change in osmo-pcu[master]: bts: Fix typo in field name In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24498 ) Change subject: bts: Fix typo in field name ...................................................................... bts: Fix typo in field name Change-Id: I5426ff4ccbc45464888e2246cceb8e861d1e477e --- M src/bts.cpp M src/bts.h M src/pcu_l1_if.cpp 3 files changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified osmith: 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 dc550ef..95dde04 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -1332,7 +1332,7 @@ if (bts->pcu->vty.force_alpha != (uint8_t)-1) return bts->pcu->vty.force_alpha; if (bts->si13_is_set) - return bts->si31_ro_decoded.pwr_ctrl_pars.alpha; + return bts->si13_ro_decoded.pwr_ctrl_pars.alpha; /* default if no SI13 is received yet: closed loop control, TS 44.060 * B.2 Closed loop control */ return 0; diff --git a/src/bts.h b/src/bts.h index 52c89b9..bb91df3 100644 --- a/src/bts.h +++ b/src/bts.h @@ -234,7 +234,7 @@ uint8_t si3[GSM_MACBLOCK_LEN]; bool si3_is_set; uint8_t si13[GSM_MACBLOCK_LEN]; - struct osmo_gsm48_si13_info si31_ro_decoded; + struct osmo_gsm48_si13_info si13_ro_decoded; bool si13_is_set; /* State for dynamic algorithm selection */ diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index cfd36d7..0453b92 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -336,7 +336,7 @@ memcpy(bts->si13, data, GSM_MACBLOCK_LEN); bts->si13_is_set = true; si_ro = ((struct gsm48_system_information_type_13*)data)->rest_octets; - if (osmo_gsm48_rest_octets_si13_decode(&bts->si31_ro_decoded, si_ro) < 0) + if (osmo_gsm48_rest_octets_si13_decode(&bts->si13_ro_decoded, si_ro) < 0) LOGP(DPCU, LOGL_ERROR, "Error decoding SI13\n"); break; default: -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5426ff4ccbc45464888e2246cceb8e861d1e477e Gerrit-Change-Number: 24498 Gerrit-PatchSet: 1 Gerrit-Owner: pespin 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 Wed Jun 2 16:31:03 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 2 Jun 2021 16:31:03 +0000 Subject: Change in simtrace2[master]: assert: Use printf_sync() to ensure printing of assert / panic In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24510 ) Change subject: assert: Use printf_sync() to ensure printing of assert / panic ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24510 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Icc202e60445d9be1cdcd61176db5ed1704d583e7 Gerrit-Change-Number: 24510 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Wed, 02 Jun 2021 16:31:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 16:33:21 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 2 Jun 2021 16:33:21 +0000 Subject: Change in osmo-gsm-tester[master]: iperfserver: adds an offset to the default port. In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24271 ) Change subject: iperfserver: adds an offset to the default port. ...................................................................... Patch Set 1: > Patch Set 1: > > > Patch Set 1: Code-Review-1 > > > > I don't really see the point of adding this parameter, it's not really needed, since you can already set the port directly. If you want to count from the default port, then you can easily do something like this: > > srv = IPerf3Server(...) > > srv.set_port(srv.DEFAULT_SRV_PORT + offset) > > Cool I will do as you suggest. I modified the constructor because I'm used to define those values in the constructor instead of a setter function. thanks. If you do not need this patch anymore its best to remove it from the review process by abandon it (menu on the right upper corner). -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I23f0e5ae599825627a23333a0255577bbc013a3c Gerrit-Change-Number: 24271 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Jun 2021 16:33: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 Wed Jun 2 16:41:05 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 2 Jun 2021 16:41:05 +0000 Subject: Change in osmo-bts[master]: [VAMOS] conf_lchans_as_pchan(): improve readability In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24485 ) Change subject: [VAMOS] conf_lchans_as_pchan(): improve readability ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24485/1/src/common/oml.c File src/common/oml.c: https://gerrit.osmocom.org/c/osmo-bts/+/24485/1/src/common/oml.c at 824 PS1, Line 824: } while(0) I find this macro a bit confusing. I don't think that this part is performance critical or anything. I would use a function. Otherwise its indeed better to read. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1c5a033e89d9ca5fb01ebe9ffb521fd67d159bee Gerrit-Change-Number: 24485 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-Comment-Date: Wed, 02 Jun 2021 16:41: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 Jun 2 16:43:09 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 2 Jun 2021 16:43:09 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: lchan_fail() strings should not have a terminating newline In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24460 ) Change subject: lchan_fsm: lchan_fail() strings should not have a terminating newline ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I063fd5598add75c39338d90798189c10a0714094 Gerrit-Change-Number: 24460 Gerrit-PatchSet: 8 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Jun 2021 16:43:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 16:47:10 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 2 Jun 2021 16:47:10 +0000 Subject: Change in simtrace2[master]: Add usb product ID of sysmoOCTSIMTEST In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24511 ) Change subject: Add usb product ID of sysmoOCTSIMTEST ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I65839be50ac896c76f34755fb2800f836f6cdae4 Gerrit-Change-Number: 24511 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Wed, 02 Jun 2021 16:47: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 Jun 2 18:17:29 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 2 Jun 2021 18:17:29 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix NULL pointer dereference in trx_if_send_burst() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24515 ) Change subject: osmo-bts-trx: fix NULL pointer dereference in trx_if_send_burst() ...................................................................... osmo-bts-trx: fix NULL pointer dereference in trx_if_send_burst() Starting from TRXDv2 [1], trx_if_send_burst() would keep batching PDUs to the static buffer, unless it's called with br = NULL, so we cannot dereference br in the logging statement. Of course, we could also store TDMA frame number in a static variable, but I don't think it's worth it just for logging. Change-Id: I4a361777fc40bdedcebbe54df6274bc5573f77a8 Fixes: [1] I9b4cc8e10cd683b28d22e32890569484cd20372d Fixes: CID#236232 --- M src/osmo-bts-trx/trx_if.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/15/24515/1 diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index af1deef..591db72 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -1142,8 +1142,8 @@ sendall: LOGPPHI(l1h->phy_inst, DTRX, LOGL_DEBUG, - "Tx TRXDv%u datagram with %u PDU(s): fn=%u\n", - pdu_ver, pdu_num, br->fn); + "Tx TRXDv%u datagram with %u PDU(s)\n", + pdu_ver, pdu_num); /* TRXDv2: unset BATCH.ind in the last PDU */ if (pdu_ver >= 2) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24515 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4a361777fc40bdedcebbe54df6274bc5573f77a8 Gerrit-Change-Number: 24515 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 18:30:29 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 2 Jun 2021 18:30:29 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: lchan_fail() strings should not have a terminating newline In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24460 ) Change subject: lchan_fsm: lchan_fail() strings should not have a terminating newline ...................................................................... Patch Set 8: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I063fd5598add75c39338d90798189c10a0714094 Gerrit-Change-Number: 24460 Gerrit-PatchSet: 8 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Jun 2021 18:30:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 18:31:05 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 2 Jun 2021 18:31:05 +0000 Subject: Change in osmo-bsc[master]: fixup for Mode Modify TSC References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24516 ) Change subject: fixup for Mode Modify TSC ...................................................................... fixup for Mode Modify TSC Use lchan->modify.tsc in gsm48_lchan_modify(). The TSC is chosen exactly once upon LCHAN_EV_REQUEST_MODE_MODIFY (lchan_fsm.c), and that should be the only place calling gsm_ts_tsc(). All other mode modify code should just use the final lchan->modify.tsc. This fixes an error in patch: Ic665125255d7354f5499d10dda1dd866ab243d24 "allow explixit TSC Set and TSC on chan activ / modif / assignment" Thanks to coverity for actually detecting this mistake. Related: SYS#5315 OS#4940 CID#236233 Change-Id: I87ecf7d9266f37f4c775d029e277b614671a9401 --- M src/osmo-bsc/gsm_04_08_rr.c 1 file changed, 1 insertion(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/16/24516/1 diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 058a107..5948e94 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -681,7 +681,6 @@ struct gsm48_chan_mode_modify *cmm = (struct gsm48_chan_mode_modify *) msgb_put(msg, sizeof(*cmm)); struct gsm_bts *bts = lchan->ts->trx->bts; - uint8_t tsc; DEBUGP(DRR, "-> CHANNEL MODE MODIFY mode=0x%02x\n", mode); @@ -689,10 +688,7 @@ gh->proto_discr = GSM48_PDISC_RR; gh->msg_type = GSM48_MT_RR_CHAN_MODE_MODIF; - /* fill the channel information element, this code - * should probably be shared with rsl_rx_chan_rqd() */ - tsc = (lchan->modify.tsc >= 0) ? lchan->modify.tsc : gsm_ts_tsc(lchan->ts); - gsm48_lchan2chan_desc(&cmm->chan_desc, lchan, tsc); + gsm48_lchan2chan_desc(&cmm->chan_desc, lchan, lchan->modify.tsc); cmm->mode = mode; /* in case of multi rate we need to attach a config */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24516 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I87ecf7d9266f37f4c775d029e277b614671a9401 Gerrit-Change-Number: 24516 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 Jun 2 18:31:05 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 2 Jun 2021 18:31:05 +0000 Subject: Change in osmo-bsc[master]: fix rc handling in channel_mode_from_lchan() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24517 ) Change subject: fix rc handling in channel_mode_from_lchan() ...................................................................... fix rc handling in channel_mode_from_lchan() chan_mode_to_rsl_cmod_spd may actually return negative on error. To be able to check for that, handle the returned value as a signed rc before assigning to the unsigned spd_ind. Related: SYS#5315 OS#4940 CID#236231 Change-Id: I52e13b24ce67e288ff32dbdaa1c1759089926f5c --- M src/osmo-bsc/abis_rsl.c 1 file changed, 5 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/17/24517/1 diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 9378ecb..1fb4c04 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -354,6 +354,7 @@ struct gsm_lchan *lchan, const struct channel_mode_and_rate *ch_mode_rate) { + int rc; memset(cm, 0, sizeof(*cm)); /* FIXME: what to do with data calls ? */ @@ -364,11 +365,12 @@ cm->dtx_dtu |= RSL_CMOD_DTXd; /* set TCH Speech/Data */ - cm->spd_ind = chan_mode_to_rsl_cmod_spd(ch_mode_rate->chan_mode); - if (cm->spd_ind < 0) { + rc = chan_mode_to_rsl_cmod_spd(ch_mode_rate->chan_mode); + if (rc < 0) { LOGP(DRSL, LOGL_ERROR, "unsupported: chan_mode = 0x%02x\n", ch_mode_rate->chan_mode); - return cm->spd_ind; + return rc; } + cm->spd_ind = rc; switch (lchan->type) { case GSM_LCHAN_SDCCH: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24517 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I52e13b24ce67e288ff32dbdaa1c1759089926f5c Gerrit-Change-Number: 24517 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 Jun 2 18:33:36 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 2 Jun 2021 18:33:36 +0000 Subject: Change in osmo-dev[master]: ttcn3: prepare_local_bin: update respawn.sh path In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/24495 ) Change subject: ttcn3: prepare_local_bin: update respawn.sh path ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I497b9e8909a419f5b5286fcccce9d8a1ba9d515c Gerrit-Change-Number: 24495 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Jun 2021 18:33:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 18:34:05 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 2 Jun 2021 18:34:05 +0000 Subject: Change in osmo-dev[master]: ttcn3: add missing ttcn3-docker-run.sh In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/24497 ) Change subject: ttcn3: add missing ttcn3-docker-run.sh ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I23467136af6deaca69e0b43697a06385cb65444d Gerrit-Change-Number: 24497 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 02 Jun 2021 18:34:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 18:34:18 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 2 Jun 2021 18:34:18 +0000 Subject: Change in osmo-bts[master]: manuals/abis/rsl.adoc: add VAMOS specific Channel Number values In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24492 ) Change subject: manuals/abis/rsl.adoc: add VAMOS specific Channel Number values ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24492/1/doc/manuals/abis/rsl.adoc File doc/manuals/abis/rsl.adoc: https://gerrit.osmocom.org/c/osmo-bts/+/24492/1/doc/manuals/abis/rsl.adoc at 877 PS1, Line 877: channels on the shadow timeslots in VAMOS mode, iff the BTS is VAMOS-capable. "iff the BTS is an OsmoBTS and VAMOS capable" we don't know how non-osmo BTS handle VAMOS... -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib3ad7652dfcbd104d25b031ac89f5491da2673a6 Gerrit-Change-Number: 24492 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Jun 2021 18:34: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 Jun 2 18:34:39 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 2 Jun 2021 18:34:39 +0000 Subject: Change in osmo-dev[master]: ttcn3: prepare_local_bin: update respawn.sh path In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/24495 ) Change subject: ttcn3: prepare_local_bin: update respawn.sh path ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I497b9e8909a419f5b5286fcccce9d8a1ba9d515c Gerrit-Change-Number: 24495 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Jun 2021 18:34:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 18:34:45 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 2 Jun 2021 18:34:45 +0000 Subject: Change in osmo-dev[master]: ttcn3: prepare_local_bin: update respawn.sh path In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/24495 ) Change subject: ttcn3: prepare_local_bin: update respawn.sh path ...................................................................... ttcn3: prepare_local_bin: update respawn.sh path Make logic to install the file simpler while at it, and allow it to create /usr/local/bin if it doesn't exist (I just had that). Change-Id: I497b9e8909a419f5b5286fcccce9d8a1ba9d515c --- M ttcn3/ttcn3.sh 1 file changed, 2 insertions(+), 5 deletions(-) Approvals: osmith: Looks good to me, approved; Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve diff --git a/ttcn3/ttcn3.sh b/ttcn3/ttcn3.sh index d76fb9c..f4888d3 100755 --- a/ttcn3/ttcn3.sh +++ b/ttcn3/ttcn3.sh @@ -144,7 +144,7 @@ # inside the docker container prepare_local_bin() { local scripts=" - ${DIR_OSMODEV}/src/docker-playground/osmo-bts-master/respawn.sh + ${DIR_OSMODEV}/src/docker-playground/common/respawn.sh " for script in $scripts; do @@ -153,10 +153,7 @@ continue fi - set -x - sudo cp "$script" "$script_path_localbin" - sudo chmod +x /usr/local/bin/respawn.sh - set +x + install -v -Dm755 "$script" "$script_path_localbin" done } -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I497b9e8909a419f5b5286fcccce9d8a1ba9d515c Gerrit-Change-Number: 24495 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 18:37:18 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 2 Jun 2021 18:37:18 +0000 Subject: Change in osmo-bsc[master]: fix rc handling in channel_mode_from_lchan() In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bsc/+/24517 ) Change subject: fix rc handling in channel_mode_from_lchan() ...................................................................... fix rc handling in channel_mode_from_lchan() chan_mode_to_rsl_cmod_spd() may actually return negative on error. To be able to check for that, handle the returned value as a signed rc before assigning to the unsigned spd_ind. Related: SYS#5315 OS#4940 CID#236231 Change-Id: I52e13b24ce67e288ff32dbdaa1c1759089926f5c --- M src/osmo-bsc/abis_rsl.c 1 file changed, 5 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/17/24517/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24517 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I52e13b24ce67e288ff32dbdaa1c1759089926f5c Gerrit-Change-Number: 24517 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 Wed Jun 2 18:45:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 2 Jun 2021 18:45:24 +0000 Subject: Change in osmo-bts[master]: manuals/abis/rsl.adoc: add VAMOS specific Channel Number values 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-bts/+/24492 to look at the new patch set (#2). Change subject: manuals/abis/rsl.adoc: add VAMOS specific Channel Number values ...................................................................... manuals/abis/rsl.adoc: add VAMOS specific Channel Number values Change-Id: Ib3ad7652dfcbd104d25b031ac89f5491da2673a6 Related: SYS#4895, OS#4941 --- M doc/manuals/abis/rsl.adoc 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/92/24492/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib3ad7652dfcbd104d25b031ac89f5491da2673a6 Gerrit-Change-Number: 24492 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 Wed Jun 2 18:54:02 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 2 Jun 2021 18:54:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: avoid crash in latest (TC_one_crcx_loopback_rtp_implicit) In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24392 ) Change subject: MGCP_Test: avoid crash in latest (TC_one_crcx_loopback_rtp_implicit) ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I25abf30f8c49e580c46e7a61e887bd0add9a4cd4 Gerrit-Change-Number: 24392 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Jun 2021 18:54: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 Jun 2 18:54:26 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 2 Jun 2021 18:54:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: avoid crash in latest (TC_one_crcx_loopback_rtp_implicit) In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24392 ) Change subject: MGCP_Test: avoid crash in latest (TC_one_crcx_loopback_rtp_implicit) ...................................................................... MGCP_Test: avoid crash in latest (TC_one_crcx_loopback_rtp_implicit) The testcase TC_one_crcx_loopback_rtp_implicit triggers a bug in older osmo-mgw version that eventually leads into a crash of osmo-mgw. This also means that all tests after TC_one_crcx_loopback_rtp_implicit will also fail. Lets move TC_one_crcx_loopback_rtp_implicit to the end of the control section to postpone the crash to the very end of the testrun. Change-Id: I25abf30f8c49e580c46e7a61e887bd0add9a4cd4 Related: OS#5123 --- M mgw/MGCP_Test.ttcn 1 file changed, 6 insertions(+), 1 deletion(-) Approvals: dexter: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index c1e263a..307f0a8 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -2445,7 +2445,6 @@ execute(TC_one_crcx_receive_only_rtp()); execute(TC_one_crcx_loopback_rtp()); execute(TC_one_crcx_loopback_rtp_ipv6()); - execute(TC_one_crcx_loopback_rtp_implicit()); execute(TC_two_crcx_and_rtp()); execute(TC_two_crcx_and_rtp_bidir()); execute(TC_two_crcx_diff_pt_and_rtp()); @@ -2474,5 +2473,11 @@ execute(TC_two_crcx_mdcx_and_rtp_osmux_ipv6()); execute(TC_two_crcx_mdcx_and_rtp_osmux_ipv4_ipv6()); execute(TC_two_crcx_mdcx_and_rtp_osmux_ipv6_ipv4()); + + /* Note: This testcase will trigger an OSMO_ASSERT() bug in + * older versions of osmo-mgw. This eventually leads into + * a failure of all subsequent testcases, so it is important + * not to add new testcaes after this one. */ + execute(TC_one_crcx_loopback_rtp_implicit()); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I25abf30f8c49e580c46e7a61e887bd0add9a4cd4 Gerrit-Change-Number: 24392 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 19:09:14 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Wed, 2 Jun 2021 19:09:14 +0000 Subject: Change in osmo-gsm-tester[master]: iperfserver: adds an offset to the default port. In-Reply-To: References: Message-ID: alealcon has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24271 ) Change subject: iperfserver: adds an offset to the default port. ...................................................................... Abandoned Do not need it anymore -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I23f0e5ae599825627a23333a0255577bbc013a3c Gerrit-Change-Number: 24271 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 19:10:24 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 2 Jun 2021 19:10:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: gitignore References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24518 ) Change subject: gitignore ...................................................................... gitignore Change-Id: Iedd6aeb17b1c774a5d96b28e69827796ff769bc1 --- M .gitignore 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/18/24518/1 diff --git a/.gitignore b/.gitignore index 5c8caa5..b247c04 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ .*.sw? *.netcat.stderr *.d +*.merged -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24518 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iedd6aeb17b1c774a5d96b28e69827796ff769bc1 Gerrit-Change-Number: 24518 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 Jun 2 19:12:26 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 2 Jun 2021 19:12:26 +0000 Subject: Change in osmo-bsc[master]: add VAMOS secondary lchans to timeslot struct In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24377 ) Change subject: add VAMOS secondary lchans to timeslot struct ...................................................................... Patch Set 14: Code-Review+2 combine votes -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I928af99498bba488d317693f3144d4fccbbe9af3 Gerrit-Change-Number: 24377 Gerrit-PatchSet: 14 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Jun 2021 19:12:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 19:12:39 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 2 Jun 2021 19:12:39 +0000 Subject: Change in osmo-bsc[master]: update the lchan name to always reflect VAMOS shadowness In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24461 ) Change subject: update the lchan name to always reflect VAMOS shadowness ...................................................................... Patch Set 5: Code-Review+2 combine votes -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7c2bae3b895a91f1b99b4147ecc0e3009cb7439a Gerrit-Change-Number: 24461 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Jun 2021 19:12: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 Jun 2 19:13:55 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 2 Jun 2021 19:13:55 +0000 Subject: Change in osmo-bsc[master]: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24430 ) Change subject: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans ...................................................................... Patch Set 9: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24430/9/src/osmo-bsc/bts_trx.c File src/osmo-bsc/bts_trx.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24430/9/src/osmo-bsc/bts_trx.c at 165 PS9, Line 165: case ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Bm_ACCHs: > I don't see anything that ensures those new osmocom-specific cbits are only used if the bts model is [?] indeed, thx -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 Gerrit-Change-Number: 24430 Gerrit-PatchSet: 9 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 02 Jun 2021 19:13:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 19:24:50 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Wed, 2 Jun 2021 19:24:50 +0000 Subject: Change in osmo-gsm-tester[master]: util: adds the feature to force the rpath when patching files. In-Reply-To: References: Message-ID: alealcon has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 ) Change subject: util: adds the feature to force the rpath when patching files. ...................................................................... Patch Set 1: Quick update. I've tried the possibility number 2. I appended to the LD_LIBRARY_PATH the path to the toolchain libs (/mnt/nfs/bdlibs) and it did not work. I did not place the libraries under "osmo-xxx/srslte/lib" because it was a fast test and I didn't want add the step to scp the libraries to that folder, so I could test it faster. Here is the call to the srsenb by OGT in the test run: 15:43:11.532120 run srsenb: DBG: ['ssh', '-t', '-t', 'root at 10.12.1.221', " LD_LIBRARY_PATH='/mnt/nfs/osmo-gsm-tester-srsenb/srslte/lib:/mnt/nfs/bdlibs' /mnt/nfs/osmo-gsm-tester-srsenb/srsenb_srsenb-ssn_10.12.1.221/ssh_sigkiller.sh /mnt/nfs/osmo-gsm-tester-srsenb/srslte/bin/srsenb /mnt/nfs/osmo-gsm-tester-srsenb/srsenb_srsenb-ssn_10.12.1.221/srsenb.conf"] Gonna test the possibility 1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2d4a105d4843c0d31d6b5d8f8d4195247b290aec Gerrit-Change-Number: 24272 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 02 Jun 2021 19:24:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 19:27:17 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 2 Jun 2021 19:27:17 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: refactor MGCP_DUMMY_LOAD 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-mgw/+/24315 to look at the new patch set (#3). Change subject: mgcp_network: refactor MGCP_DUMMY_LOAD ...................................................................... mgcp_network: refactor MGCP_DUMMY_LOAD The constant MGCP_DUMMY_LOAD is used ambigously. Sometimes it is used as initalizer for an array, sometimes it is used as a single byte. Also the name is not very expressive. Lets refactor this. Change-Id: I21d96cefeeb647958bfa1e22a0ea030884746fad Related: OS#4005 --- M include/osmocom/mgcp/mgcp_network.h M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_osmux.c M tests/mgcp/mgcp_test.c 4 files changed, 59 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/15/24315/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I21d96cefeeb647958bfa1e22a0ea030884746fad Gerrit-Change-Number: 24315 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 19:34:14 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 2 Jun 2021 19:34:14 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: refactor MGCP_DUMMY_LOAD In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24315 ) Change subject: mgcp_network: refactor MGCP_DUMMY_LOAD ...................................................................... Patch Set 3: Code-Review+2 Not gonna block any further, let's get this patch merged. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I21d96cefeeb647958bfa1e22a0ea030884746fad Gerrit-Change-Number: 24315 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Wed, 02 Jun 2021 19:34: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 Jun 2 19:36:52 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Wed, 2 Jun 2021 19:36:52 +0000 Subject: Change in osmo-gsm-tester[master]: util: adds the feature to force the rpath when patching files. In-Reply-To: References: Message-ID: alealcon has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 ) Change subject: util: adds the feature to force the rpath when patching files. ...................................................................... Patch Set 1: Quick question Pau. I was looking at the function parameters of the "change_elf_rapth". What do you think of modifying the arguments to accept a bool that adds the "--force-rpath" option instead of writing a new function? It would look like something like this: def change_elf_rpath(binary, paths, run_dir, force_rpath=false): ''' Change RPATH field in ELF executable binary. This feature can be used to tell the loaded to load the trial libraries, as LD_LIBRARY_PATH is disabled for paths with modified capabilities. ''' from .process import Process args = '--force-rpath --set-rpath' if force_rpath else '--set-rpath' proc = Process('patchelf', run_dir, ['patchelf', args, paths, binary]) proc.launch_sync() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2d4a105d4843c0d31d6b5d8f8d4195247b290aec Gerrit-Change-Number: 24272 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 02 Jun 2021 19:36:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 19:42:05 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Wed, 2 Jun 2021 19:42:05 +0000 Subject: Change in osmo-gsm-tester[master]: 4g-iperf-*: registers one UE in the iperf parameterized tests in the ... In-Reply-To: References: Message-ID: alealcon has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24280 ) Change subject: 4g-iperf-*: registers one UE in the iperf parameterized tests in the 4g test suite. ...................................................................... Abandoned I will include those changes when modifying the iperf3-ul, iperf3-dl and iperf3-bidir commits using the review changes. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24280 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Idfb641fe9fab83179d00d265e26fd231d5977081 Gerrit-Change-Number: 24280 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 20:01:13 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 2 Jun 2021 20:01:13 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: do not crash when lco/sdp can not be generated 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/+/24182 to look at the new patch set (#2). Change subject: mgcp_client: do not crash when lco/sdp can not be generated ...................................................................... mgcp_client: do not crash when lco/sdp can not be generated The functions add_lco and add_sdp assert when the codec string can not be generated. This is the case when an unexpected codec is addressed in the input parameter mgcp_msg for mgcp_msg_gen(). Even though the API user is expected only to use the codec identifiers in mgcp_client.h the check should not be done with an assert. Instead mgcp_msg_gen() should just return NULL. Change-Id: Ibb788343e0bec9c0eaf33e6e4727d4d36c100017 Related: OS#5119 --- M src/libosmo-mgcp-client/mgcp_client.c 1 file changed, 18 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/82/24182/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb788343e0bec9c0eaf33e6e4727d4d36c100017 Gerrit-Change-Number: 24182 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 Wed Jun 2 20:02:35 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 2 Jun 2021 20:02:35 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: do not crash when lco/sdp can not be generated In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24182 ) Change subject: mgcp_client: do not crash when lco/sdp can not be generated ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/24182/1/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24182/1/src/libosmo-mgcp-client/mgcp_client.c at 1122 PS1, Line 1122: rc += -1; > Agree with pau, it's not clear why we subtract. [?] The error code handling here is not obvious at the first look. The return codes from msgb_printf() are added up. Since msgb_printf() either return 0 (success) or -EINVAL a sum of 0 means that everything went well. However the check 0 is done at the end and it is reserved for msgb buffer space issues only, so subtracting -1 will appear as a buffer space issue but it is not. The correct way to do this is to free the msg buffer and to return -2. This requires a return code check by the caller of course. So subtracting -1 wouln't have done any harm other than causing a slightly wrong error diagnosis. https://gerrit.osmocom.org/c/osmo-mgw/+/24182/1/src/libosmo-mgcp-client/mgcp_client.c at 1234 PS1, Line 1234: rc += -1; > +1 To be conform with the rest it should indeed not do that. It should free the buffer and return -2 (see code above) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb788343e0bec9c0eaf33e6e4727d4d36c100017 Gerrit-Change-Number: 24182 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Jun 2021 20:02:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge 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 Jun 2 20:58:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 2 Jun 2021 20:58:47 +0000 Subject: Change in simtrace2[master]: Add usb product ID of sysmoOCTSIMTEST 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/simtrace2/+/24511 to look at the new patch set (#2). Change subject: Add usb product ID of sysmoOCTSIMTEST ...................................................................... Add usb product ID of sysmoOCTSIMTEST This is a custom board for production testing of the sysmoOCTSIM, an 8-slot smart card reader. Change-Id: I65839be50ac896c76f34755fb2800f836f6cdae4 --- M firmware/libboard/octsimtest/include/board.h M firmware/libcommon/include/simtrace_usb.h M host/lib/usb_util.c 3 files changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/11/24511/2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I65839be50ac896c76f34755fb2800f836f6cdae4 Gerrit-Change-Number: 24511 Gerrit-PatchSet: 2 Gerrit-Owner: laforge 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 Wed Jun 2 20:58:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 2 Jun 2021 20:58:48 +0000 Subject: Change in simtrace2[master]: octsimtest: remove lots of unused #defines References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24519 ) Change subject: octsimtest: remove lots of unused #defines ...................................................................... octsimtest: remove lots of unused #defines The octsimtest board only supports cardem mode, not 'ccid' nor 'sniffer'. Remove related GPIO pin #defines from board.h Change-Id: I43e8631d945ba183a1e5b1e37dd4565adb377154 --- M firmware/libboard/octsimtest/include/board.h 1 file changed, 0 insertions(+), 55 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/19/24519/1 diff --git a/firmware/libboard/octsimtest/include/board.h b/firmware/libboard/octsimtest/include/board.h index 2b8e7bf..a267f0f 100644 --- a/firmware/libboard/octsimtest/include/board.h +++ b/firmware/libboard/octsimtest/include/board.h @@ -50,33 +50,8 @@ /* Button to force bootloader start (shorted to ground when pressed */ #define PIN_BOOTLOADER_SW {PIO_PA5, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP} -//FIXME SIM_PWEN_PIN collides with PA5/bootloader_sw on octsimtest -/* Enable powering the card using the second 3.3 V output of the LDO (active high) */ -#define SIM_PWEN_PIN {PIO_PA12, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} -/* Enable powering the SIM card */ -#define PWR_PINS SIM_PWEN_PIN - // FIXME PA8 is 32khz xtal on octsimtest -/* Card presence pin */ -#define SW_SIM PIO_PA11 /* Pull card presence pin high (shorted to ground in card slot when card is present) */ -#define SMARTCARD_CONNECT_PIN {SW_SIM, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP | PIO_DEBOUNCE | PIO_DEGLITCH | PIO_IT_EDGE } - -/** Smart card connection **/ -//FIXME -/* Card RST reset signal input (active low; RST_SIM in schematic) */ -#define PIN_SIM_RST {PIO_PA13, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} -/* 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} -/* 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} -//FIXME PIO_PA4B_TCLK0 PA4 is LED on octsimtest -/* Pin used as clock input (to measure the ETU duration; connected to CLK_SIM in schematic) */ -#define PIN_SIM_CLK_INPUT {PIO_PA14, 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 /** Phone connection **/ /* Phone USIM slot 1 VCC pin (VCC_PHONE in schematic) */ @@ -95,36 +70,6 @@ #define PIN_PHONE_CLK_INPUT {PIO_PA29B_TCLK2, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} /** Default pin configuration **/ -/* Disconnect VPP, CLK, and RST lines between card and phone using bus switch (high sets bus switch to high-impedance) */ -#define PIN_SC_SW_DEFAULT {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} -/* Disconnect I/O line between card and phone using bus switch (high sets bus switch to high-impedance) */ -#define PIN_IO_SW_DEFAULT {PIO_PA19, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} -/* Disconnect all lines (VPP, CLK, RST, and I/O) between card and phone */ -#define PINS_BUS_DEFAULT PIN_SC_SW_DEFAULT, PIN_IO_SW_DEFAULT - -/** Sniffer configuration **/ -/* Connect VPP, CLK, and RST lines between card and phone using bus switch (low connects signals on bus switch) */ -#define PIN_SC_SW_SNIFF {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} -/* Connect I/O line between card and phone using bus switch (low connects signals on bus switch) */ -#define PIN_IO_SW_SNIFF {PIO_PA19, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} -/* Connect all lines (VPP, CLK, RST, and I/O) between card and phone */ -#define PINS_BUS_SNIFF PIN_SC_SW_SNIFF, PIN_IO_SW_SNIFF -/* 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 -/* Disable power converter 4.5-6V to 3.3V (active high) */ -#define PIN_SIM_PWEN_SNIFF {SIM_PWEN, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} -/* Enable power switch to forward VCC_PHONE to VCC_SIM (active high) */ -#define PIN_VCC_FWD_SNIFF {VCC_FWD, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} -/* Use phone VCC to power card */ -#define PINS_PWR_SNIFF PIN_SIM_PWEN_SNIFF, PIN_VCC_FWD_SNIFF - -/** CCID configuration */ -/* Card RST reset signal input (active low; RST_SIM in schematic) */ -#define PIN_ISO7816_RSTMC {PIO_PA7, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} -/* ISO7816-communication related pins */ -#define PINS_ISO7816 PIN_SIM_IO, PIN_SIM_CLK, PIN_ISO7816_RSTMC // SIM_PWEN_PIN, PIN_SIM_IO2, PIN_SIM_CLK2 /** External SPI flash interface **/ /* SPI MISO pin definition */ -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I43e8631d945ba183a1e5b1e37dd4565adb377154 Gerrit-Change-Number: 24519 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 Jun 2 20:58:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 2 Jun 2021 20:58:49 +0000 Subject: Change in simtrace2[master]: octsimtest: most code for support of this new board References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24520 ) Change subject: octsimtest: most code for support of this new board ...................................................................... octsimtest: most code for support of this new board * code for controlling the Card slot + frequencyt divider muxes * put everything in place to build cardem application for it Change-Id: I7e03e0c0f2999a1ce2dad966d98e22033fa58465 --- M firmware/libboard/octsimtest/include/board.h A firmware/libboard/octsimtest/include/mux.h M firmware/libboard/octsimtest/source/board_octsimtest.c A firmware/libboard/octsimtest/source/mux.c A firmware/libboard/octsimtest/source/sim_switch.c 5 files changed, 167 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/20/24520/1 diff --git a/firmware/libboard/octsimtest/include/board.h b/firmware/libboard/octsimtest/include/board.h index a267f0f..6006796 100644 --- a/firmware/libboard/octsimtest/include/board.h +++ b/firmware/libboard/octsimtest/include/board.h @@ -57,7 +57,7 @@ /* Phone USIM slot 1 VCC pin (VCC_PHONE in schematic) */ #define PIN_USIM1_VCC {PIO_PA25, PIOA, ID_PIOA, PIO_INPUT, PIO_DEFAULT} /* Phone USIM slot 1 RST pin (active low; RST_PHONE in schematic) */ -#define PIN_USIM1_nRST {PIO_PA24, PIOA, ID_PIOA, PIO_INPUT, PIO_IT_RISE_EDGE | PIO_DEGLITCH } +#define PIN_USIM1_nRST {PIO_PA24, PIOA, ID_PIOA, PIO_INPUT, PIO_IT_EDGE | PIO_DEGLITCH } /* Phone I/O data signal input/output (I/O_PHONE in schematic) */ #define PIN_PHONE_IO {PIO_PA22A_TXD1, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} /* Phone CLK clock input (CLK_PHONE in schematic) */ @@ -102,13 +102,15 @@ /* Indicate SIMtrace is bus power in USB attributes */ #define BOARD_USB_BMATTRIBUTES USBConfigurationDescriptor_BUSPOWERED_NORWAKEUP +#define DETECT_VCC_BY_ADC + /** Supported modes */ /* SIMtrace board supports sniffer mode */ //#define HAVE_SNIFFER /* SIMtrace board supports CCID mode */ //#define HAVE_CCID /* SIMtrace board supports card emulation mode */ -//#define HAVE_CARDEM +#define HAVE_CARDEM /* SIMtrace board supports man-in-the-middle mode */ //#define HAVE_MITM /* octsimtest board supports gpio_test mode */ diff --git a/firmware/libboard/octsimtest/include/mux.h b/firmware/libboard/octsimtest/include/mux.h new file mode 100644 index 0000000..ba7ae9f --- /dev/null +++ b/firmware/libboard/octsimtest/include/mux.h @@ -0,0 +1,16 @@ +#pragma once + +void mux_init(void); +void mux_set_slot(uint8_t s); +void mux_set_freq(uint8_t s); + +/* this reflects the wiring between U5 and U4 */ +#define MUX_FREQ_DIV_2 0 +#define MUX_FREQ_DIV_4 1 +#define MUX_FREQ_DIV_16 2 +#define MUX_FREQ_DIV_32 3 +#define MUX_FREQ_DIV_32 3 +#define MUX_FREQ_DIV_128 4 +#define MUX_FREQ_DIV_512 5 +#define MUX_FREQ_DIV_2048 6 +#define MUX_FREQ_DIV_4096 7 diff --git a/firmware/libboard/octsimtest/source/board_octsimtest.c b/firmware/libboard/octsimtest/source/board_octsimtest.c index b7d7245..85d8aab 100644 --- a/firmware/libboard/octsimtest/source/board_octsimtest.c +++ b/firmware/libboard/octsimtest/source/board_octsimtest.c @@ -25,6 +25,7 @@ #include "usb_buf.h" #include "i2c.h" #include "mcp23017.h" +#include "mux.h" void board_exec_dbg_cmd(int ch) { @@ -34,7 +35,16 @@ printf("\tR\treset SAM3\n\r"); printf("\tm\trun mcp23017 test\n\r"); printf("\tR\ttoggle MSB of gpio on mcp23017\n\r"); + printf("\t0-8\tselect physical SIM slot\n\r"); break; + case '0': mux_set_slot(0); break; + case '1': mux_set_slot(1); break; + case '2': mux_set_slot(2); break; + case '3': mux_set_slot(3); break; + case '4': mux_set_slot(4); break; + case '5': mux_set_slot(5); break; + case '6': mux_set_slot(6); break; + case '7': mux_set_slot(7); break; case 'R': printf("Asking NVIC to reset us\n\r"); USBD_Disconnect(); @@ -57,6 +67,7 @@ #ifndef APPLICATION_dfu usb_buf_init(); + mux_init(); i2c_pin_init(); if (!mcp23017_init(MCP23017_ADDRESS)) printf("mcp23017 not found!\n\r"); diff --git a/firmware/libboard/octsimtest/source/mux.c b/firmware/libboard/octsimtest/source/mux.c new file mode 100644 index 0000000..8d9f625 --- /dev/null +++ b/firmware/libboard/octsimtest/source/mux.c @@ -0,0 +1,99 @@ +/* sysmoOCTSIMTEST support for multiplexers + * + * (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 + */ + +#include "board.h" +#include "mux.h" +#include + +/* 3-bit S0..S2 signal for slot selection */ +static const Pin pin_in_sel[3] = { + { PIO_PA1, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT }, + { PIO_PA2, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT }, + { PIO_PA3, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT }, +}; + +/* 3-bit S0..S2 signal for frequency divider selection */ +static const Pin pin_freq_sel[3] = { + { PIO_PA16, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT }, + { PIO_PA17, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT }, + { PIO_PA18, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT }, +}; + +/* low-active output enable for all muxes */ +static const Pin pin_oe = { PIO_PA19, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT }; + +/* initialize the external 1:8 multiplexers */ +void mux_init(void) +{ + PIO_Configure(&pin_oe, PIO_LISTSIZE(pin_oe)); + PIO_Configure(pin_in_sel, PIO_LISTSIZE(pin_in_sel)); + PIO_Configure(pin_freq_sel, PIO_LISTSIZE(pin_freq_sel)); + + mux_set_slot(0); +} + +/* set the slot selection mux */ +void mux_set_slot(uint8_t s) +{ + printf("%s(%u)\r\n", __func__, s); + + /* !OE = H: disconnect input and output of muxes */ + PIO_Set(&pin_oe); + + if (s & 1) + PIO_Set(&pin_in_sel[0]); + else + PIO_Clear(&pin_in_sel[0]); + if (s & 2) + PIO_Set(&pin_in_sel[1]); + else + PIO_Clear(&pin_in_sel[1]); + if (s & 4) + PIO_Set(&pin_in_sel[2]); + else + PIO_Clear(&pin_in_sel[2]); + + /* !OE = L: (re-)enable the output of muxes */ + PIO_Clear(&pin_oe); +} + +/* set the frequency divider mux */ +void mux_set_freq(uint8_t s) +{ + printf("%s(%u)\r\n", __func__, s); + + /* no need for 'break before make' here, this would also affect + * the SIM card I/O signals which we don't want to disturb */ + + if (s & 1) + PIO_Set(&pin_freq_sel[0]); + else + PIO_Clear(&pin_freq_sel[0]); + if (s & 2) + PIO_Set(&pin_freq_sel[1]); + else + PIO_Clear(&pin_freq_sel[1]); + if (s & 4) + PIO_Set(&pin_freq_sel[2]); + else + PIO_Clear(&pin_freq_sel[2]); + + /* !OE = L: ensure enable the output of muxes */ + PIO_Clear(&pin_oe); +} diff --git a/firmware/libboard/octsimtest/source/sim_switch.c b/firmware/libboard/octsimtest/source/sim_switch.c new file mode 100644 index 0000000..2b60a30 --- /dev/null +++ b/firmware/libboard/octsimtest/source/sim_switch.c @@ -0,0 +1,37 @@ +/* Code to switch between local (physical) and remote (emulated) SIM + * + * (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 + */ +#include "board.h" +#include "trace.h" +#include "sim_switch.h" + +int sim_switch_use_physical(unsigned int nr, int physical) +{ + if (physical) { + TRACE_ERROR("%u: Use local/physical SIM - UNSUPPORTED!\r\n", nr); + } else { + TRACE_INFO("%u: Use remote/emulated SIM\r\n", nr); + } + + return 0; +} + +int sim_switch_init(void) +{ + return 1; // SIMtrace hardware has only one switchable interface +} -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I7e03e0c0f2999a1ce2dad966d98e22033fa58465 Gerrit-Change-Number: 24520 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 Jun 2 20:58:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 2 Jun 2021 20:58:50 +0000 Subject: Change in simtrace2[master]: octsimtest: Switch direction of I/O level shifter depending on uart t... References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24521 ) Change subject: octsimtest: Switch direction of I/O level shifter depending on uart tx / rx ...................................................................... octsimtest: Switch direction of I/O level shifter depending on uart tx / rx Contrary to other hardware designs, octsimtest has a level-shifter in the I/O line to support testing with 1.8, 3 and 5V. This level shifter is bi-directional, but the direction needs to be explicitly specified via the SIM_IO_DIR signal attached to PA26. Change-Id: I44171363b5bd69d6049b12c86f8143be83557cb2 --- M firmware/libboard/octsimtest/include/board.h M firmware/libcommon/source/mode_cardemu.c 2 files changed, 23 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/21/24521/1 diff --git a/firmware/libboard/octsimtest/include/board.h b/firmware/libboard/octsimtest/include/board.h index 6006796..361c180 100644 --- a/firmware/libboard/octsimtest/include/board.h +++ b/firmware/libboard/octsimtest/include/board.h @@ -62,8 +62,10 @@ #define PIN_PHONE_IO {PIO_PA22A_TXD1, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} /* Phone CLK clock input (CLK_PHONE in schematic) */ #define PIN_PHONE_CLK {PIO_PA23A_SCK1, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} +/* Pin used to switch level shifter in I/O line between rx (0) and tx (1) */ +#define PIN_USIM1_IO_DIR {PIO_PA16, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_OUTPUT_0} /* Pin used for phone USIM slot 1 communication */ -#define PINS_USIM1 PIN_PHONE_IO, PIN_PHONE_CLK, PIN_PHONE_CLK_INPUT, PIN_USIM1_VCC, PIN_PHONE_IO_INPUT, PIN_USIM1_nRST +#define PINS_USIM1 PIN_PHONE_IO, PIN_PHONE_CLK, PIN_PHONE_CLK_INPUT, PIN_USIM1_VCC, PIN_PHONE_IO_INPUT, PIN_USIM1_nRST, PIN_USIM1_IO_DIR /* Phone I/O data signal input/output (unused USART RX input; connected to I/O_PHONE in schematic) */ #define PIN_PHONE_IO_INPUT {PIO_PA21A_RXD1, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} /* Pin used as clock input (to measure the ETU duration; connected to CLK_PHONE in schematic) */ diff --git a/firmware/libcommon/source/mode_cardemu.c b/firmware/libcommon/source/mode_cardemu.c index 127556c..604c66a 100644 --- a/firmware/libcommon/source/mode_cardemu.c +++ b/firmware/libcommon/source/mode_cardemu.c @@ -42,6 +42,10 @@ static const Pin pins_usim1[] = {PINS_USIM1}; static const Pin pin_usim1_rst = PIN_USIM1_nRST; 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 + #ifdef CARDEMU_SECOND_UART static const Pin pins_usim2[] = {PINS_USIM2}; @@ -142,12 +146,27 @@ wait_tx_idle(usart); } +static void card_emu_uart_set_direction(uint8_t uart_chan, bool tx) +{ + /* only on some boards (octsimtest) we hae an external level + * shifter that requires us to switch the direction between RX and TX */ +#ifdef PIN_USIM1_IO_DIR + if (uart_chan == 0) { + if (tx) + PIO_Set(&pin_io_dir); + else + PIO_Clear(&pin_io_dir); + } +#endif +} + /* call-back from card_emu.c to enable/disable transmit and/or receive */ void card_emu_uart_enable(uint8_t uart_chan, uint8_t rxtx) { Usart *usart = get_usart_by_chan(uart_chan); switch (rxtx) { case ENABLE_TX: + card_emu_uart_set_direction(uart_chan, true); USART_DisableIt(usart, ~(US_IER_TXRDY | US_IER_TIMEOUT)); /* as irritating as it is, we actually want to keep the * receiver enabled during transmit */ @@ -173,6 +192,7 @@ * transmitter enabled during receive */ USART_SetTransmitterEnabled(usart, 1); wait_tx_idle(usart); + card_emu_uart_set_direction(uart_chan, false);; usart->US_CR = US_CR_RSTSTA | US_CR_RSTIT | US_CR_RSTNACK; USART_EnableIt(usart, US_IER_RXRDY); USART_SetReceiverEnabled(usart, 1); -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I44171363b5bd69d6049b12c86f8143be83557cb2 Gerrit-Change-Number: 24521 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 Jun 2 20:58:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 2 Jun 2021 20:58:51 +0000 Subject: Change in simtrace2[master]: cardem-pcsc: initialize libosmocore logging References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24522 ) Change subject: cardem-pcsc: initialize libosmocore logging ...................................................................... cardem-pcsc: initialize libosmocore logging Change-Id: I815d39190e944d9512ffc8e5f581515d7be9834f --- M host/src/simtrace2-cardem-pcsc.c 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/22/24522/1 diff --git a/host/src/simtrace2-cardem-pcsc.c b/host/src/simtrace2-cardem-pcsc.c index af34d3f..d43e7f2 100644 --- a/host/src/simtrace2-cardem-pcsc.c +++ b/host/src/simtrace2-cardem-pcsc.c @@ -48,6 +48,8 @@ #include #include #include +#include +#include #include #include @@ -425,6 +427,8 @@ } } +static struct log_info log_info = {}; + int main(int argc, char **argv) { struct osmo_st2_transport *transp = ci->slot->transp; @@ -451,6 +455,8 @@ return rc; } + osmo_init_logging2(NULL, &log_info); + while (1) { int option_index = 0; -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I815d39190e944d9512ffc8e5f581515d7be9834f Gerrit-Change-Number: 24522 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 Jun 2 20:58:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 2 Jun 2021 20:58:52 +0000 Subject: Change in simtrace2[master]: simtrace2-list: Use osmo_st2_compatible_dev_ids[] References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24523 ) Change subject: simtrace2-list: Use osmo_st2_compatible_dev_ids[] ...................................................................... simtrace2-list: Use osmo_st2_compatible_dev_ids[] we shouldn't use a local copy of the device id list, which is already outdated now that OCTSIMTEST support has been added to libosmo-st2 Change-Id: I2231006b94c33fe3b28ce37b0d54c67206751058 --- M host/src/simtrace2_usb.c 1 file changed, 2 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/23/24523/1 diff --git a/host/src/simtrace2_usb.c b/host/src/simtrace2_usb.c index 94e19ff..8fa41fc 100644 --- a/host/src/simtrace2_usb.c +++ b/host/src/simtrace2_usb.c @@ -25,13 +25,7 @@ #include #include - -static const struct dev_id compatible_dev_ids[] = { - { USB_VENDOR_OPENMOKO, USB_PRODUCT_OWHW_SAM3 }, - { USB_VENDOR_OPENMOKO, USB_PRODUCT_QMOD_SAM3 }, - { USB_VENDOR_OPENMOKO, USB_PRODUCT_SIMTRACE2 }, - { 0, 0 } -}; +#include static int find_devices(void) { @@ -39,7 +33,7 @@ int rc, i, num_interfaces; /* scan for USB devices matching SIMtrace USB ID with proprietary class */ - rc = osmo_libusb_find_matching_interfaces(NULL, compatible_dev_ids, + rc = osmo_libusb_find_matching_interfaces(NULL, osmo_st2_compatible_dev_ids, USB_CLASS_PROPRIETARY, -1, -1, ifm, ARRAY_SIZE(ifm)); printf("USB matches: %d\n", rc); if (rc < 0) -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I2231006b94c33fe3b28ce37b0d54c67206751058 Gerrit-Change-Number: 24523 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 Jun 2 21:01:13 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Wed, 2 Jun 2021 21:01:13 +0000 Subject: Change in osmo-gsm-tester[master]: util: adds the feature to force the rpath when patching files. In-Reply-To: References: Message-ID: alealcon has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 ) Change subject: util: adds the feature to force the rpath when patching files. ...................................................................... Patch Set 1: I tested the possibility 1. It works as expected, but I don't think it's a good solution. We are building the binaries using the "contrib" build scripts (jenkins-build-srslte.sh and jenkins-build-common.sh). Those scripts are generic and don't like the idea to add a conditional to check what's being built so it can apply the custom patchelf. What do you think? The test was to create a branch where the patchelf on the "jenkins-build-common.sh" includes the "--force-rpath" option plus the custom path to the libraries. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2d4a105d4843c0d31d6b5d8f8d4195247b290aec Gerrit-Change-Number: 24272 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 02 Jun 2021 21:01: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 Wed Jun 2 21:20:04 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 2 Jun 2021 21:20:04 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode 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/+/24374 to look at the new patch set (#14). Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... implement Channel Mode Modify to VAMOS mode Related: SYS#5315 OS#4940 Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c --- 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/gsm_04_08_rr.c M src/osmo-bsc/lchan_fsm.c M tests/osmo-bsc.vty 6 files changed, 174 insertions(+), 40 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/74/24374/14 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 14 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 Wed Jun 2 21:20:04 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 2 Jun 2021 21:20:04 +0000 Subject: Change in osmo-bsc[master]: RSL: rx and tx VAMOS Channel Number cbits for VAMOS 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/+/24430 to look at the new patch set (#10). Change subject: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans ...................................................................... RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans Add the Osmocom-specific extension to indicate VAMOS shadow lchans in RSL, in lchan lookup and RSL message transmission. Note that RR messages containing cbits (Assignment Command, Handover Command, ...) must *not* send Osmocom specific cbits to the MS. Only the RSL messages directed to the BTS send Osmocom specific bits. Related: SYS#5315 OS#4940 Depends: If33c1695922d110c0d2c60d5c0136caf2587194e (libosmocore) Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bts_trx.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lcs_loc_req.c M tests/handover/handover_test.c 7 files changed, 89 insertions(+), 44 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/30/24430/10 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 Gerrit-Change-Number: 24430 Gerrit-PatchSet: 10 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 21:20:06 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 2 Jun 2021 21:20:06 +0000 Subject: Change in osmo-bsc[master]: RSL chan_nr: replace OSMO_ASSERT with error handling References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24524 ) Change subject: RSL chan_nr: replace OSMO_ASSERT with error handling ...................................................................... RSL chan_nr: replace OSMO_ASSERT with error handling It's bad to abort the program for an incompatible chan_nr. Instead of OSMO_ASSERT(), make sure that error handling happens all they way to the original callers of gsm_lchan2chan_nr etc. This is also preparation to add further error causes: Osmocom specific cbits needed for a non-Osmo BTS. Related: SYS#5315 OS#4940 Change-Id: I71ed6437c403a3f9336e17a94b4948fca295d853 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lcs_loc_req.c M src/osmo-bsc/osmo_bsc_lcls.c M src/osmo-bsc/system_information.c M tests/handover/handover_test.c 8 files changed, 184 insertions(+), 60 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/24/24524/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 800dcf5..ce56952 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1027,17 +1027,17 @@ gsm_objclass2obj(struct gsm_bts *bts, uint8_t obj_class, const struct abis_om_obj_inst *obj_inst); -uint8_t gsm_pchan2chan_nr(enum gsm_phys_chan_config pchan, - uint8_t ts_nr, uint8_t lchan_nr); -uint8_t gsm_lchan2chan_nr(const struct gsm_lchan *lchan); -uint8_t gsm_lchan_as_pchan2chan_nr(const struct gsm_lchan *lchan, - enum gsm_phys_chan_config as_pchan); +int gsm_pchan2chan_nr(enum gsm_phys_chan_config pchan, + uint8_t ts_nr, uint8_t lchan_nr); +int gsm_lchan2chan_nr(const struct gsm_lchan *lchan); +int gsm_lchan_as_pchan2chan_nr(const struct gsm_lchan *lchan, + enum gsm_phys_chan_config as_pchan); -void gsm48_lchan2chan_desc(struct gsm48_chan_desc *cd, - const struct gsm_lchan *lchan, - uint8_t tsc); -void gsm48_lchan2chan_desc_as_configured(struct gsm48_chan_desc *cd, const struct gsm_lchan *lchan, - uint8_t tsc); +int gsm48_lchan2chan_desc(struct gsm48_chan_desc *cd, + const struct gsm_lchan *lchan, + uint8_t tsc); +int gsm48_lchan2chan_desc_as_configured(struct gsm48_chan_desc *cd, const struct gsm_lchan *lchan, + uint8_t tsc); uint8_t gsm_ts_tsc(const struct gsm_bts_trx_ts *ts); diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index c7e9821..fe7c480 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -279,8 +279,12 @@ const uint8_t *data, int len) { struct abis_rsl_dchan_hdr *dh; - struct msgb *msg = rsl_msgb_alloc(); - uint8_t chan_nr = gsm_lchan2chan_nr(lchan); + struct msgb *msg; + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) + return chan_nr; + + msg = rsl_msgb_alloc(); dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); init_dchan_hdr(dh, RSL_MT_SACCH_INFO_MODIFY); @@ -299,7 +303,9 @@ { struct abis_rsl_dchan_hdr *dh; struct msgb *msg; - uint8_t chan_nr = gsm_lchan2chan_nr(lchan); + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) + return chan_nr; db = abs(db); if (db > 30) @@ -329,7 +335,9 @@ { struct abis_rsl_dchan_hdr *dh; struct msgb *msg; - uint8_t chan_nr = gsm_lchan2chan_nr(lchan); + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) + return chan_nr; LOG_LCHAN(lchan, LOGL_DEBUG, "Tx MS POWER CONTROL (ms_power_lvl=%" PRIu8 ")\n", lchan->ms_power); @@ -519,6 +527,9 @@ struct rsl_ie_chan_mode cm; struct gsm48_chan_desc cd; + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) + return chan_nr; DEBUGP(DRSL, "%s Tx RSL Channel Activate with act_type=%s\n", gsm_ts_and_pchan_name(lchan->ts), @@ -536,13 +547,17 @@ } memset(&cd, 0, sizeof(cd)); - gsm48_lchan2chan_desc(&cd, lchan, lchan->activate.tsc); + rc = gsm48_lchan2chan_desc(&cd, lchan, lchan->activate.tsc); + if (rc) { + LOG_LCHAN(lchan, LOGL_ERROR, "Error encoding Channel Number\n"); + return rc; + } msg = rsl_msgb_alloc(); dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); init_dchan_hdr(dh, RSL_MT_CHAN_ACTIV); - dh->chan_nr = gsm_lchan2chan_nr(lchan); + dh->chan_nr = chan_nr; msgb_tv_put(msg, RSL_IE_ACT_TYPE, act_type); msgb_tlv_put(msg, RSL_IE_CHAN_MODE, sizeof(cm), @@ -648,10 +663,13 @@ struct msgb *msg; int rc; - uint8_t chan_nr = gsm_lchan2chan_nr(lchan); struct rsl_ie_chan_mode cm; struct gsm_bts *bts = lchan->ts->trx->bts; + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) + return chan_nr; + rc = channel_mode_from_lchan(&cm, lchan, &lchan->modify.ch_mode_rate, lchan->modify.info.vamos); if (rc < 0) return rc; @@ -703,11 +721,14 @@ { struct abis_rsl_dchan_hdr *dh; struct gsm_lchan *lchan = msg->lchan; - uint8_t chan_nr = gsm_lchan2chan_nr(lchan); uint8_t encr_info[MAX_A5_KEY_LEN+2]; uint8_t l3_len = msg->len; int rc; + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) + return chan_nr; + /* First push the L3 IE tag and length */ msgb_tv16_push(msg, RSL_IE_L3_INFO, l3_len); @@ -736,9 +757,13 @@ struct abis_rsl_dchan_hdr *dh; struct msgb *msg = rsl_msgb_alloc(); + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) + return chan_nr; + dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); init_dchan_hdr(dh, RSL_MT_DEACTIVATE_SACCH); - dh->chan_nr = gsm_lchan2chan_nr(lchan); + dh->chan_nr = chan_nr; msg->lchan = lchan; msg->dst = rsl_chan_link(lchan); @@ -754,10 +779,14 @@ struct abis_rsl_dchan_hdr *dh; struct msgb *msg; + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) + return chan_nr; + msg = rsl_msgb_alloc(); dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); init_dchan_hdr(dh, RSL_MT_RF_CHAN_REL); - dh->chan_nr = gsm_lchan2chan_nr(lchan); + dh->chan_nr = chan_nr; msg->lchan = lchan; msg->dst = rsl_chan_link(lchan); @@ -886,13 +915,19 @@ /* Send Siemens specific MS RF Power Capability Indication */ int rsl_siemens_mrpci(struct gsm_lchan *lchan, struct rsl_mrpci *mrpci) { - struct msgb *msg = rsl_msgb_alloc(); + struct msgb *msg; struct abis_rsl_dchan_hdr *dh; + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) + return chan_nr; + + msg = rsl_msgb_alloc(); + dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); init_dchan_hdr(dh, RSL_MT_SIEMENS_MRPCI); dh->c.msg_discr = ABIS_RSL_MDISC_DED_CHAN; - dh->chan_nr = gsm_lchan2chan_nr(lchan); + dh->chan_nr = chan_nr; msgb_tv_put(msg, RSL_IE_SIEMENS_MRPCI, *(uint8_t *)mrpci); DEBUGP(DRSL, "%s TX Siemens MRPCI 0x%02x\n", @@ -908,13 +943,19 @@ /* Chapter 8.3.1 */ int rsl_data_request(struct msgb *msg, uint8_t link_id) { + int chan_nr = gsm_lchan2chan_nr(msg->lchan); + if (chan_nr < 0) { + msgb_free(msg); + return chan_nr; + } + if (msg->lchan == NULL) { LOGP(DRSL, LOGL_ERROR, "cannot send DATA REQUEST to unknown lchan\n"); + msgb_free(msg); return -EINVAL; } - rsl_rll_push_l3(msg, RSL_MT_DATA_REQ, gsm_lchan2chan_nr(msg->lchan), - link_id, 1); + rsl_rll_push_l3(msg, RSL_MT_DATA_REQ, chan_nr, link_id, 1); msg->dst = rsl_chan_link(msg->lchan); @@ -926,9 +967,11 @@ int rsl_establish_request(struct gsm_lchan *lchan, uint8_t link_id) { struct msgb *msg; + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) + return chan_nr; - msg = rsl_rll_simple(RSL_MT_EST_REQ, gsm_lchan2chan_nr(lchan), - link_id, 0); + msg = rsl_rll_simple(RSL_MT_EST_REQ, chan_nr, link_id, 0); msg->dst = rsl_chan_link(lchan); DEBUGP(DRLL, "%s RSL RLL ESTABLISH REQ (link_id=0x%02x)\n", @@ -947,9 +990,11 @@ { struct msgb *msg; + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) + return chan_nr; - msg = rsl_rll_simple(RSL_MT_REL_REQ, gsm_lchan2chan_nr(lchan), - link_id, 0); + msg = rsl_rll_simple(RSL_MT_REL_REQ, chan_nr, link_id, 0); /* 0 is normal release, 1 is local end */ msgb_tv_put(msg, RSL_IE_RELEASE_MODE, release_mode); @@ -1836,7 +1881,11 @@ ia->proto_discr = GSM48_PDISC_RR; ia->msg_type = GSM48_MT_RR_IMM_ASS; ia->page_mode = GSM48_PM_SAME; - gsm48_lchan2chan_desc(&ia->chan_desc, lchan, lchan->tsc); + rc = gsm48_lchan2chan_desc(&ia->chan_desc, lchan, lchan->tsc); + if (rc) { + LOG_LCHAN(lchan, LOGL_ERROR, "Error encoding Channel Number\n"); + return rc; + } /* use request reference extracted from CHAN_RQD */ memcpy(&ia->req_ref, lchan->rqd_ref, sizeof(ia->req_ref)); @@ -2275,13 +2324,19 @@ */ int rsl_tx_ipacc_crcx(const struct gsm_lchan *lchan) { - struct msgb *msg = rsl_msgb_alloc(); + struct msgb *msg; struct abis_rsl_dchan_hdr *dh; + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) + return chan_nr; + + msg = rsl_msgb_alloc(); + dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); init_dchan_hdr(dh, RSL_MT_IPAC_CRCX); dh->c.msg_discr = ABIS_RSL_MDISC_IPACCESS; - dh->chan_nr = gsm_lchan2chan_nr(lchan); + dh->chan_nr = chan_nr; /* 0x1- == receive-only, 0x-1 == EFR codec */ msgb_tv_put(msg, RSL_IE_IPAC_SPEECH_MODE, lchan->abis_ip.speech_mode); @@ -2302,14 +2357,20 @@ */ struct msgb *rsl_make_ipacc_mdcx(const struct gsm_lchan *lchan, uint32_t dest_ip, uint16_t dest_port) { - struct msgb *msg = rsl_msgb_alloc(); + struct msgb *msg; struct abis_rsl_dchan_hdr *dh; uint32_t *att_ip; + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) + return NULL; + + msg = rsl_msgb_alloc(); + dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); init_dchan_hdr(dh, RSL_MT_IPAC_MDCX); dh->c.msg_discr = ABIS_RSL_MDISC_IPACCESS; - dh->chan_nr = gsm_lchan2chan_nr(lchan); + dh->chan_nr = chan_nr; msgb_tv16_put(msg, RSL_IE_IPAC_CONN_ID, lchan->abis_ip.conn_id); msgb_v_put(msg, RSL_IE_IPAC_REMOTE_IP); @@ -2334,6 +2395,9 @@ { struct msgb *msg = rsl_make_ipacc_mdcx(lchan, lchan->abis_ip.connect_ip, lchan->abis_ip.connect_port); + if (!msg) + return -EINVAL; + LOG_LCHAN(lchan, LOGL_DEBUG, "Sending IPACC MDCX to BTS:" " %s:%u rtp_payload=%u rtp_payload2=%u conn_id=%u speech_mode=0x%02x\n", ip_to_a(lchan->abis_ip.connect_ip), @@ -2525,13 +2589,19 @@ /*! Tx simplified channel (de-)activation message for non-standard ip.access dyn TS PDCH type. */ static int send_ipacc_style_pdch_act(struct gsm_bts_trx_ts *ts, bool activate) { - struct msgb *msg = rsl_msgb_alloc(); + struct msgb *msg; struct abis_rsl_dchan_hdr *dh; + int chan_nr = gsm_pchan2chan_nr(GSM_PCHAN_TCH_F, ts->nr, 0); + if (chan_nr < 0) + return chan_nr; + + msg = rsl_msgb_alloc(); + dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); init_dchan_hdr(dh, activate ? RSL_MT_IPAC_PDCH_ACT : RSL_MT_IPAC_PDCH_DEACT); dh->c.msg_discr = ABIS_RSL_MDISC_DED_CHAN; - dh->chan_nr = gsm_pchan2chan_nr(GSM_PCHAN_TCH_F, ts->nr, 0); + dh->chan_nr = chan_nr; msg->dst = ts->trx->rsl_link_primary; return abis_rsl_sendmsg(msg); diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 7cc5664..dc6434b 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -546,7 +546,10 @@ /* mandatory bits */ gsm48_cell_desc(&ho->cell_desc, new_lchan->ts->trx->bts); - gsm48_lchan2chan_desc(&ho->chan_desc, new_lchan, gsm_ts_tsc(new_lchan->ts)); + if (gsm48_lchan2chan_desc(&ho->chan_desc, new_lchan, gsm_ts_tsc(new_lchan->ts))) { + msgb_free(msg); + return NULL; + } ho->ho_ref = ho_ref; ho->power_command = power_command; @@ -597,6 +600,7 @@ /* Chapter 9.1.2: Assignment Command */ int gsm48_send_rr_ass_cmd(struct gsm_lchan *current_lchan, struct gsm_lchan *new_lchan, uint8_t power_command) { + int rc; struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 ASS CMD"); struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); struct gsm48_ass_cmd *ass = @@ -618,7 +622,11 @@ * the chan_desc. But as long as multi-slot configurations * are not used we seem to be fine. */ - gsm48_lchan2chan_desc(&ass->chan_desc, new_lchan, new_lchan->tsc); + rc = gsm48_lchan2chan_desc(&ass->chan_desc, new_lchan, new_lchan->tsc); + if (rc) { + msgb_free(msg); + return rc; + } ass->power_command = power_command; /* Cell Channel Description (freq. hopping), TV (see 3GPP TS 44.018, 10.5.2.1b) */ @@ -682,6 +690,7 @@ /* 9.1.5 Channel mode modify: Modify the mode on the MS side */ int gsm48_lchan_modify(struct gsm_lchan *lchan, uint8_t mode) { + int rc; struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 CHN MOD"); struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); struct gsm48_chan_mode_modify *cmm = @@ -694,7 +703,11 @@ gh->proto_discr = GSM48_PDISC_RR; gh->msg_type = GSM48_MT_RR_CHAN_MODE_MODIF; - gsm48_lchan2chan_desc(&cmm->chan_desc, lchan, lchan->modify.tsc); + rc = gsm48_lchan2chan_desc(&cmm->chan_desc, lchan, lchan->modify.tsc); + if (rc) { + msgb_free(msg); + return rc; + } cmm->mode = mode; /* in case of multi rate we need to attach a config */ diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index c43fbe9..ecbf7b9 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -495,23 +495,26 @@ } /* See Table 10.5.25 of GSM04.08 */ -uint8_t gsm_pchan2chan_nr(enum gsm_phys_chan_config pchan, - uint8_t ts_nr, uint8_t lchan_nr) +int gsm_pchan2chan_nr(enum gsm_phys_chan_config pchan, + uint8_t ts_nr, uint8_t lchan_nr) { uint8_t cbits, chan_nr; switch (pchan) { case GSM_PCHAN_TCH_F: case GSM_PCHAN_TCH_F_PDCH: - OSMO_ASSERT(lchan_nr == 0); + if (lchan_nr != 0) + return -EINVAL; cbits = 0x01; break; case GSM_PCHAN_PDCH: - OSMO_ASSERT(lchan_nr == 0); + if (lchan_nr != 0) + return -EINVAL; cbits = RSL_CHAN_OSMO_PDCH >> 3; break; case GSM_PCHAN_TCH_H: - OSMO_ASSERT(lchan_nr < 2); + if (lchan_nr > 1) + return -EINVAL; cbits = 0x02; cbits += lchan_nr; break; @@ -525,19 +528,21 @@ if (lchan_nr == CCCH_LCHAN) chan_nr = 0; else - OSMO_ASSERT(lchan_nr < 4); + return -EINVAL; cbits = 0x04; cbits += lchan_nr; break; case GSM_PCHAN_SDCCH8_SACCH8C: case GSM_PCHAN_SDCCH8_SACCH8C_CBCH: - OSMO_ASSERT(lchan_nr < 8); + if (lchan_nr > 7) + return -EINVAL; cbits = 0x08; cbits += lchan_nr; break; default: case GSM_PCHAN_CCCH: - OSMO_ASSERT(lchan_nr == 0); + if (lchan_nr != 0) + return -EINVAL; cbits = 0x10; break; } @@ -547,15 +552,23 @@ return chan_nr; } -uint8_t gsm_lchan2chan_nr(const struct gsm_lchan *lchan) +int gsm_lchan2chan_nr(const struct gsm_lchan *lchan) { + int rc; uint8_t lchan_nr = lchan->nr; /* The VAMOS lchans are behind the primary ones in the ts->lchan[] array. They keep their lchan->nr as in the * array, but on the wire they are the "shadow" lchans for the primary lchans. For example, for TCH/F, there is * a primary ts->lchan[0] and a VAMOS ts->lchan[1]. Still, the VAMOS lchan should send chan_nr = 0. */ if (lchan->vamos.is_secondary) lchan_nr -= lchan->ts->max_primary_lchans; - return gsm_pchan2chan_nr(lchan->ts->pchan_is, lchan->ts->nr, lchan_nr); + rc = gsm_pchan2chan_nr(lchan->ts->pchan_is, lchan->ts->nr, lchan_nr); + /* Log an error so that we don't need to add logging to each caller of this function */ + if (rc) + LOG_LCHAN(lchan, LOGL_ERROR, + "Error encoding Channel Number: pchan %s ts %u ss %u%s\n", + gsm_pchan_name(lchan->ts->pchan_from_config), lchan->ts->nr, lchan->nr, + lchan->vamos.is_secondary ? " (VAMOS shadow)" : ""); + return rc; } static const uint8_t subslots_per_pchan[] = { @@ -677,23 +690,40 @@ } } -void gsm48_lchan2chan_desc(struct gsm48_chan_desc *cd, - const struct gsm_lchan *lchan, - uint8_t tsc) +int gsm48_lchan2chan_desc(struct gsm48_chan_desc *cd, + const struct gsm_lchan *lchan, + uint8_t tsc) { - cd->chan_nr = gsm_lchan2chan_nr(lchan); + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) { + /* Log an error so that we don't need to add logging to each caller of this function */ + LOG_LCHAN(lchan, LOGL_ERROR, "Error encoding Channel Number\n"); + return chan_nr; + } + cd->chan_nr = chan_nr; _chan_desc_fill_tail(cd, lchan, tsc); + return 0; } /* like gsm48_lchan2chan_desc() above, but use ts->pchan_from_config to * return a channel description based on what is configured, rather than * what the current state of the pchan type is */ -void gsm48_lchan2chan_desc_as_configured(struct gsm48_chan_desc *cd, - const struct gsm_lchan *lchan, - uint8_t tsc) +int gsm48_lchan2chan_desc_as_configured(struct gsm48_chan_desc *cd, + const struct gsm_lchan *lchan, + uint8_t tsc) { - cd->chan_nr = gsm_pchan2chan_nr(lchan->ts->pchan_from_config, lchan->ts->nr, lchan->nr); + int chan_nr = gsm_pchan2chan_nr(lchan->ts->pchan_from_config, lchan->ts->nr, lchan->nr); + if (chan_nr < 0) { + /* Log an error so that we don't need to add logging to each caller of this function */ + LOG_LCHAN(lchan, LOGL_ERROR, + "Error encoding Channel Number: pchan %s ts %u ss %u%s (rc = %d)\n", + gsm_pchan_name(lchan->ts->pchan_from_config), lchan->ts->nr, lchan->nr, + lchan->vamos.is_secondary ? " (VAMOS shadow)" : "", chan_nr); + return chan_nr; + } + cd->chan_nr = chan_nr; _chan_desc_fill_tail(cd, lchan, tsc); + return 0; } uint8_t gsm_ts_tsc(const struct gsm_bts_trx_ts *ts) diff --git a/src/osmo-bsc/lcs_loc_req.c b/src/osmo-bsc/lcs_loc_req.c index ee85c91..94c4e3b 100644 --- a/src/osmo-bsc/lcs_loc_req.c +++ b/src/osmo-bsc/lcs_loc_req.c @@ -369,7 +369,10 @@ .cause = BSSLAP_CAUSE_INTRA_BSS_HO, }, }; - gsm48_lchan2chan_desc(&apdu->reset.chan_desc, lchan, lchan->tsc); + if (gsm48_lchan2chan_desc(&apdu->reset.chan_desc, lchan, lchan->tsc)) { + lcs_loc_req_fail(LCS_CAUSE_SYSTEM_FAILURE, "Error encoding Channel Number"); + return; + } } lcs_loc_req_send(lcs_loc_req, &bsslap); diff --git a/src/osmo-bsc/osmo_bsc_lcls.c b/src/osmo-bsc/osmo_bsc_lcls.c index 2c90d01..542bbf5 100644 --- a/src/osmo-bsc/osmo_bsc_lcls.c +++ b/src/osmo-bsc/osmo_bsc_lcls.c @@ -243,13 +243,19 @@ uint32_t ip = enable ? conn->lcls.other->lchan->abis_ip.bound_ip : lchan->abis_ip.connect_ip; /* RSL_IE_IPAC_REMOTE_PORT */ uint16_t port = enable ? conn->lcls.other->lchan->abis_ip.bound_port : lchan->abis_ip.connect_port; + struct msgb *msg; if (!conn->lcls.other) { LOGPFSM(conn->lcls.fi, "%s LCLS: other conn is not available!\n", enable ? "enable" : "disable"); return; } - abis_rsl_sendmsg(rsl_make_ipacc_mdcx(lchan, ip, port)); + msg = rsl_make_ipacc_mdcx(lchan, ip, port); + if (!msg) { + LOGPFSML(conn->lcls.fi, LOGL_ERROR, "Error encoding IPACC MDCX\n"); + return; + } + abis_rsl_sendmsg(msg); } static inline bool lcls_check_toggle_allowed(const struct gsm_subscriber_connection *conn, bool enable) diff --git a/src/osmo-bsc/system_information.c b/src/osmo-bsc/system_information.c index 21cbcae..e8b3b7d 100644 --- a/src/osmo-bsc/system_information.c +++ b/src/osmo-bsc/system_information.c @@ -1018,7 +1018,8 @@ struct gsm48_chan_desc cd; /* 10.5.2.5 (TV) CBCH Channel Description IE */ - gsm48_lchan2chan_desc_as_configured(&cd, cbch_lchan, gsm_ts_tsc(cbch_lchan->ts)); + if (gsm48_lchan2chan_desc_as_configured(&cd, cbch_lchan, gsm_ts_tsc(cbch_lchan->ts))) + return -EINVAL; tail = tv_fixed_put(tail, GSM48_IE_CBCH_CHAN_DESC, sizeof(cd), (uint8_t *) &cd); l2_plen += 1 + sizeof(cd); diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index e653920..b741e25 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -100,10 +100,11 @@ { struct msgb *msg = msgb_alloc_headroom(256, 64, "RSL"); struct abis_rsl_dchan_hdr *dh; - uint8_t chan_nr = gsm_lchan2chan_nr(lchan); uint8_t ulm[3], l1i[2], *buf; struct gsm48_hdr *gh; struct gsm48_meas_res *mr; + int chan_nr = gsm_lchan2chan_nr(lchan); + OSMO_ASSERT(chan_nr >= 0); dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); dh->c.msg_discr = ABIS_RSL_MDISC_DED_CHAN; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71ed6437c403a3f9336e17a94b4948fca295d853 Gerrit-Change-Number: 24524 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 Jun 2 21:50:34 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 2 Jun 2021 21:50:34 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode 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/+/24374 to look at the new patch set (#15). Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... implement Channel Mode Modify to VAMOS mode Related: SYS#5315 OS#4940 Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c --- 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/gsm_04_08_rr.c M src/osmo-bsc/lchan_fsm.c M tests/osmo-bsc.vty 6 files changed, 173 insertions(+), 40 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/74/24374/15 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 15 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 Wed Jun 2 21:50:34 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 2 Jun 2021 21:50:34 +0000 Subject: Change in osmo-bsc[master]: vty-test: osmo-bsc.vty: test doc of lchan activate cmd 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/+/24387 to look at the new patch set (#11). Change subject: vty-test: osmo-bsc.vty: test doc of lchan activate cmd ...................................................................... vty-test: osmo-bsc.vty: test doc of lchan activate cmd A subsequent patch will add to this VTY command, so let's first test the current status as a baseline. Change-Id: I6379e306fb8fa6ec227125c6cf14893d674e7596 --- M tests/osmo-bsc.vty 1 file changed, 56 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/87/24387/11 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6379e306fb8fa6ec227125c6cf14893d674e7596 Gerrit-Change-Number: 24387 Gerrit-PatchSet: 11 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 2 21:50:34 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 2 Jun 2021 21:50:34 +0000 Subject: Change in osmo-bsc[master]: implement CHANnel ACTIVate to VAMOS mode 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/osmo-bsc/+/24375 to look at the new patch set (#15). Change subject: implement CHANnel ACTIVate to VAMOS mode ...................................................................... implement CHANnel ACTIVate to VAMOS mode Related: SYS#5315 OS#4940 Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec --- 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 M tests/osmo-bsc.vty 5 files changed, 60 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/75/24375/15 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec Gerrit-Change-Number: 24375 Gerrit-PatchSet: 15 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter 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 Jun 2 23:08:44 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 2 Jun 2021 23:08:44 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses In-Reply-To: References: Message-ID: fixeria 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 1: (5 comments) Looks good in general, just some minor issues... https://gerrit.osmocom.org/c/osmo-bts/+/24513/1/src/common/abis.c File src/common/abis.c: https://gerrit.osmocom.org/c/osmo-bts/+/24513/1/src/common/abis.c at 252 PS1, Line 252: .timeout_msec = -1, /* infinite (until OS detects error) */ Looks like this change depends on I1c68185120fa2a6c9b6cb8aa2a25232a44ff5508? https://gerrit.osmocom.org/c/osmo-bts/+/24513/1/src/common/main.c File src/common/main.c: https://gerrit.osmocom.org/c/osmo-bts/+/24513/1/src/common/main.c at 402 PS1, Line 402: LOGP fprintf() -> LOGP() is unrelated, let's keep it consistent in this function. https://gerrit.osmocom.org/c/osmo-bts/+/24513/1/src/common/main.c at 419 PS1, Line 419: BSC I suggest to clarify which connection, because together with OML you also have RSL connections: "A-bis/OML connection establishment failed". Same above. https://gerrit.osmocom.org/c/osmo-bts/+/24513/1/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/24513/1/src/common/vty.c at 514 PS1, Line 514: /* Silently stop when the address is already in the list */ Any reason to tolerate duplicate entries? There may be copy-paste errors in the config file, and here we can help with detecting them by returning CMD_WARNING. https://gerrit.osmocom.org/c/osmo-bts/+/24513/1/src/common/vty.c at 543 PS1, Line 543: if (bsc_oml_host_del) { Same here, removing a non-existing entry should be considered an error. -- 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: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 02 Jun 2021 23:08: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 Jun 2 23:13:08 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 2 Jun 2021 23:13:08 +0000 Subject: Change in libosmo-abis[master]: ipa: add optional connect timeout to ipa_client_conn_open In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24514 ) Change subject: ipa: add optional connect timeout to ipa_client_conn_open ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmo-abis/+/24514/1/src/input/ipa.c File src/input/ipa.c: https://gerrit.osmocom.org/c/libosmo-abis/+/24514/1/src/input/ipa.c at 233 PS1, Line 233: ws -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I7bc4345876e3c20266985270d0ddfa770437a053 Gerrit-Change-Number: 24514 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 02 Jun 2021 23:13: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 Wed Jun 2 23:37:49 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 2 Jun 2021 23:37:49 +0000 Subject: Change in libosmocore[master]: fsm: cosmetic: fix weird spacing in osmo_fsm_inst_alloc() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24525 ) Change subject: fsm: cosmetic: fix weird spacing in osmo_fsm_inst_alloc() ...................................................................... fsm: cosmetic: fix weird spacing in osmo_fsm_inst_alloc() Change-Id: I199085e717c6ebdc9061a0c9fa9a96bfbc11a74a --- M src/fsm.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/25/24525/1 diff --git a/src/fsm.c b/src/fsm.c index f1dbb41..8f7ff1a 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -450,8 +450,8 @@ osmo_timer_setup(&fi->timer, fsm_tmr_cb, fi); if (osmo_fsm_inst_update_id(fi, id) < 0) { - fsm_free_or_steal(fi); - return NULL; + fsm_free_or_steal(fi); + return NULL; } INIT_LLIST_HEAD(&fi->proc.children); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I199085e717c6ebdc9061a0c9fa9a96bfbc11a74a Gerrit-Change-Number: 24525 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 Jun 3 01:04:50 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 3 Jun 2021 01:04:50 +0000 Subject: Change in osmo-bts[master]: trx_sched_is_sacch_fn(): fix handling of dynamic timeslots References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24526 ) Change subject: trx_sched_is_sacch_fn(): fix handling of dynamic timeslots ...................................................................... trx_sched_is_sacch_fn(): fix handling of dynamic timeslots There is no GSM_PCHAN_TCH_F{_TCH_H}_PDCH in trx_sched_multiframes[], so find_sched_mframe_idx() would always return -1 for these. Fix this by using ts_pchan(), which returns currently active pchan type. Change-Id: Ia5e337e897b595e7de6e504664c969b583cc02a1 --- M src/common/scheduler_mframe.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/26/24526/1 diff --git a/src/common/scheduler_mframe.c b/src/common/scheduler_mframe.c index b969407..f6476ec 100644 --- a/src/common/scheduler_mframe.c +++ b/src/common/scheduler_mframe.c @@ -1007,7 +1007,7 @@ const struct trx_sched_frame *frame; enum trx_chan_type ch_type; - i = find_sched_mframe_idx(ts->pchan, ts->nr); + i = find_sched_mframe_idx(ts_pchan(ts), ts->nr); if (i < 0) return -EINVAL; sched = &trx_sched_multiframes[i]; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia5e337e897b595e7de6e504664c969b583cc02a1 Gerrit-Change-Number: 24526 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 Jun 3 01:04:51 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 3 Jun 2021 01:04:51 +0000 Subject: Change in osmo-bts[master]: measurement: remove over-defensive checks in is_meas_complete() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24527 ) Change subject: measurement: remove over-defensive checks in is_meas_complete() ...................................................................... measurement: remove over-defensive checks in is_meas_complete() The timeslot number ts->nr is set in gsm_bts_trx_alloc() and can never be greater than 7. Regarding the physical channel type returned by ts_pchan(), it's also unlikely to be greater than _GSM_PCHAN_MAX. Change-Id: I6d20d7cba49cc8b6d1dc2192598ca372b7d2c5bf --- M src/common/measurement.c 1 file changed, 0 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/27/24527/1 diff --git a/src/common/measurement.c b/src/common/measurement.c index 03afaa3..b586987 100644 --- a/src/common/measurement.c +++ b/src/common/measurement.c @@ -250,11 +250,6 @@ int rc = 0; enum gsm_phys_chan_config pchan = ts_pchan(lchan->ts); - if (lchan->ts->nr >= 8) - return -EINVAL; - if (pchan >= _GSM_PCHAN_MAX) - return -EINVAL; - switch (pchan) { case GSM_PCHAN_TCH_F: fn_mod = translate_tch_meas_rep_fn104(fn % 104); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6d20d7cba49cc8b6d1dc2192598ca372b7d2c5bf Gerrit-Change-Number: 24527 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 Jun 3 01:09:37 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 3 Jun 2021 01:09:37 +0000 Subject: Change in osmo-bts[master]: measurement: remove over-defensive checks in is_meas_complete() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24527 ) Change subject: measurement: remove over-defensive checks in is_meas_complete() ...................................................................... Patch Set 1: We may want to back-port this change to the latest release and/or 2021q1. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6d20d7cba49cc8b6d1dc2192598ca372b7d2c5bf Gerrit-Change-Number: 24527 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 03 Jun 2021 01:09: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 Jun 3 01:10:17 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 3 Jun 2021 01:10:17 +0000 Subject: Change in osmo-bts[master]: measurement: remove over-defensive checks in is_meas_complete() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24527 ) Change subject: measurement: remove over-defensive checks in is_meas_complete() ...................................................................... Patch Set 1: > Patch Set 1: > > We may want to back-port this change to the latest release and/or 2021q1. Nevermind, I actually meant the previous change in this patchset. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6d20d7cba49cc8b6d1dc2192598ca372b7d2c5bf Gerrit-Change-Number: 24527 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 03 Jun 2021 01:10: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 Thu Jun 3 01:12:40 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 3 Jun 2021 01:12:40 +0000 Subject: Change in osmo-bts[master]: trx_sched_is_sacch_fn(): fix handling of dynamic timeslots In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24526 ) Change subject: trx_sched_is_sacch_fn(): fix handling of dynamic timeslots ...................................................................... Patch Set 1: We may want to back-port this change to the latest release and/or 2021q1, because this affects measurement handling for all other osmo-bts-variants. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia5e337e897b595e7de6e504664c969b583cc02a1 Gerrit-Change-Number: 24526 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 03 Jun 2021 01:12: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 Thu Jun 3 02:46:34 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 3 Jun 2021 02:46:34 +0000 Subject: Change in osmo-bts[master]: [VAMOS] Implement the concept of 'shadow' timeslots In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24153 ) Change subject: [VAMOS] Implement the concept of 'shadow' timeslots ...................................................................... Patch Set 12: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24153 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I48b44b4df9ffb1cca105aebbd868c29b21f3b1d6 Gerrit-Change-Number: 24153 Gerrit-PatchSet: 12 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 02:46:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 02:55:32 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 3 Jun 2021 02:55:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU_Tests: new test case TC_ta_ul_ack_nack_first_block() 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-ttcn3-hacks/+/24417 to look at the new patch set (#2). Change subject: PCU_Tests: new test case TC_ta_ul_ack_nack_first_block() ...................................................................... PCU_Tests: new test case TC_ta_ul_ack_nack_first_block() In a busy network, there can be a significant delay between resource allocation (Packet Uplink Assignment above) and the actual time when the MS is allowed to transmit the first Uplink data block. Verify Timing Advance value indicated in Packet Uplink ACK/NACK message sent in response to the first Uplink block after resource allocation. Change-Id: I30f82c51b3e9a167af4dbce3e74697dd79ff15bf --- M pcu/PCU_Tests.ttcn 1 file changed, 54 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/17/24417/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I30f82c51b3e9a167af4dbce3e74697dd79ff15bf Gerrit-Change-Number: 24417 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 02:58:08 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 3 Jun 2021 02:58:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests.cfg: also execute LAPDm related test cases References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24528 ) Change subject: BTS_Tests.cfg: also execute LAPDm related test cases ...................................................................... BTS_Tests.cfg: also execute LAPDm related test cases Change-Id: If632fdd740634e4e115e4aea56940033b18f5736 --- M bts/BTS_Tests.cfg 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/28/24528/1 diff --git a/bts/BTS_Tests.cfg b/bts/BTS_Tests.cfg index 4b6e6ca..aaffbf6 100644 --- a/bts/BTS_Tests.cfg +++ b/bts/BTS_Tests.cfg @@ -37,4 +37,5 @@ [EXECUTE] BTS_Tests.control BTS_Tests_SMSCB.control +BTS_Tests_LAPDm.control BTS_Tests_VAMOS.control -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If632fdd740634e4e115e4aea56940033b18f5736 Gerrit-Change-Number: 24528 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 Jun 3 03:03:19 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 3 Jun 2021 03:03:19 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/BTS_Tests.cfg: execute VAMOS specific test cases References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/24529 ) Change subject: ttcn3-bts-test/BTS_Tests.cfg: execute VAMOS specific test cases ...................................................................... ttcn3-bts-test/BTS_Tests.cfg: execute VAMOS specific test cases Change-Id: I421f6ce5b689cd221f000043fcc0f5985e266e95 Related: SYS#4895, OS#4941 --- 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/29/24529/1 diff --git a/ttcn3-bts-test/BTS_Tests.cfg b/ttcn3-bts-test/BTS_Tests.cfg index a899b5c..4e1d2bf 100644 --- a/ttcn3-bts-test/BTS_Tests.cfg +++ b/ttcn3-bts-test/BTS_Tests.cfg @@ -22,3 +22,4 @@ BTS_Tests.control BTS_Tests_SMSCB.control BTS_Tests_LAPDm.control +BTS_Tests_VAMOS.control -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I421f6ce5b689cd221f000043fcc0f5985e266e95 Gerrit-Change-Number: 24529 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 Jun 3 03:08:38 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 3 Jun 2021 03:08:38 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-omldummy: allocate shadow timeslots In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24155 to look at the new patch set (#5). Change subject: [VAMOS] osmo-bts-omldummy: allocate shadow timeslots ...................................................................... [VAMOS] osmo-bts-omldummy: allocate shadow timeslots Change-Id: I4aa9a8bb35bd828d6f25d5690297e727dace5974 Related: SYS#4895, OS#4941, SYS#5316, OS#4940 --- M src/osmo-bts-omldummy/main.c 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/55/24155/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24155 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4aa9a8bb35bd828d6f25d5690297e727dace5974 Gerrit-Change-Number: 24155 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter 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 Jun 3 03:15:45 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 3 Jun 2021 03:15:45 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: schedule bursts on 'shadow' timeslots In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24440 ) Change subject: [VAMOS] osmo-bts-trx: schedule bursts on 'shadow' timeslots ...................................................................... Patch Set 4: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3e0bdf8c03273f66991aa1764029ab1dd3528d7e Gerrit-Change-Number: 24440 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 03:15:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 03:33:11 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 3 Jun 2021 03:33:11 +0000 Subject: Change in libosmocore[master]: gsm_08_58.h: add mask for Osmocom specific VAMOS C-bits In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24507 ) Change subject: gsm_08_58.h: add mask for Osmocom specific VAMOS C-bits ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24507/2/include/osmocom/gsm/protocol/gsm_08_58.h File include/osmocom/gsm/protocol/gsm_08_58.h: https://gerrit.osmocom.org/c/libosmocore/+/24507/2/include/osmocom/gsm/protocol/gsm_08_58.h at 465 PS2, Line 465: #define RSL_CHAN_OSMO_VAMOS_MASK 0xe0 /* VAMOS TCH/{F,H} */ > this mask also includes 0b11100xxx, but we only use 0b11101xxx to 0b11111xxx for VAMOS. You're right, but I don't think it's really that critical. > #define RSL_CHAN_IS_OSMO_VAMOS(chan_nr) ((chan_nr) >= 0xe8) Actually, in osmo-bts I don't even use this mask to check whether chan_nr is VAMOS. In most cases I know this from the internal structures. What I need is a quick and convenient way to set or unset the 3 MSB bits, and this approach works best. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24507 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia0bd8695a3f12331b696fe69117189cdd48b584d Gerrit-Change-Number: 24507 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Thu, 03 Jun 2021 03:33:11 +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 Jun 3 03:33:27 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 3 Jun 2021 03:33:27 +0000 Subject: Change in libosmocore[master]: gsm_08_58.h: add mask for Osmocom specific VAMOS C-bits In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24507 ) Change subject: gsm_08_58.h: add mask for Osmocom specific VAMOS C-bits ...................................................................... gsm_08_58.h: add mask for Osmocom specific VAMOS C-bits Applying and reverting this mask allows one to quickly convert between VAMOS and non-VAMOS variants of Bm/Lm C-bits. Change-Id: Ia0bd8695a3f12331b696fe69117189cdd48b584d Related: SYS#4895, OS#4941, SYS#5315, OS#4940 --- M include/osmocom/gsm/protocol/gsm_08_58.h 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/gsm/protocol/gsm_08_58.h b/include/osmocom/gsm/protocol/gsm_08_58.h index 9a6e761..a03b199 100644 --- a/include/osmocom/gsm/protocol/gsm_08_58.h +++ b/include/osmocom/gsm/protocol/gsm_08_58.h @@ -462,6 +462,7 @@ /* non-standard, Osmocom specific Bm/Lm equivalents for VAMOS */ #define RSL_CHAN_OSMO_VAMOS_Bm_ACCHs 0xe8 /* VAMOS TCH/F */ #define RSL_CHAN_OSMO_VAMOS_Lm_ACCHs 0xf0 /* VAMOS TCH/H */ +#define RSL_CHAN_OSMO_VAMOS_MASK 0xe0 /* VAMOS TCH/{F,H} */ /* Chapter 9.3.3 */ #define RSL_ACT_TYPE_INITIAL 0x00 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24507 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia0bd8695a3f12331b696fe69117189cdd48b584d Gerrit-Change-Number: 24507 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Thu Jun 3 05:20:15 2021 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Thu, 3 Jun 2021 05:20:15 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_mast?= =?UTF-8?Q?er-osmo-asf4-dfu_=C2=BB_a1=3Ddefault,?= =?UTF-8?Q?a2=3Ddefault,a3=3Ddefault,a4=3Ddefau?= =?UTF-8?Q?lt,osmocom-master-debian9_#888?= Message-ID: <460408584.2278.1622697616055@jenkins.osmocom.org> See Changes: ------------------------------------------ [...truncated 49.01 KB...] Building file: ../hpl/dmac/hpl_dmac.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "hpl/dmac/hpl_dmac.d" -MT"hpl/dmac/hpl_dmac.d" -MT"hpl/dmac/hpl_dmac.o" -o "hpl/dmac/hpl_dmac.o" "../hpl/dmac/hpl_dmac.c" Finished building: ../hal/src/hal_io.c Building file: ../hpl/nvmctrl/hpl_nvmctrl.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "hpl/nvmctrl/hpl_nvmctrl.d" -MT"hpl/nvmctrl/hpl_nvmctrl.d" -MT"hpl/nvmctrl/hpl_nvmctrl.o" -o "hpl/nvmctrl/hpl_nvmctrl.o" "../hpl/nvmctrl/hpl_nvmctrl.c" Finished building: ../usb/class/dfu/device/dfudf.c Building file: ../gcc/system_same54.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "gcc/system_same54.d" -MT"gcc/system_same54.d" -MT"gcc/system_same54.o" -o "gcc/system_same54.o" "../gcc/system_same54.c" Finished building: ../hpl/core/hpl_core_m4.c Building file: ../hpl/usb/hpl_usb.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "hpl/usb/hpl_usb.d" -MT"hpl/usb/hpl_usb.d" -MT"hpl/usb/hpl_usb.o" -o "hpl/usb/hpl_usb.o" "../hpl/usb/hpl_usb.c" Finished building: ../hpl/dmac/hpl_dmac.c Building file: ../hal/src/hal_delay.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "hal/src/hal_delay.d" -MT"hal/src/hal_delay.d" -MT"hal/src/hal_delay.o" -o "hal/src/hal_delay.o" "../hal/src/hal_delay.c" Finished building: ../gcc/system_same54.c Building file: ../hpl/pm/hpl_pm.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "hpl/pm/hpl_pm.d" -MT"hpl/pm/hpl_pm.d" -MT"hpl/pm/hpl_pm.o" -o "hpl/pm/hpl_pm.o" "../hpl/pm/hpl_pm.c" Finished building: ../hal/src/hal_delay.c Building file: ../hpl/core/hpl_init.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "hpl/core/hpl_init.d" -MT"hpl/core/hpl_init.d" -MT"hpl/core/hpl_init.o" -o "hpl/core/hpl_init.o" "../hpl/core/hpl_init.c" Finished building: ../hpl/nvmctrl/hpl_nvmctrl.c Building file: ../hpl/gclk/hpl_gclk.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "hpl/gclk/hpl_gclk.d" -MT"hpl/gclk/hpl_gclk.d" -MT"hpl/gclk/hpl_gclk.o" -o "hpl/gclk/hpl_gclk.o" "../hpl/gclk/hpl_gclk.c" Finished building: ../hpl/pm/hpl_pm.c Building file: ../hal/utils/src/utils_list.c ARM/GNU C Compiler Finished building: ../hpl/usb/hpl_usb.c "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "hal/utils/src/utils_list.d" -MT"hal/utils/src/utils_list.d" -MT"hal/utils/src/utils_list.o" -o "hal/utils/src/utils_list.o" "../hal/utils/src/utils_list.c" Building file: ../hal/utils/src/utils_assert.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "hal/utils/src/utils_assert.d" -MT"hal/utils/src/utils_assert.d" -MT"hal/utils/src/utils_assert.o" -o "hal/utils/src/utils_assert.o" "../hal/utils/src/utils_assert.c" Finished building: ../hpl/core/hpl_init.c Building file: ../usb_start.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "usb_start.d" -MT"usb_start.d" -MT"usb_start.o" -o "usb_start.o" "../usb_start.c" Finished building: ../hpl/gclk/hpl_gclk.c Building file: ../hpl/oscctrl/hpl_oscctrl.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "hpl/oscctrl/hpl_oscctrl.d" -MT"hpl/oscctrl/hpl_oscctrl.d" -MT"hpl/oscctrl/hpl_oscctrl.o" -o "hpl/oscctrl/hpl_oscctrl.o" "../hpl/oscctrl/hpl_oscctrl.c" Finished building: ../hal/utils/src/utils_assert.c Building file: ../hpl/mclk/hpl_mclk.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "hpl/mclk/hpl_mclk.d" -MT"hpl/mclk/hpl_mclk.d" -MT"hpl/mclk/hpl_mclk.o" -o "hpl/mclk/hpl_mclk.o" "../hpl/mclk/hpl_mclk.c" Finished building: ../hal/utils/src/utils_list.c Building file: ../hpl/ramecc/hpl_ramecc.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "hpl/ramecc/hpl_ramecc.d" -MT"hpl/ramecc/hpl_ramecc.d" -MT"hpl/ramecc/hpl_ramecc.o" -o "hpl/ramecc/hpl_ramecc.o" "../hpl/ramecc/hpl_ramecc.c" Finished building: ../usb_start.c Building file: ../usb/usb_protocol.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "usb/usb_protocol.d" -MT"usb/usb_protocol.d" -MT"usb/usb_protocol.o" -o "usb/usb_protocol.o" "../usb/usb_protocol.c" Finished building: ../hpl/oscctrl/hpl_oscctrl.c Building file: ../hal/src/hal_flash.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "hal/src/hal_flash.d" -MT"hal/src/hal_flash.d" -MT"hal/src/hal_flash.o" -o "hal/src/hal_flash.o" "../hal/src/hal_flash.c" Finished building: ../hpl/mclk/hpl_mclk.c Building file: ../hal/src/hal_init.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "hal/src/hal_init.d" -MT"hal/src/hal_init.d" -MT"hal/src/hal_init.o" -o "hal/src/hal_init.o" "../hal/src/hal_init.c" Finished building: ../hpl/ramecc/hpl_ramecc.c Building file: ../gcc/gcc/startup_same54.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "gcc/gcc/startup_same54.d" -MT"gcc/gcc/startup_same54.d" -MT"gcc/gcc/startup_same54.o" -o "gcc/gcc/startup_same54.o" "../gcc/gcc/startup_same54.c" Finished building: ../gcc/gcc/startup_same54.c Building file: ../hal/src/hal_usb_device.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "hal/src/hal_usb_device.d" -MT"hal/src/hal_usb_device.d" -MT"hal/src/hal_usb_device.o" -o "hal/src/hal_usb_device.o" "../hal/src/hal_usb_device.c" Finished building: ../usb/usb_protocol.c Building file: ../hpl/osc32kctrl/hpl_osc32kctrl.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "hpl/osc32kctrl/hpl_osc32kctrl.d" -MT"hpl/osc32kctrl/hpl_osc32kctrl.d" -MT"hpl/osc32kctrl/hpl_osc32kctrl.o" -o "hpl/osc32kctrl/hpl_osc32kctrl.o" "../hpl/osc32kctrl/hpl_osc32kctrl.c" Finished building: ../hal/src/hal_flash.c Building file: ../driver_init.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "driver_init.d" -MT"driver_init.d" -MT"driver_init.o" -o "driver_init.o" "../driver_init.c" Finished building: ../hal/src/hal_init.c Building file: ../hal/src/hal_gpio.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "hal/src/hal_gpio.d" -MT"hal/src/hal_gpio.d" -MT"hal/src/hal_gpio.o" -o "hal/src/hal_gpio.o" "../hal/src/hal_gpio.c" Finished building: ../hal/src/hal_usb_device.c Building file: ../hal/utils/src/utils_event.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "hal/utils/src/utils_event.d" -MT"hal/utils/src/utils_event.d" -MT"hal/utils/src/utils_event.o" -o "hal/utils/src/utils_event.o" "../hal/utils/src/utils_event.c" Finished building: ../hpl/osc32kctrl/hpl_osc32kctrl.c Building file: ../hal/src/hal_sleep.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "hal/src/hal_sleep.d" -MT"hal/src/hal_sleep.d" -MT"hal/src/hal_sleep.o" -o "hal/src/hal_sleep.o" "../hal/src/hal_sleep.c" Finished building: ../hal/src/hal_gpio.c Finished building: ../driver_init.c Building file: ../hal/src/hal_cache.c Building file: ../hpl/cmcc/hpl_cmcc.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "hal/src/hal_cache.d" -MT"hal/src/hal_cache.d" -MT"hal/src/hal_cache.o" -o "hal/src/hal_cache.o" "../hal/src/hal_cache.c" ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "hpl/cmcc/hpl_cmcc.d" -MT"hpl/cmcc/hpl_cmcc.d" -MT"hpl/cmcc/hpl_cmcc.o" -o "hpl/cmcc/hpl_cmcc.o" "../hpl/cmcc/hpl_cmcc.c" Finished building: ../hal/utils/src/utils_event.c Building file: ../atmel_start.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "atmel_start.d" -MT"atmel_start.d" -MT"atmel_start.o" -o "atmel_start.o" "../atmel_start.c" Finished building: ../hal/src/hal_sleep.c Building file: ../usb_dfu_main.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "usb_dfu_main.d" -MT"usb_dfu_main.d" -MT"usb_dfu_main.o" -o "usb_dfu_main.o" "../usb_dfu_main.c" Finished building: ../hal/src/hal_cache.c Building file: ../usb/device/usbdc.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "usb/device/usbdc.d" -MT"usb/device/usbdc.d" -MT"usb/device/usbdc.o" -o "usb/device/usbdc.o" "../usb/device/usbdc.c" Finished building: ../hpl/cmcc/hpl_cmcc.c Building file: ../hal/src/hal_atomic.c ARM/GNU C Compiler "arm-none-eabi-gcc" -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54P20A__ -DSYSMOOCTSIM -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -I"../" -I"../config" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/nvmctrl" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/dfu" -I"../usb/class/dfu/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "hal/src/hal_atomic.d" -MT"hal/src/hal_atomic.d" -MT"hal/src/hal_atomic.o" -o "hal/src/hal_atomic.o" "../hal/src/hal_atomic.c" Finished building: ../atmel_start.c Finished building: ../usb_dfu_main.c Finished building: ../hal/src/hal_atomic.c Finished building: ../usb/device/usbdc.c Building target: bootloader-sysmooctsim-0.1.8-b932.elf Invoking: ARM/GNU Linker "arm-none-eabi-gcc" -o bootloader-sysmooctsim-0.1.8-b932.elf "hal/src/hal_io.o" "hpl/core/hpl_core_m4.o" "usb/class/dfu/device/dfudf.o" "hal/utils/src/utils_syscalls.o" "hpl/dmac/hpl_dmac.o" "hpl/nvmctrl/hpl_nvmctrl.o" "gcc/system_same54.o" "hpl/usb/hpl_usb.o" "hal/src/hal_delay.o" "hpl/pm/hpl_pm.o" "hpl/core/hpl_init.o" "hpl/gclk/hpl_gclk.o" "hal/utils/src/utils_list.o" "hal/utils/src/utils_assert.o" "usb_start.o" "hpl/oscctrl/hpl_oscctrl.o" "hpl/mclk/hpl_mclk.o" "hpl/ramecc/hpl_ramecc.o" "usb/usb_protocol.o" "hal/src/hal_flash.o" "hal/src/hal_init.o" "gcc/gcc/startup_same54.o" "hal/src/hal_usb_device.o" "hpl/osc32kctrl/hpl_osc32kctrl.o" "driver_init.o" "hal/src/hal_gpio.o" "hal/utils/src/utils_event.o" "hal/src/hal_sleep.o" "hal/src/hal_cache.o" "hpl/cmcc/hpl_cmcc.o" "atmel_start.o" "usb_dfu_main.o" "usb/device/usbdc.o" "hal/src/hal_atomic.o" -Wl,--start-group -lm -Wl,--end-group -mthumb \ -Wl,-Map="bootloader-sysmooctsim-0.1.8-b932.map" --specs=nano.specs -Wl,--gc-sections -mcpu=cortex-m4 \ \ -T"../gcc/gcc/same54p20a_flash.ld" \ -L"../gcc/gcc" Finished building target: bootloader-sysmooctsim-0.1.8-b932.elf "arm-none-eabi-objcopy" -O binary "bootloader-sysmooctsim-0.1.8-b932.elf" "bootloader-sysmooctsim-0.1.8-b932.bin" "arm-none-eabi-objcopy" -O ihex -R .eeprom -R .fuse -R .lock -R .signature \ "bootloader-sysmooctsim-0.1.8-b932.elf" "bootloader-sysmooctsim-0.1.8-b932.hex" "arm-none-eabi-objcopy" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma \ .eeprom=0 --no-change-warnings -O binary "bootloader-sysmooctsim-0.1.8-b932.elf" \ "bootloader-sysmooctsim-0.1.8-b932.eep" || exit 0 "arm-none-eabi-objdump" -h -S "bootloader-sysmooctsim-0.1.8-b932.elf" > "bootloader-sysmooctsim-0.1.8-b932.lss" "arm-none-eabi-size" "bootloader-sysmooctsim-0.1.8-b932.elf" text data bss dec hex filename 10816 252 66464 77532 12edc bootloader-sysmooctsim-0.1.8-b932.elf ln -sf bootloader-sysmooctsim-0.1.8-b932.bin bootloader-sysmooctsim.bin ln -sf bootloader-sysmooctsim-0.1.8-b932.elf bootloader-sysmooctsim.elf =============== UPLOAD BUILD ============== + '[' x--publish = x--publish ']' + echo + echo '=============== UPLOAD BUILD ==============' + cat + SSH_COMMAND='ssh -o '\''UserKnownHostsFile=/build/known_hosts'\'' -p 48' + rsync --archive --copy-links --verbose --compress --delete --rsh 'ssh -o '\''UserKnownHostsFile=/build/known_hosts'\'' -p 48' /build/gcc/bootloader-sysmooctsim.bin /build/gcc/bootloader-sysmooctsim.elf binaries at ftp.osmocom.org:web-files/osmo-asf4-dfu/latest/ Warning: Permanently added the ECDSA host key for IP address '[148.251.236.141]:48' to the list of known hosts. sending incremental file list bootloader-sysmooctsim.bin bootloader-sysmooctsim.elf rsync: write failed on "/downloads/home/binaries/web-files/osmo-asf4-dfu/latest/bootloader-sysmooctsim.elf": No space left on device (28) rsync error: error in file IO (code 11) at receiver.c(374) [receiver=3.1.3] Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Thu Jun 3 06:53:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 06:53:23 +0000 Subject: Change in simtrace2[master]: assert: Use printf_sync() to ensure printing of assert / panic In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24510 ) Change subject: assert: Use printf_sync() to ensure printing of assert / panic ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24510 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Icc202e60445d9be1cdcd61176db5ed1704d583e7 Gerrit-Change-Number: 24510 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 03 Jun 2021 06:53: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 Jun 3 06:53:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 06:53:33 +0000 Subject: Change in simtrace2[master]: Add usb product ID of sysmoOCTSIMTEST In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24511 ) Change subject: Add usb product ID of sysmoOCTSIMTEST ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I65839be50ac896c76f34755fb2800f836f6cdae4 Gerrit-Change-Number: 24511 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 03 Jun 2021 06:53: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 Jun 3 06:53:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 06:53:39 +0000 Subject: Change in simtrace2[master]: octsimtest: remove lots of unused #defines In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24519 ) Change subject: octsimtest: remove lots of unused #defines ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I43e8631d945ba183a1e5b1e37dd4565adb377154 Gerrit-Change-Number: 24519 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 03 Jun 2021 06:53: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 Jun 3 06:53:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 06:53:52 +0000 Subject: Change in simtrace2[master]: octsimtest: most code for support of this new board In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24520 ) Change subject: octsimtest: most code for support of this new board ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I7e03e0c0f2999a1ce2dad966d98e22033fa58465 Gerrit-Change-Number: 24520 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 03 Jun 2021 06:53: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 Jun 3 06:54:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 06:54:08 +0000 Subject: Change in simtrace2[master]: octsimtest: Switch direction of I/O level shifter depending on uart t... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24521 ) Change subject: octsimtest: Switch direction of I/O level shifter depending on uart tx / rx ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I44171363b5bd69d6049b12c86f8143be83557cb2 Gerrit-Change-Number: 24521 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 03 Jun 2021 06:54: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 Jun 3 06:54:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 06:54:19 +0000 Subject: Change in simtrace2[master]: cardem-pcsc: initialize libosmocore logging In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24522 ) Change subject: cardem-pcsc: initialize libosmocore logging ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I815d39190e944d9512ffc8e5f581515d7be9834f Gerrit-Change-Number: 24522 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 03 Jun 2021 06:54: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 Jun 3 06:54:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 06:54:32 +0000 Subject: Change in simtrace2[master]: assert: Use printf_sync() to ensure printing of assert / panic In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24510 ) Change subject: assert: Use printf_sync() to ensure printing of assert / panic ...................................................................... assert: Use printf_sync() to ensure printing of assert / panic Change-Id: Icc202e60445d9be1cdcd61176db5ed1704d583e7 --- M firmware/libcommon/include/assert.h M firmware/libosmocore/source/panic.c M firmware/test/card_emu_tests.c 3 files changed, 16 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/firmware/libcommon/include/assert.h b/firmware/libcommon/include/assert.h index 22bb101..dc6b1b5 100644 --- a/firmware/libcommon/include/assert.h +++ b/firmware/libcommon/include/assert.h @@ -89,7 +89,7 @@ /// \param condition Condition to verify. #define ASSERT(condition) { \ if (!(condition)) { \ - printf("-F- ASSERT: %s %s:%d\n\r", #condition, __BASE_FILE__, __LINE__); \ + printf_sync("-F- ASSERT: %s %s:%d\n\r", #condition, __BASE_FILE__, __LINE__); \ while (1); \ } \ } diff --git a/firmware/libosmocore/source/panic.c b/firmware/libosmocore/source/panic.c index 74243b0..db5c26a 100644 --- a/firmware/libosmocore/source/panic.c +++ b/firmware/libosmocore/source/panic.c @@ -46,7 +46,7 @@ __attribute__ ((format (printf, 1, 0))) static void osmo_panic_default(const char *fmt, va_list args) { - vfprintf(stderr, fmt, args); + vfprintf_sync(stderr, fmt, args); osmo_generate_backtrace(); assert(0); } diff --git a/firmware/test/card_emu_tests.c b/firmware/test/card_emu_tests.c index 69159a8..5d5bd3e 100644 --- a/firmware/test/card_emu_tests.c +++ b/firmware/test/card_emu_tests.c @@ -13,6 +13,20 @@ #define PHONE_INT 2 #define PHONE_DATAOUT 3 +/* stub for stdio */ +signed int printf_sync(const char *pFormat, ...) +{ + va_list ap; + signed int result; + + va_start(ap, pFormat); + result = vprintf(pFormat, ap); + va_end(ap); + + return result; +} + + /*********************************************************************** * stub functions required by card_emu.c ***********************************************************************/ -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24510 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Icc202e60445d9be1cdcd61176db5ed1704d583e7 Gerrit-Change-Number: 24510 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 06:54:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 06:54:33 +0000 Subject: Change in simtrace2[master]: Add usb product ID of sysmoOCTSIMTEST In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24511 ) Change subject: Add usb product ID of sysmoOCTSIMTEST ...................................................................... Add usb product ID of sysmoOCTSIMTEST This is a custom board for production testing of the sysmoOCTSIM, an 8-slot smart card reader. Change-Id: I65839be50ac896c76f34755fb2800f836f6cdae4 --- M firmware/libboard/octsimtest/include/board.h M firmware/libcommon/include/simtrace_usb.h M host/lib/usb_util.c 3 files changed, 4 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/libboard/octsimtest/include/board.h b/firmware/libboard/octsimtest/include/board.h index 2e0f3c4..2b8e7bf 100644 --- a/firmware/libboard/octsimtest/include/board.h +++ b/firmware/libboard/octsimtest/include/board.h @@ -149,9 +149,9 @@ /* OpenMoko SIMtrace 2 USB vendor ID */ #define BOARD_USB_VENDOR_ID USB_VENDOR_OPENMOKO /* OpenMoko SIMtrace 2 USB product ID (main application/runtime mode) */ -#define BOARD_USB_PRODUCT_ID USB_PRODUCT_SIMTRACE2 +#define BOARD_USB_PRODUCT_ID USB_PRODUCT_OCTSIMTEST /* OpenMoko SIMtrace 2 DFU USB product ID (DFU bootloader/DFU mode) */ -#define BOARD_DFU_USB_PRODUCT_ID USB_PRODUCT_SIMTRACE2_DFU +#define BOARD_DFU_USB_PRODUCT_ID USB_PRODUCT_OCTSIMTEST /* USB release number (bcdDevice, shown as 0.00) */ #define BOARD_USB_RELEASE 0x000 /* Indicate SIMtrace is bus power in USB attributes */ diff --git a/firmware/libcommon/include/simtrace_usb.h b/firmware/libcommon/include/simtrace_usb.h index be2da9f..a232ac5 100644 --- a/firmware/libcommon/include/simtrace_usb.h +++ b/firmware/libcommon/include/simtrace_usb.h @@ -25,6 +25,7 @@ #define USB_PRODUCT_QMOD_SAM3 0x4004 #define USB_PRODUCT_SIMTRACE2_DFU 0x60e3 /* was 0x60e2 */ #define USB_PRODUCT_SIMTRACE2 0x60e3 +#define USB_PRODUCT_OCTSIMTEST 0x616d /* USB proprietary class */ #define USB_CLASS_PROPRIETARY 0xff diff --git a/host/lib/usb_util.c b/host/lib/usb_util.c index 7599991..4d3b2b9 100644 --- a/host/lib/usb_util.c +++ b/host/lib/usb_util.c @@ -32,5 +32,6 @@ { USB_VENDOR_OPENMOKO, USB_PRODUCT_OWHW_SAM3 }, { USB_VENDOR_OPENMOKO, USB_PRODUCT_QMOD_SAM3 }, { USB_VENDOR_OPENMOKO, USB_PRODUCT_SIMTRACE2 }, + { USB_VENDOR_OPENMOKO, USB_PRODUCT_OCTSIMTEST }, { 0, 0 } }; -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I65839be50ac896c76f34755fb2800f836f6cdae4 Gerrit-Change-Number: 24511 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 06:54:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 06:54:34 +0000 Subject: Change in simtrace2[master]: octsimtest: remove lots of unused #defines In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24519 ) Change subject: octsimtest: remove lots of unused #defines ...................................................................... octsimtest: remove lots of unused #defines The octsimtest board only supports cardem mode, not 'ccid' nor 'sniffer'. Remove related GPIO pin #defines from board.h Change-Id: I43e8631d945ba183a1e5b1e37dd4565adb377154 --- M firmware/libboard/octsimtest/include/board.h 1 file changed, 0 insertions(+), 55 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/libboard/octsimtest/include/board.h b/firmware/libboard/octsimtest/include/board.h index 2b8e7bf..a267f0f 100644 --- a/firmware/libboard/octsimtest/include/board.h +++ b/firmware/libboard/octsimtest/include/board.h @@ -50,33 +50,8 @@ /* Button to force bootloader start (shorted to ground when pressed */ #define PIN_BOOTLOADER_SW {PIO_PA5, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP} -//FIXME SIM_PWEN_PIN collides with PA5/bootloader_sw on octsimtest -/* Enable powering the card using the second 3.3 V output of the LDO (active high) */ -#define SIM_PWEN_PIN {PIO_PA12, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} -/* Enable powering the SIM card */ -#define PWR_PINS SIM_PWEN_PIN - // FIXME PA8 is 32khz xtal on octsimtest -/* Card presence pin */ -#define SW_SIM PIO_PA11 /* Pull card presence pin high (shorted to ground in card slot when card is present) */ -#define SMARTCARD_CONNECT_PIN {SW_SIM, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP | PIO_DEBOUNCE | PIO_DEGLITCH | PIO_IT_EDGE } - -/** Smart card connection **/ -//FIXME -/* Card RST reset signal input (active low; RST_SIM in schematic) */ -#define PIN_SIM_RST {PIO_PA13, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} -/* 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} -/* 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} -//FIXME PIO_PA4B_TCLK0 PA4 is LED on octsimtest -/* Pin used as clock input (to measure the ETU duration; connected to CLK_SIM in schematic) */ -#define PIN_SIM_CLK_INPUT {PIO_PA14, 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 /** Phone connection **/ /* Phone USIM slot 1 VCC pin (VCC_PHONE in schematic) */ @@ -95,36 +70,6 @@ #define PIN_PHONE_CLK_INPUT {PIO_PA29B_TCLK2, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} /** Default pin configuration **/ -/* Disconnect VPP, CLK, and RST lines between card and phone using bus switch (high sets bus switch to high-impedance) */ -#define PIN_SC_SW_DEFAULT {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} -/* Disconnect I/O line between card and phone using bus switch (high sets bus switch to high-impedance) */ -#define PIN_IO_SW_DEFAULT {PIO_PA19, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} -/* Disconnect all lines (VPP, CLK, RST, and I/O) between card and phone */ -#define PINS_BUS_DEFAULT PIN_SC_SW_DEFAULT, PIN_IO_SW_DEFAULT - -/** Sniffer configuration **/ -/* Connect VPP, CLK, and RST lines between card and phone using bus switch (low connects signals on bus switch) */ -#define PIN_SC_SW_SNIFF {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} -/* Connect I/O line between card and phone using bus switch (low connects signals on bus switch) */ -#define PIN_IO_SW_SNIFF {PIO_PA19, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} -/* Connect all lines (VPP, CLK, RST, and I/O) between card and phone */ -#define PINS_BUS_SNIFF PIN_SC_SW_SNIFF, PIN_IO_SW_SNIFF -/* 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 -/* Disable power converter 4.5-6V to 3.3V (active high) */ -#define PIN_SIM_PWEN_SNIFF {SIM_PWEN, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} -/* Enable power switch to forward VCC_PHONE to VCC_SIM (active high) */ -#define PIN_VCC_FWD_SNIFF {VCC_FWD, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} -/* Use phone VCC to power card */ -#define PINS_PWR_SNIFF PIN_SIM_PWEN_SNIFF, PIN_VCC_FWD_SNIFF - -/** CCID configuration */ -/* Card RST reset signal input (active low; RST_SIM in schematic) */ -#define PIN_ISO7816_RSTMC {PIO_PA7, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} -/* ISO7816-communication related pins */ -#define PINS_ISO7816 PIN_SIM_IO, PIN_SIM_CLK, PIN_ISO7816_RSTMC // SIM_PWEN_PIN, PIN_SIM_IO2, PIN_SIM_CLK2 /** External SPI flash interface **/ /* SPI MISO pin definition */ -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I43e8631d945ba183a1e5b1e37dd4565adb377154 Gerrit-Change-Number: 24519 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 06:54:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 06:54:34 +0000 Subject: Change in simtrace2[master]: octsimtest: most code for support of this new board In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24520 ) Change subject: octsimtest: most code for support of this new board ...................................................................... octsimtest: most code for support of this new board * code for controlling the Card slot + frequencyt divider muxes * put everything in place to build cardem application for it Change-Id: I7e03e0c0f2999a1ce2dad966d98e22033fa58465 --- M firmware/libboard/octsimtest/include/board.h A firmware/libboard/octsimtest/include/mux.h M firmware/libboard/octsimtest/source/board_octsimtest.c A firmware/libboard/octsimtest/source/mux.c A firmware/libboard/octsimtest/source/sim_switch.c 5 files changed, 167 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/libboard/octsimtest/include/board.h b/firmware/libboard/octsimtest/include/board.h index a267f0f..6006796 100644 --- a/firmware/libboard/octsimtest/include/board.h +++ b/firmware/libboard/octsimtest/include/board.h @@ -57,7 +57,7 @@ /* Phone USIM slot 1 VCC pin (VCC_PHONE in schematic) */ #define PIN_USIM1_VCC {PIO_PA25, PIOA, ID_PIOA, PIO_INPUT, PIO_DEFAULT} /* Phone USIM slot 1 RST pin (active low; RST_PHONE in schematic) */ -#define PIN_USIM1_nRST {PIO_PA24, PIOA, ID_PIOA, PIO_INPUT, PIO_IT_RISE_EDGE | PIO_DEGLITCH } +#define PIN_USIM1_nRST {PIO_PA24, PIOA, ID_PIOA, PIO_INPUT, PIO_IT_EDGE | PIO_DEGLITCH } /* Phone I/O data signal input/output (I/O_PHONE in schematic) */ #define PIN_PHONE_IO {PIO_PA22A_TXD1, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} /* Phone CLK clock input (CLK_PHONE in schematic) */ @@ -102,13 +102,15 @@ /* Indicate SIMtrace is bus power in USB attributes */ #define BOARD_USB_BMATTRIBUTES USBConfigurationDescriptor_BUSPOWERED_NORWAKEUP +#define DETECT_VCC_BY_ADC + /** Supported modes */ /* SIMtrace board supports sniffer mode */ //#define HAVE_SNIFFER /* SIMtrace board supports CCID mode */ //#define HAVE_CCID /* SIMtrace board supports card emulation mode */ -//#define HAVE_CARDEM +#define HAVE_CARDEM /* SIMtrace board supports man-in-the-middle mode */ //#define HAVE_MITM /* octsimtest board supports gpio_test mode */ diff --git a/firmware/libboard/octsimtest/include/mux.h b/firmware/libboard/octsimtest/include/mux.h new file mode 100644 index 0000000..ba7ae9f --- /dev/null +++ b/firmware/libboard/octsimtest/include/mux.h @@ -0,0 +1,16 @@ +#pragma once + +void mux_init(void); +void mux_set_slot(uint8_t s); +void mux_set_freq(uint8_t s); + +/* this reflects the wiring between U5 and U4 */ +#define MUX_FREQ_DIV_2 0 +#define MUX_FREQ_DIV_4 1 +#define MUX_FREQ_DIV_16 2 +#define MUX_FREQ_DIV_32 3 +#define MUX_FREQ_DIV_32 3 +#define MUX_FREQ_DIV_128 4 +#define MUX_FREQ_DIV_512 5 +#define MUX_FREQ_DIV_2048 6 +#define MUX_FREQ_DIV_4096 7 diff --git a/firmware/libboard/octsimtest/source/board_octsimtest.c b/firmware/libboard/octsimtest/source/board_octsimtest.c index b7d7245..85d8aab 100644 --- a/firmware/libboard/octsimtest/source/board_octsimtest.c +++ b/firmware/libboard/octsimtest/source/board_octsimtest.c @@ -25,6 +25,7 @@ #include "usb_buf.h" #include "i2c.h" #include "mcp23017.h" +#include "mux.h" void board_exec_dbg_cmd(int ch) { @@ -34,7 +35,16 @@ printf("\tR\treset SAM3\n\r"); printf("\tm\trun mcp23017 test\n\r"); printf("\tR\ttoggle MSB of gpio on mcp23017\n\r"); + printf("\t0-8\tselect physical SIM slot\n\r"); break; + case '0': mux_set_slot(0); break; + case '1': mux_set_slot(1); break; + case '2': mux_set_slot(2); break; + case '3': mux_set_slot(3); break; + case '4': mux_set_slot(4); break; + case '5': mux_set_slot(5); break; + case '6': mux_set_slot(6); break; + case '7': mux_set_slot(7); break; case 'R': printf("Asking NVIC to reset us\n\r"); USBD_Disconnect(); @@ -57,6 +67,7 @@ #ifndef APPLICATION_dfu usb_buf_init(); + mux_init(); i2c_pin_init(); if (!mcp23017_init(MCP23017_ADDRESS)) printf("mcp23017 not found!\n\r"); diff --git a/firmware/libboard/octsimtest/source/mux.c b/firmware/libboard/octsimtest/source/mux.c new file mode 100644 index 0000000..8d9f625 --- /dev/null +++ b/firmware/libboard/octsimtest/source/mux.c @@ -0,0 +1,99 @@ +/* sysmoOCTSIMTEST support for multiplexers + * + * (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 + */ + +#include "board.h" +#include "mux.h" +#include + +/* 3-bit S0..S2 signal for slot selection */ +static const Pin pin_in_sel[3] = { + { PIO_PA1, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT }, + { PIO_PA2, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT }, + { PIO_PA3, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT }, +}; + +/* 3-bit S0..S2 signal for frequency divider selection */ +static const Pin pin_freq_sel[3] = { + { PIO_PA16, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT }, + { PIO_PA17, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT }, + { PIO_PA18, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT }, +}; + +/* low-active output enable for all muxes */ +static const Pin pin_oe = { PIO_PA19, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT }; + +/* initialize the external 1:8 multiplexers */ +void mux_init(void) +{ + PIO_Configure(&pin_oe, PIO_LISTSIZE(pin_oe)); + PIO_Configure(pin_in_sel, PIO_LISTSIZE(pin_in_sel)); + PIO_Configure(pin_freq_sel, PIO_LISTSIZE(pin_freq_sel)); + + mux_set_slot(0); +} + +/* set the slot selection mux */ +void mux_set_slot(uint8_t s) +{ + printf("%s(%u)\r\n", __func__, s); + + /* !OE = H: disconnect input and output of muxes */ + PIO_Set(&pin_oe); + + if (s & 1) + PIO_Set(&pin_in_sel[0]); + else + PIO_Clear(&pin_in_sel[0]); + if (s & 2) + PIO_Set(&pin_in_sel[1]); + else + PIO_Clear(&pin_in_sel[1]); + if (s & 4) + PIO_Set(&pin_in_sel[2]); + else + PIO_Clear(&pin_in_sel[2]); + + /* !OE = L: (re-)enable the output of muxes */ + PIO_Clear(&pin_oe); +} + +/* set the frequency divider mux */ +void mux_set_freq(uint8_t s) +{ + printf("%s(%u)\r\n", __func__, s); + + /* no need for 'break before make' here, this would also affect + * the SIM card I/O signals which we don't want to disturb */ + + if (s & 1) + PIO_Set(&pin_freq_sel[0]); + else + PIO_Clear(&pin_freq_sel[0]); + if (s & 2) + PIO_Set(&pin_freq_sel[1]); + else + PIO_Clear(&pin_freq_sel[1]); + if (s & 4) + PIO_Set(&pin_freq_sel[2]); + else + PIO_Clear(&pin_freq_sel[2]); + + /* !OE = L: ensure enable the output of muxes */ + PIO_Clear(&pin_oe); +} diff --git a/firmware/libboard/octsimtest/source/sim_switch.c b/firmware/libboard/octsimtest/source/sim_switch.c new file mode 100644 index 0000000..2b60a30 --- /dev/null +++ b/firmware/libboard/octsimtest/source/sim_switch.c @@ -0,0 +1,37 @@ +/* Code to switch between local (physical) and remote (emulated) SIM + * + * (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 + */ +#include "board.h" +#include "trace.h" +#include "sim_switch.h" + +int sim_switch_use_physical(unsigned int nr, int physical) +{ + if (physical) { + TRACE_ERROR("%u: Use local/physical SIM - UNSUPPORTED!\r\n", nr); + } else { + TRACE_INFO("%u: Use remote/emulated SIM\r\n", nr); + } + + return 0; +} + +int sim_switch_init(void) +{ + return 1; // SIMtrace hardware has only one switchable interface +} -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I7e03e0c0f2999a1ce2dad966d98e22033fa58465 Gerrit-Change-Number: 24520 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 06:54:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 06:54:35 +0000 Subject: Change in simtrace2[master]: octsimtest: Switch direction of I/O level shifter depending on uart t... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24521 ) Change subject: octsimtest: Switch direction of I/O level shifter depending on uart tx / rx ...................................................................... octsimtest: Switch direction of I/O level shifter depending on uart tx / rx Contrary to other hardware designs, octsimtest has a level-shifter in the I/O line to support testing with 1.8, 3 and 5V. This level shifter is bi-directional, but the direction needs to be explicitly specified via the SIM_IO_DIR signal attached to PA26. Change-Id: I44171363b5bd69d6049b12c86f8143be83557cb2 --- M firmware/libboard/octsimtest/include/board.h M firmware/libcommon/source/mode_cardemu.c 2 files changed, 23 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/libboard/octsimtest/include/board.h b/firmware/libboard/octsimtest/include/board.h index 6006796..361c180 100644 --- a/firmware/libboard/octsimtest/include/board.h +++ b/firmware/libboard/octsimtest/include/board.h @@ -62,8 +62,10 @@ #define PIN_PHONE_IO {PIO_PA22A_TXD1, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} /* Phone CLK clock input (CLK_PHONE in schematic) */ #define PIN_PHONE_CLK {PIO_PA23A_SCK1, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} +/* Pin used to switch level shifter in I/O line between rx (0) and tx (1) */ +#define PIN_USIM1_IO_DIR {PIO_PA16, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_OUTPUT_0} /* Pin used for phone USIM slot 1 communication */ -#define PINS_USIM1 PIN_PHONE_IO, PIN_PHONE_CLK, PIN_PHONE_CLK_INPUT, PIN_USIM1_VCC, PIN_PHONE_IO_INPUT, PIN_USIM1_nRST +#define PINS_USIM1 PIN_PHONE_IO, PIN_PHONE_CLK, PIN_PHONE_CLK_INPUT, PIN_USIM1_VCC, PIN_PHONE_IO_INPUT, PIN_USIM1_nRST, PIN_USIM1_IO_DIR /* Phone I/O data signal input/output (unused USART RX input; connected to I/O_PHONE in schematic) */ #define PIN_PHONE_IO_INPUT {PIO_PA21A_RXD1, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} /* Pin used as clock input (to measure the ETU duration; connected to CLK_PHONE in schematic) */ diff --git a/firmware/libcommon/source/mode_cardemu.c b/firmware/libcommon/source/mode_cardemu.c index 127556c..604c66a 100644 --- a/firmware/libcommon/source/mode_cardemu.c +++ b/firmware/libcommon/source/mode_cardemu.c @@ -42,6 +42,10 @@ static const Pin pins_usim1[] = {PINS_USIM1}; static const Pin pin_usim1_rst = PIN_USIM1_nRST; 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 + #ifdef CARDEMU_SECOND_UART static const Pin pins_usim2[] = {PINS_USIM2}; @@ -142,12 +146,27 @@ wait_tx_idle(usart); } +static void card_emu_uart_set_direction(uint8_t uart_chan, bool tx) +{ + /* only on some boards (octsimtest) we hae an external level + * shifter that requires us to switch the direction between RX and TX */ +#ifdef PIN_USIM1_IO_DIR + if (uart_chan == 0) { + if (tx) + PIO_Set(&pin_io_dir); + else + PIO_Clear(&pin_io_dir); + } +#endif +} + /* call-back from card_emu.c to enable/disable transmit and/or receive */ void card_emu_uart_enable(uint8_t uart_chan, uint8_t rxtx) { Usart *usart = get_usart_by_chan(uart_chan); switch (rxtx) { case ENABLE_TX: + card_emu_uart_set_direction(uart_chan, true); USART_DisableIt(usart, ~(US_IER_TXRDY | US_IER_TIMEOUT)); /* as irritating as it is, we actually want to keep the * receiver enabled during transmit */ @@ -173,6 +192,7 @@ * transmitter enabled during receive */ USART_SetTransmitterEnabled(usart, 1); wait_tx_idle(usart); + card_emu_uart_set_direction(uart_chan, false);; usart->US_CR = US_CR_RSTSTA | US_CR_RSTIT | US_CR_RSTNACK; USART_EnableIt(usart, US_IER_RXRDY); USART_SetReceiverEnabled(usart, 1); -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I44171363b5bd69d6049b12c86f8143be83557cb2 Gerrit-Change-Number: 24521 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 06:54:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 06:54:35 +0000 Subject: Change in simtrace2[master]: cardem-pcsc: initialize libosmocore logging In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24522 ) Change subject: cardem-pcsc: initialize libosmocore logging ...................................................................... cardem-pcsc: initialize libosmocore logging Change-Id: I815d39190e944d9512ffc8e5f581515d7be9834f --- M host/src/simtrace2-cardem-pcsc.c 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/host/src/simtrace2-cardem-pcsc.c b/host/src/simtrace2-cardem-pcsc.c index af34d3f..d43e7f2 100644 --- a/host/src/simtrace2-cardem-pcsc.c +++ b/host/src/simtrace2-cardem-pcsc.c @@ -48,6 +48,8 @@ #include #include #include +#include +#include #include #include @@ -425,6 +427,8 @@ } } +static struct log_info log_info = {}; + int main(int argc, char **argv) { struct osmo_st2_transport *transp = ci->slot->transp; @@ -451,6 +455,8 @@ return rc; } + osmo_init_logging2(NULL, &log_info); + while (1) { int option_index = 0; -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I815d39190e944d9512ffc8e5f581515d7be9834f Gerrit-Change-Number: 24522 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 jenkins at lists.osmocom.org Thu Jun 3 06:57:13 2021 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Thu, 3 Jun 2021 06:57:13 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_mast?= =?UTF-8?Q?er-simtrace2_=C2=BB_a1=3Ddefault,a2=3D?= =?UTF-8?Q?default,a3=3Ddefault,a4=3Ddefault,osmocom-master-debian9_#1210?= Message-ID: <1674408033.2307.1622703433609@jenkins.osmocom.org> See Changes: [laforge] assert: Use printf_sync() to ensure printing of assert / panic [laforge] Add usb product ID of sysmoOCTSIMTEST [laforge] octsimtest: remove lots of unused #defines [laforge] octsimtest: most code for support of this new board [laforge] octsimtest: Switch direction of I/O level shifter depending on uart tx / [laforge] cardem-pcsc: initialize libosmocore logging ------------------------------------------ [...truncated 136.15 KB...] checking the maximum length of command line arguments... 1572864 checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ar... ar checking for archiver @FILE support... @ checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /bin/dd checking how to truncate binary pipes... /bin/dd bs=4096 count=1 checking for mt... no checking if : is a manifest tool... no checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking for pkg-config... /usr/bin/pkg-config checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.20... yes checking if gcc supports -fvisibility=hidden... yes checking for LIBOSMOCORE... yes checking for LIBOSMOSIM... yes checking for LIBOSMOUSB... yes checking for LIBUSB... yes CFLAGS="-g -O2 -Wall -fsanitize=address -fsanitize=undefined -fsanitize=address -fsanitize=undefined -Werror -Wno-error=deprecated -Wno-error=deprecated-declarations -Wno-error=cpp" CPPFLAGS=" -Wall -fsanitize=address -fsanitize=undefined -fsanitize=address -fsanitize=undefined -Werror -Wno-error=deprecated -Wno-error=deprecated-declarations -Wno-error=cpp" checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating libosmo-simtrace2.pc config.status: creating include/Makefile config.status: creating src/Makefile config.status: creating lib/Makefile config.status: creating contrib/Makefile config.status: creating contrib/simtrace2.spec config.status: creating Makefile config.status: executing tests/atconfig commands config.status: executing depfiles commands config.status: executing libtool commands echo 0.7.0.114-054d > .version-t && mv .version-t .version make all-recursive make[1]: Entering directory '/build/host' Making all in include make[2]: Entering directory '/build/host/include' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/build/host/include' Making all in lib make[2]: Entering directory '/build/host/lib' CC apdu_dispatch.lo CC gsmtap.lo CC simtrace2_api.lo CC usb_util.lo CCLD libosmo-simtrace2.la ar: `u' modifier ignored since `D' is the default (see `U') make[2]: Leaving directory '/build/host/lib' Making all in src make[2]: Entering directory '/build/host/src' CC simtrace2-cardem-pcsc.o CC simtrace2_usb.o CC simtrace2-sniff.o CCLD simtrace2-list CCLD simtrace2-sniff CCLD simtrace2-cardem-pcsc make[2]: Leaving directory '/build/host/src' Making all in contrib make[2]: Entering directory '/build/host/contrib' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/build/host/contrib' make[2]: Entering directory '/build/host' make[2]: Nothing to be done for 'all-am'. make[2]: Leaving directory '/build/host' make[1]: Leaving directory '/build/host' make dist-bzip2 am__post_remove_distdir='@:' make[1]: Entering directory '/build/host' if test -d "simtrace2-0.7.0.114-054d"; then find "simtrace2-0.7.0.114-054d" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "simtrace2-0.7.0.114-054d" || { sleep 5 && rm -rf "simtrace2-0.7.0.114-054d"; }; else :; fi test -d "simtrace2-0.7.0.114-054d" || mkdir "simtrace2-0.7.0.114-054d" (cd include && make top_distdir=../simtrace2-0.7.0.114-054d distdir=../simtrace2-0.7.0.114-054d/include \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[2]: Entering directory '/build/host/include' make[2]: Leaving directory '/build/host/include' (cd lib && make top_distdir=../simtrace2-0.7.0.114-054d distdir=../simtrace2-0.7.0.114-054d/lib \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[2]: Entering directory '/build/host/lib' make[2]: Leaving directory '/build/host/lib' (cd src && make top_distdir=../simtrace2-0.7.0.114-054d distdir=../simtrace2-0.7.0.114-054d/src \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[2]: Entering directory '/build/host/src' make[2]: Leaving directory '/build/host/src' (cd contrib && make top_distdir=../simtrace2-0.7.0.114-054d distdir=../simtrace2-0.7.0.114-054d/contrib \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[2]: Entering directory '/build/host/contrib' make[2]: Leaving directory '/build/host/contrib' make \ top_distdir="simtrace2-0.7.0.114-054d" distdir="simtrace2-0.7.0.114-054d" \ dist-hook make[2]: Entering directory '/build/host' echo 0.7.0.114-054d > simtrace2-0.7.0.114-054d/.tarball-version make[2]: Leaving directory '/build/host' test -n "" \ || find "simtrace2-0.7.0.114-054d" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec /bin/bash /build/host/install-sh -c -m a+r {} {} \; \ || chmod -R a+r "simtrace2-0.7.0.114-054d" tardir=simtrace2-0.7.0.114-054d && ${TAR-tar} chof - "$tardir" | BZIP2=${BZIP2--9} bzip2 -c >simtrace2-0.7.0.114-054d.tar.bz2 make[1]: Leaving directory '/build/host' if test -d "simtrace2-0.7.0.114-054d"; then find "simtrace2-0.7.0.114-054d" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "simtrace2-0.7.0.114-054d" || { sleep 5 && rm -rf "simtrace2-0.7.0.114-054d"; }; else :; fi =============== UPLOAD BUILD ============== Copying binaries with -latest and -0.7.0.114-054d appended... 'owhw-cardem-dfu.bin' -> 'owhw-cardem-dfu-latest.bin' 'owhw-cardem-dfu.bin' -> 'owhw-cardem-dfu-0.7.0.114-054d.bin' 'owhw-dfu-dfu.bin' -> 'owhw-dfu-dfu-latest.bin' 'owhw-dfu-dfu.bin' -> 'owhw-dfu-dfu-0.7.0.114-054d.bin' 'owhw-dfu-flash.bin' -> 'owhw-dfu-flash-latest.bin' 'owhw-dfu-flash.bin' -> 'owhw-dfu-flash-0.7.0.114-054d.bin' 'qmod-cardem-dfu.bin' -> 'qmod-cardem-dfu-latest.bin' 'qmod-cardem-dfu.bin' -> 'qmod-cardem-dfu-0.7.0.114-054d.bin' 'qmod-dfu-dfu.bin' -> 'qmod-dfu-dfu-latest.bin' 'qmod-dfu-dfu.bin' -> 'qmod-dfu-dfu-0.7.0.114-054d.bin' 'qmod-dfu-flash.bin' -> 'qmod-dfu-flash-latest.bin' 'qmod-dfu-flash.bin' -> 'qmod-dfu-flash-0.7.0.114-054d.bin' 'simtrace-cardem-dfu.bin' -> 'simtrace-cardem-dfu-latest.bin' 'simtrace-cardem-dfu.bin' -> 'simtrace-cardem-dfu-0.7.0.114-054d.bin' 'simtrace-dfu-dfu.bin' -> 'simtrace-dfu-dfu-latest.bin' 'simtrace-dfu-dfu.bin' -> 'simtrace-dfu-dfu-0.7.0.114-054d.bin' 'simtrace-dfu-flash.bin' -> 'simtrace-dfu-flash-latest.bin' 'simtrace-dfu-flash.bin' -> 'simtrace-dfu-flash-0.7.0.114-054d.bin' 'simtrace-trace-dfu.bin' -> 'simtrace-trace-dfu-latest.bin' 'simtrace-trace-dfu.bin' -> 'simtrace-trace-dfu-0.7.0.114-054d.bin' 'owhw-cardem-dfu.elf' -> 'owhw-cardem-dfu-latest.elf' 'owhw-cardem-dfu.elf' -> 'owhw-cardem-dfu-0.7.0.114-054d.elf' 'owhw-dfu-dfu.elf' -> 'owhw-dfu-dfu-latest.elf' 'owhw-dfu-dfu.elf' -> 'owhw-dfu-dfu-0.7.0.114-054d.elf' 'owhw-dfu-flash.elf' -> 'owhw-dfu-flash-latest.elf' 'owhw-dfu-flash.elf' -> 'owhw-dfu-flash-0.7.0.114-054d.elf' 'qmod-cardem-dfu.elf' -> 'qmod-cardem-dfu-latest.elf' 'qmod-cardem-dfu.elf' -> 'qmod-cardem-dfu-0.7.0.114-054d.elf' 'qmod-dfu-dfu.elf' -> 'qmod-dfu-dfu-latest.elf' 'qmod-dfu-dfu.elf' -> 'qmod-dfu-dfu-0.7.0.114-054d.elf' 'qmod-dfu-flash.elf' -> 'qmod-dfu-flash-latest.elf' 'qmod-dfu-flash.elf' -> 'qmod-dfu-flash-0.7.0.114-054d.elf' 'simtrace-cardem-dfu.elf' -> 'simtrace-cardem-dfu-latest.elf' 'simtrace-cardem-dfu.elf' -> 'simtrace-cardem-dfu-0.7.0.114-054d.elf' 'simtrace-dfu-dfu.elf' -> 'simtrace-dfu-dfu-latest.elf' 'simtrace-dfu-dfu.elf' -> 'simtrace-dfu-dfu-0.7.0.114-054d.elf' 'simtrace-dfu-flash.elf' -> 'simtrace-dfu-flash-latest.elf' 'simtrace-dfu-flash.elf' -> 'simtrace-dfu-flash-0.7.0.114-054d.elf' 'simtrace-trace-dfu.elf' -> 'simtrace-trace-dfu-latest.elf' 'simtrace-trace-dfu.elf' -> 'simtrace-trace-dfu-0.7.0.114-054d.elf' Warning: Permanently added the ECDSA host key for IP address '[148.251.236.141]:48' to the list of known hosts. sending incremental file list owhw-cardem-dfu-latest.bin owhw-cardem-dfu-latest.elf owhw-dfu-dfu-latest.bin owhw-dfu-dfu-latest.elf owhw-dfu-flash-latest.bin owhw-dfu-flash-latest.elf qmod-cardem-dfu-latest.bin qmod-cardem-dfu-latest.elf qmod-dfu-dfu-latest.bin qmod-dfu-dfu-latest.elf qmod-dfu-flash-latest.bin qmod-dfu-flash-latest.elf simtrace-cardem-dfu-latest.bin simtrace-cardem-dfu-latest.elf simtrace-dfu-dfu-latest.bin simtrace-dfu-dfu-latest.elf simtrace-dfu-flash-latest.bin simtrace-dfu-flash-latest.elf simtrace-trace-dfu-latest.bin simtrace-trace-dfu-latest.elf sent 379,507 bytes received 27,540 bytes 814,094.00 bytes/sec total size is 3,159,684 speedup is 7.76 sending incremental file list owhw-cardem-dfu-0.7.0.114-054d.bin owhw-cardem-dfu-0.7.0.114-054d.elf owhw-cardem-dfu-latest.bin owhw-cardem-dfu-latest.elf owhw-dfu-dfu-0.7.0.114-054d.bin owhw-dfu-dfu-0.7.0.114-054d.elf owhw-dfu-dfu-latest.bin owhw-dfu-dfu-latest.elf owhw-dfu-flash-0.7.0.114-054d.bin owhw-dfu-flash-0.7.0.114-054d.elf owhw-dfu-flash-latest.bin owhw-dfu-flash-latest.elf qmod-cardem-dfu-0.7.0.114-054d.bin qmod-cardem-dfu-0.7.0.114-054d.elf qmod-cardem-dfu-latest.bin qmod-cardem-dfu-latest.elf qmod-dfu-dfu-0.7.0.114-054d.bin qmod-dfu-dfu-0.7.0.114-054d.elf qmod-dfu-dfu-latest.bin qmod-dfu-dfu-latest.elf qmod-dfu-flash-0.7.0.114-054d.bin qmod-dfu-flash-0.7.0.114-054d.elf qmod-dfu-flash-latest.bin qmod-dfu-flash-latest.elf simtrace-cardem-dfu-0.7.0.114-054d.bin simtrace-cardem-dfu-0.7.0.114-054d.elf simtrace-cardem-dfu-latest.bin simtrace-cardem-dfu-latest.elf simtrace-dfu-dfu-0.7.0.114-054d.bin simtrace-dfu-dfu-0.7.0.114-054d.elf simtrace-dfu-dfu-latest.bin simtrace-dfu-dfu-latest.elf simtrace-dfu-flash-0.7.0.114-054d.bin simtrace-dfu-flash-0.7.0.114-054d.elf simtrace-dfu-flash-latest.bin simtrace-dfu-flash-latest.elf simtrace-trace-dfu-0.7.0.114-054d.bin simtrace-trace-dfu-0.7.0.114-054d.elf simtrace-trace-dfu-latest.bin simtrace-trace-dfu-latest.elf rsync: write failed on "/downloads/home/binaries/web-files/simtrace2/firmware/all/qmod-cardem-dfu-latest.bin": No space left on device (28) rsync error: error in file IO (code 11) at receiver.c(374) [receiver=3.1.3] Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Thu Jun 3 07:03:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 07:03:55 +0000 Subject: Change in simtrace2[master]: octsimtest: Adjust VCC voltage thresholds (resistive VCC divider) References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24530 ) Change subject: octsimtest: Adjust VCC voltage thresholds (resistive VCC divider) ...................................................................... octsimtest: Adjust VCC voltage thresholds (resistive VCC divider) octsimtest has a resistive voltage divider in front of the VCC ADC in order to also detect 5V. We must make the thresholds board-specific and adjust them for octsimtest. Change-Id: I9e4adb4f349d2d838ea4100eb49271f3a0e7a2a5 --- M firmware/libboard/octsimtest/include/board.h M firmware/libboard/qmod/include/board.h M firmware/libcommon/source/mode_cardemu.c 3 files changed, 11 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/30/24530/1 diff --git a/firmware/libboard/octsimtest/include/board.h b/firmware/libboard/octsimtest/include/board.h index 361c180..2d8a896 100644 --- a/firmware/libboard/octsimtest/include/board.h +++ b/firmware/libboard/octsimtest/include/board.h @@ -105,6 +105,9 @@ #define BOARD_USB_BMATTRIBUTES USBConfigurationDescriptor_BUSPOWERED_NORWAKEUP #define DETECT_VCC_BY_ADC +/* we have a resistive voltage divider of 47 + 30 kOhms to also detect 5V supply power */ +#define VCC_UV_THRESH_1V8 (1500000*47)/(47+30) +#define VCC_UV_THRESH_3V (2500000*47)/(47+30) /** Supported modes */ /* SIMtrace board supports sniffer mode */ diff --git a/firmware/libboard/qmod/include/board.h b/firmware/libboard/qmod/include/board.h index 5165434..0d35bef 100644 --- a/firmware/libboard/qmod/include/board.h +++ b/firmware/libboard/qmod/include/board.h @@ -109,6 +109,9 @@ #define BOARD_USB_RELEASE 0x010 #define CARDEMU_SECOND_UART + #define DETECT_VCC_BY_ADC +#define VCC_UV_THRESH_1V8 1500000 +#define VCC_UV_THRESH_3V 2500000 #define HAVE_CARDEM diff --git a/firmware/libcommon/source/mode_cardemu.c b/firmware/libcommon/source/mode_cardemu.c index 604c66a..23f9f66 100644 --- a/firmware/libcommon/source/mode_cardemu.c +++ b/firmware/libcommon/source/mode_cardemu.c @@ -408,6 +408,9 @@ ***********************************************************************/ #ifdef DETECT_VCC_BY_ADC +#if !defined(VCC_UV_THRESH_1V8) || !defined(VCC_UV_THRESH_3V) +#error "You must define VCC_UV_THRESH_{1V1,3V} if you use ADC VCC detection" +#endif static volatile int adc_triggered = 0; static int adc_sam3s_reva_errata = 0; @@ -456,8 +459,8 @@ return 0; } -#define VCC_UV_THRESH_1V8 1500000 -#define VCC_UV_THRESH_3V 2500000 +#define VCC_UV_THRESH_1V8 (1500000/(47+30)*47) +#define VCC_UV_THRESH_3V (2500000/(47+30)*47) static void process_vcc_adc(struct cardem_inst *ci) { -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I9e4adb4f349d2d838ea4100eb49271f3a0e7a2a5 Gerrit-Change-Number: 24530 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 07:35:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 07:35:12 +0000 Subject: Change in simtrace2[master]: contrib/jenkins.sh: Build 'cardem' app for 'octsimtest' board References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24531 ) Change subject: contrib/jenkins.sh: Build 'cardem' app for 'octsimtest' board ...................................................................... contrib/jenkins.sh: Build 'cardem' app for 'octsimtest' board Change-Id: Ia38bbb85c2828ab7307ffe688e50d7cdf70d6d39 --- M contrib/jenkins.sh 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/31/24531/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index c5f5cad..924d5f7 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -31,6 +31,7 @@ BUILDS+="simtrace/dfu simtrace/trace simtrace/cardem " BUILDS+="qmod/dfu qmod/cardem " BUILDS+="owhw/dfu owhw/cardem " +BUILDS+="octsimtest/cardem " cd $TOPDIR/firmware for build in $BUILDS; do -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24531 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ia38bbb85c2828ab7307ffe688e50d7cdf70d6d39 Gerrit-Change-Number: 24531 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 07:36:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 07:36:23 +0000 Subject: Change in simtrace2[master]: octsimtest: Adjust VCC voltage thresholds (resistive VCC divider) 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/+/24530 to look at the new patch set (#2). Change subject: octsimtest: Adjust VCC voltage thresholds (resistive VCC divider) ...................................................................... octsimtest: Adjust VCC voltage thresholds (resistive VCC divider) octsimtest has a resistive voltage divider in front of the VCC ADC in order to also detect 5V. We must make the thresholds board-specific and adjust them for octsimtest. Change-Id: I9e4adb4f349d2d838ea4100eb49271f3a0e7a2a5 --- M firmware/libboard/octsimtest/include/board.h M firmware/libboard/qmod/include/board.h M firmware/libcommon/source/mode_cardemu.c 3 files changed, 9 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/30/24530/2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I9e4adb4f349d2d838ea4100eb49271f3a0e7a2a5 Gerrit-Change-Number: 24530 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 07:41:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 07:41:04 +0000 Subject: Change in simtrace2[master]: octsimtest: Adjust VCC voltage thresholds (resistive VCC divider) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24530 ) Change subject: octsimtest: Adjust VCC voltage thresholds (resistive VCC divider) ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I9e4adb4f349d2d838ea4100eb49271f3a0e7a2a5 Gerrit-Change-Number: 24530 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 03 Jun 2021 07:41:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 07:41:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 07:41:10 +0000 Subject: Change in simtrace2[master]: contrib/jenkins.sh: Build 'cardem' app for 'octsimtest' board In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24531 ) Change subject: contrib/jenkins.sh: Build 'cardem' app for 'octsimtest' board ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24531 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ia38bbb85c2828ab7307ffe688e50d7cdf70d6d39 Gerrit-Change-Number: 24531 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 03 Jun 2021 07: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 Thu Jun 3 07:41:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 07:41:12 +0000 Subject: Change in simtrace2[master]: octsimtest: Adjust VCC voltage thresholds (resistive VCC divider) In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24530 ) Change subject: octsimtest: Adjust VCC voltage thresholds (resistive VCC divider) ...................................................................... octsimtest: Adjust VCC voltage thresholds (resistive VCC divider) octsimtest has a resistive voltage divider in front of the VCC ADC in order to also detect 5V. We must make the thresholds board-specific and adjust them for octsimtest. Change-Id: I9e4adb4f349d2d838ea4100eb49271f3a0e7a2a5 --- M firmware/libboard/octsimtest/include/board.h M firmware/libboard/qmod/include/board.h M firmware/libcommon/source/mode_cardemu.c 3 files changed, 9 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/libboard/octsimtest/include/board.h b/firmware/libboard/octsimtest/include/board.h index 361c180..2d8a896 100644 --- a/firmware/libboard/octsimtest/include/board.h +++ b/firmware/libboard/octsimtest/include/board.h @@ -105,6 +105,9 @@ #define BOARD_USB_BMATTRIBUTES USBConfigurationDescriptor_BUSPOWERED_NORWAKEUP #define DETECT_VCC_BY_ADC +/* we have a resistive voltage divider of 47 + 30 kOhms to also detect 5V supply power */ +#define VCC_UV_THRESH_1V8 (1500000*47)/(47+30) +#define VCC_UV_THRESH_3V (2500000*47)/(47+30) /** Supported modes */ /* SIMtrace board supports sniffer mode */ diff --git a/firmware/libboard/qmod/include/board.h b/firmware/libboard/qmod/include/board.h index 5165434..0d35bef 100644 --- a/firmware/libboard/qmod/include/board.h +++ b/firmware/libboard/qmod/include/board.h @@ -109,6 +109,9 @@ #define BOARD_USB_RELEASE 0x010 #define CARDEMU_SECOND_UART + #define DETECT_VCC_BY_ADC +#define VCC_UV_THRESH_1V8 1500000 +#define VCC_UV_THRESH_3V 2500000 #define HAVE_CARDEM diff --git a/firmware/libcommon/source/mode_cardemu.c b/firmware/libcommon/source/mode_cardemu.c index 604c66a..8a59e16 100644 --- a/firmware/libcommon/source/mode_cardemu.c +++ b/firmware/libcommon/source/mode_cardemu.c @@ -408,6 +408,9 @@ ***********************************************************************/ #ifdef DETECT_VCC_BY_ADC +#if !defined(VCC_UV_THRESH_1V8) || !defined(VCC_UV_THRESH_3V) +#error "You must define VCC_UV_THRESH_{1V1,3V} if you use ADC VCC detection" +#endif static volatile int adc_triggered = 0; static int adc_sam3s_reva_errata = 0; @@ -456,9 +459,6 @@ return 0; } -#define VCC_UV_THRESH_1V8 1500000 -#define VCC_UV_THRESH_3V 2500000 - static void process_vcc_adc(struct cardem_inst *ci) { if (ci->vcc_uv >= VCC_UV_THRESH_3V) -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I9e4adb4f349d2d838ea4100eb49271f3a0e7a2a5 Gerrit-Change-Number: 24530 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 Thu Jun 3 07:41:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 07:41:14 +0000 Subject: Change in simtrace2[master]: contrib/jenkins.sh: Build 'cardem' app for 'octsimtest' board In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24531 ) Change subject: contrib/jenkins.sh: Build 'cardem' app for 'octsimtest' board ...................................................................... contrib/jenkins.sh: Build 'cardem' app for 'octsimtest' board Change-Id: Ia38bbb85c2828ab7307ffe688e50d7cdf70d6d39 --- M contrib/jenkins.sh 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index c5f5cad..924d5f7 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -31,6 +31,7 @@ BUILDS+="simtrace/dfu simtrace/trace simtrace/cardem " BUILDS+="qmod/dfu qmod/cardem " BUILDS+="owhw/dfu owhw/cardem " +BUILDS+="octsimtest/cardem " cd $TOPDIR/firmware for build in $BUILDS; do -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24531 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ia38bbb85c2828ab7307ffe688e50d7cdf70d6d39 Gerrit-Change-Number: 24531 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 jenkins at lists.osmocom.org Thu Jun 3 07:47:17 2021 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Thu, 3 Jun 2021 07:47:17 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_mast?= =?UTF-8?Q?er-simtrace2_=C2=BB_a1=3Ddefault,a2=3D?= =?UTF-8?Q?default,a3=3Ddefault,a4=3Ddefault,osmocom-master-debian9_#1211?= In-Reply-To: <1674408033.2307.1622703433609@jenkins.osmocom.org> References: <1674408033.2307.1622703433609@jenkins.osmocom.org> Message-ID: <273506215.2313.1622706437158@jenkins.osmocom.org> See Changes: [laforge] octsimtest: Adjust VCC voltage thresholds (resistive VCC divider) [laforge] contrib/jenkins.sh: Build 'cardem' app for 'octsimtest' board ------------------------------------------ [...truncated 153.34 KB...] configure.ac:20: installing './compile' configure.ac:22: installing './config.guess' configure.ac:22: installing './config.sub' configure.ac:8: installing './install-sh' configure.ac:8: installing './missing' lib/Makefile.am: installing './depcomp' checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether make supports nested variables... (cached) yes checking whether make sets $(MAKE)... (cached) yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking whether gcc understands -c and -o together... yes checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking how to print strings... printf checking for a sed that does not truncate output... /bin/sed checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for fgrep... /bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ar... ar checking for archiver @FILE support... @ checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /bin/dd checking how to truncate binary pipes... /bin/dd bs=4096 count=1 checking for mt... no checking if : is a manifest tool... no checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking for pkg-config... /usr/bin/pkg-config checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.20... yes checking if gcc supports -fvisibility=hidden... yes checking for LIBOSMOCORE... yes checking for LIBOSMOSIM... yes checking for LIBOSMOUSB... yes checking for LIBUSB... yes CFLAGS="-g -O2 -Wall -fsanitize=address -fsanitize=undefined -fsanitize=address -fsanitize=undefined -Werror -Wno-error=deprecated -Wno-error=deprecated-declarations -Wno-error=cpp" CPPFLAGS=" -Wall -fsanitize=address -fsanitize=undefined -fsanitize=address -fsanitize=undefined -Werror -Wno-error=deprecated -Wno-error=deprecated-declarations -Wno-error=cpp" checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating libosmo-simtrace2.pc config.status: creating include/Makefile config.status: creating src/Makefile config.status: creating lib/Makefile config.status: creating contrib/Makefile config.status: creating contrib/simtrace2.spec config.status: creating Makefile config.status: executing tests/atconfig commands config.status: executing depfiles commands config.status: executing libtool commands echo 0.7.0.116-b69f5 > .version-t && mv .version-t .version make all-recursive make[1]: Entering directory '/build/host' Making all in include make[2]: Entering directory '/build/host/include' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/build/host/include' Making all in lib make[2]: Entering directory '/build/host/lib' CC apdu_dispatch.lo CC gsmtap.lo CC simtrace2_api.lo CC usb_util.lo CCLD libosmo-simtrace2.la ar: `u' modifier ignored since `D' is the default (see `U') make[2]: Leaving directory '/build/host/lib' Making all in src make[2]: Entering directory '/build/host/src' CC simtrace2-cardem-pcsc.o CC simtrace2_usb.o CC simtrace2-sniff.o CCLD simtrace2-list CCLD simtrace2-sniff CCLD simtrace2-cardem-pcsc make[2]: Leaving directory '/build/host/src' Making all in contrib make[2]: Entering directory '/build/host/contrib' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/build/host/contrib' make[2]: Entering directory '/build/host' make[2]: Nothing to be done for 'all-am'. make[2]: Leaving directory '/build/host' make[1]: Leaving directory '/build/host' make dist-bzip2 am__post_remove_distdir='@:' make[1]: Entering directory '/build/host' if test -d "simtrace2-0.7.0.116-b69f5"; then find "simtrace2-0.7.0.116-b69f5" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "simtrace2-0.7.0.116-b69f5" || { sleep 5 && rm -rf "simtrace2-0.7.0.116-b69f5"; }; else :; fi test -d "simtrace2-0.7.0.116-b69f5" || mkdir "simtrace2-0.7.0.116-b69f5" (cd include && make top_distdir=../simtrace2-0.7.0.116-b69f5 distdir=../simtrace2-0.7.0.116-b69f5/include \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[2]: Entering directory '/build/host/include' make[2]: Leaving directory '/build/host/include' (cd lib && make top_distdir=../simtrace2-0.7.0.116-b69f5 distdir=../simtrace2-0.7.0.116-b69f5/lib \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[2]: Entering directory '/build/host/lib' make[2]: Leaving directory '/build/host/lib' (cd src && make top_distdir=../simtrace2-0.7.0.116-b69f5 distdir=../simtrace2-0.7.0.116-b69f5/src \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[2]: Entering directory '/build/host/src' make[2]: Leaving directory '/build/host/src' (cd contrib && make top_distdir=../simtrace2-0.7.0.116-b69f5 distdir=../simtrace2-0.7.0.116-b69f5/contrib \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[2]: Entering directory '/build/host/contrib' make[2]: Leaving directory '/build/host/contrib' make \ top_distdir="simtrace2-0.7.0.116-b69f5" distdir="simtrace2-0.7.0.116-b69f5" \ dist-hook make[2]: Entering directory '/build/host' echo 0.7.0.116-b69f5 > simtrace2-0.7.0.116-b69f5/.tarball-version make[2]: Leaving directory '/build/host' test -n "" \ || find "simtrace2-0.7.0.116-b69f5" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec /bin/bash /build/host/install-sh -c -m a+r {} {} \; \ || chmod -R a+r "simtrace2-0.7.0.116-b69f5" tardir=simtrace2-0.7.0.116-b69f5 && ${TAR-tar} chof - "$tardir" | BZIP2=${BZIP2--9} bzip2 -c >simtrace2-0.7.0.116-b69f5.tar.bz2 make[1]: Leaving directory '/build/host' if test -d "simtrace2-0.7.0.116-b69f5"; then find "simtrace2-0.7.0.116-b69f5" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "simtrace2-0.7.0.116-b69f5" || { sleep 5 && rm -rf "simtrace2-0.7.0.116-b69f5"; }; else :; fi =============== UPLOAD BUILD ============== Copying binaries with -latest and -0.7.0.116-b69f5 appended... 'octsimtest-cardem-dfu.bin' -> 'octsimtest-cardem-dfu-latest.bin' 'octsimtest-cardem-dfu.bin' -> 'octsimtest-cardem-dfu-0.7.0.116-b69f5.bin' 'owhw-cardem-dfu.bin' -> 'owhw-cardem-dfu-latest.bin' 'owhw-cardem-dfu.bin' -> 'owhw-cardem-dfu-0.7.0.116-b69f5.bin' 'owhw-dfu-dfu.bin' -> 'owhw-dfu-dfu-latest.bin' 'owhw-dfu-dfu.bin' -> 'owhw-dfu-dfu-0.7.0.116-b69f5.bin' 'owhw-dfu-flash.bin' -> 'owhw-dfu-flash-latest.bin' 'owhw-dfu-flash.bin' -> 'owhw-dfu-flash-0.7.0.116-b69f5.bin' 'qmod-cardem-dfu.bin' -> 'qmod-cardem-dfu-latest.bin' 'qmod-cardem-dfu.bin' -> 'qmod-cardem-dfu-0.7.0.116-b69f5.bin' 'qmod-dfu-dfu.bin' -> 'qmod-dfu-dfu-latest.bin' 'qmod-dfu-dfu.bin' -> 'qmod-dfu-dfu-0.7.0.116-b69f5.bin' 'qmod-dfu-flash.bin' -> 'qmod-dfu-flash-latest.bin' 'qmod-dfu-flash.bin' -> 'qmod-dfu-flash-0.7.0.116-b69f5.bin' 'simtrace-cardem-dfu.bin' -> 'simtrace-cardem-dfu-latest.bin' 'simtrace-cardem-dfu.bin' -> 'simtrace-cardem-dfu-0.7.0.116-b69f5.bin' 'simtrace-dfu-dfu.bin' -> 'simtrace-dfu-dfu-latest.bin' 'simtrace-dfu-dfu.bin' -> 'simtrace-dfu-dfu-0.7.0.116-b69f5.bin' 'simtrace-dfu-flash.bin' -> 'simtrace-dfu-flash-latest.bin' 'simtrace-dfu-flash.bin' -> 'simtrace-dfu-flash-0.7.0.116-b69f5.bin' 'simtrace-trace-dfu.bin' -> 'simtrace-trace-dfu-latest.bin' 'simtrace-trace-dfu.bin' -> 'simtrace-trace-dfu-0.7.0.116-b69f5.bin' 'octsimtest-cardem-dfu.elf' -> 'octsimtest-cardem-dfu-latest.elf' 'octsimtest-cardem-dfu.elf' -> 'octsimtest-cardem-dfu-0.7.0.116-b69f5.elf' 'owhw-cardem-dfu.elf' -> 'owhw-cardem-dfu-latest.elf' 'owhw-cardem-dfu.elf' -> 'owhw-cardem-dfu-0.7.0.116-b69f5.elf' 'owhw-dfu-dfu.elf' -> 'owhw-dfu-dfu-latest.elf' 'owhw-dfu-dfu.elf' -> 'owhw-dfu-dfu-0.7.0.116-b69f5.elf' 'owhw-dfu-flash.elf' -> 'owhw-dfu-flash-latest.elf' 'owhw-dfu-flash.elf' -> 'owhw-dfu-flash-0.7.0.116-b69f5.elf' 'qmod-cardem-dfu.elf' -> 'qmod-cardem-dfu-latest.elf' 'qmod-cardem-dfu.elf' -> 'qmod-cardem-dfu-0.7.0.116-b69f5.elf' 'qmod-dfu-dfu.elf' -> 'qmod-dfu-dfu-latest.elf' 'qmod-dfu-dfu.elf' -> 'qmod-dfu-dfu-0.7.0.116-b69f5.elf' 'qmod-dfu-flash.elf' -> 'qmod-dfu-flash-latest.elf' 'qmod-dfu-flash.elf' -> 'qmod-dfu-flash-0.7.0.116-b69f5.elf' 'simtrace-cardem-dfu.elf' -> 'simtrace-cardem-dfu-latest.elf' 'simtrace-cardem-dfu.elf' -> 'simtrace-cardem-dfu-0.7.0.116-b69f5.elf' 'simtrace-dfu-dfu.elf' -> 'simtrace-dfu-dfu-latest.elf' 'simtrace-dfu-dfu.elf' -> 'simtrace-dfu-dfu-0.7.0.116-b69f5.elf' 'simtrace-dfu-flash.elf' -> 'simtrace-dfu-flash-latest.elf' 'simtrace-dfu-flash.elf' -> 'simtrace-dfu-flash-0.7.0.116-b69f5.elf' 'simtrace-trace-dfu.elf' -> 'simtrace-trace-dfu-latest.elf' 'simtrace-trace-dfu.elf' -> 'simtrace-trace-dfu-0.7.0.116-b69f5.elf' Warning: Permanently added the ECDSA host key for IP address '[148.251.236.141]:48' to the list of known hosts. sending incremental file list octsimtest-cardem-dfu-latest.bin octsimtest-cardem-dfu-latest.elf owhw-cardem-dfu-latest.bin owhw-cardem-dfu-latest.elf owhw-dfu-dfu-latest.bin owhw-dfu-dfu-latest.elf owhw-dfu-flash-latest.bin owhw-dfu-flash-latest.elf qmod-cardem-dfu-latest.bin qmod-cardem-dfu-latest.elf qmod-dfu-dfu-latest.bin qmod-dfu-dfu-latest.elf qmod-dfu-flash-latest.bin qmod-dfu-flash-latest.elf simtrace-cardem-dfu-latest.bin simtrace-cardem-dfu-latest.elf simtrace-dfu-dfu-latest.bin simtrace-dfu-dfu-latest.elf simtrace-dfu-flash-latest.bin simtrace-dfu-flash-latest.elf simtrace-trace-dfu-latest.bin simtrace-trace-dfu-latest.elf rsync: write failed on "/downloads/home/binaries/web-files/simtrace2/firmware/latest/octsimtest-cardem-dfu-latest.bin": No space left on device (28) rsync error: error in file IO (code 11) at receiver.c(374) [receiver=3.1.3] Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From jenkins at lists.osmocom.org Thu Jun 3 08:09:02 2021 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Thu, 3 Jun 2021 08:09:02 +0000 (UTC) Subject: =?UTF-8?Q?Jenkins_build_is_back_to_normal?= =?UTF-8?Q?_:_master-simtrace2_=C2=BB_a1=3Ddefaul?= =?UTF-8?Q?t,a2=3Ddefault,a3=3Ddefault,a4=3Ddefa?= =?UTF-8?Q?ult,osmocom-master-debian9_#1212?= In-Reply-To: <273506215.2313.1622706437158@jenkins.osmocom.org> References: <273506215.2313.1622706437158@jenkins.osmocom.org> Message-ID: <793850163.2315.1622707742825@jenkins.osmocom.org> See From jenkins at lists.osmocom.org Thu Jun 3 08:12:21 2021 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Thu, 3 Jun 2021 08:12:21 +0000 (UTC) Subject: =?UTF-8?Q?Jenkins_build_is_back_to_normal_?= =?UTF-8?Q?:_master-osmo-asf4-dfu_=C2=BB_a1=3Ddefa?= =?UTF-8?Q?ult,a2=3Ddefault,a3=3Ddefault,a4=3Ddef?= =?UTF-8?Q?ault,osmocom-master-debian9_#889?= In-Reply-To: <460408584.2278.1622697616055@jenkins.osmocom.org> References: <460408584.2278.1622697616055@jenkins.osmocom.org> Message-ID: <1600300230.2322.1622707941469@jenkins.osmocom.org> See From gerrit-no-reply at lists.osmocom.org Thu Jun 3 09:22:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Jun 2021 09:22:02 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix NULL pointer dereference in trx_if_send_burst() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24515 ) Change subject: osmo-bts-trx: fix NULL pointer dereference in trx_if_send_burst() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24515 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4a361777fc40bdedcebbe54df6274bc5573f77a8 Gerrit-Change-Number: 24515 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 09:22: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 Jun 3 09:23:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Jun 2021 09:23:58 +0000 Subject: Change in osmo-bsc[master]: fixup for Mode Modify TSC In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24516 ) Change subject: fixup for Mode Modify TSC ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24516 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I87ecf7d9266f37f4c775d029e277b614671a9401 Gerrit-Change-Number: 24516 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 09:23:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 09:26:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Jun 2021 09:26:51 +0000 Subject: Change in osmo-dev[master]: ttcn3: add missing ttcn3-docker-run.sh In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/24497 ) Change subject: ttcn3: add missing ttcn3-docker-run.sh ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I23467136af6deaca69e0b43697a06385cb65444d Gerrit-Change-Number: 24497 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 09:26: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 Jun 3 09:27:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Jun 2021 09:27:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: gitignore In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24518 ) Change subject: gitignore ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24518 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iedd6aeb17b1c774a5d96b28e69827796ff769bc1 Gerrit-Change-Number: 24518 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 09:27: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 Jun 3 09:27:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Jun 2021 09:27:44 +0000 Subject: Change in osmo-bsc[master]: fix rc handling in channel_mode_from_lchan() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24517 ) Change subject: fix rc handling in channel_mode_from_lchan() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24517 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I52e13b24ce67e288ff32dbdaa1c1759089926f5c Gerrit-Change-Number: 24517 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 09:27:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 09:28:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Jun 2021 09:28:24 +0000 Subject: Change in osmo-bts[master]: manuals/abis/rsl.adoc: add VAMOS specific Channel Number values In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24492 ) Change subject: manuals/abis/rsl.adoc: add VAMOS specific Channel Number values ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib3ad7652dfcbd104d25b031ac89f5491da2673a6 Gerrit-Change-Number: 24492 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 09:28: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 Jun 3 09:33:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Jun 2021 09:33:23 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: do not crash when lco/sdp can not be generated In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24182 ) Change subject: mgcp_client: do not crash when lco/sdp can not be generated ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/24182/2/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24182/2/src/libosmo-mgcp-client/mgcp_client.c at 1236 PS2, Line 1236: } else no need for else here, there's early return. Moreover, you are using {} in the if clause but no in the else one. https://gerrit.osmocom.org/c/osmo-mgw/+/24182/2/src/libosmo-mgcp-client/mgcp_client.c at 1353 PS2, Line 1353: else same here, no need for else. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb788343e0bec9c0eaf33e6e4727d4d36c100017 Gerrit-Change-Number: 24182 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 09:33:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 09:39:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Jun 2021 09:39:56 +0000 Subject: Change in osmo-bsc[master]: RSL chan_nr: replace OSMO_ASSERT with error handling In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24524 ) Change subject: RSL chan_nr: replace OSMO_ASSERT with error handling ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71ed6437c403a3f9336e17a94b4948fca295d853 Gerrit-Change-Number: 24524 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 09: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 Thu Jun 3 09:43:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Jun 2021 09:43:49 +0000 Subject: Change in osmo-bsc[master]: implement CHANnel ACTIVate to VAMOS mode In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24375 ) Change subject: implement CHANnel ACTIVate to VAMOS mode ...................................................................... Patch Set 15: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec Gerrit-Change-Number: 24375 Gerrit-PatchSet: 15 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 09:43:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 09:44:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Jun 2021 09:44:13 +0000 Subject: Change in osmo-bsc[master]: vty-test: osmo-bsc.vty: test doc of lchan activate cmd In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24387 ) Change subject: vty-test: osmo-bsc.vty: test doc of lchan activate cmd ...................................................................... Patch Set 11: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6379e306fb8fa6ec227125c6cf14893d674e7596 Gerrit-Change-Number: 24387 Gerrit-PatchSet: 11 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 09:44: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 Jun 3 09:50:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Jun 2021 09:50: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 1: (2 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24513/1/src/common/main.c File src/common/main.c: https://gerrit.osmocom.org/c/osmo-bts/+/24513/1/src/common/main.c at 402 PS1, Line 402: LOGP > fprintf() -> LOGP() is unrelated, let's keep it consistent in this function. I think it's fine changing this since anyway he's changing lots of lines around this one. https://gerrit.osmocom.org/c/osmo-bts/+/24513/1/src/common/main.c at 419 PS1, Line 419: BSC > I suggest to clarify which connection, because together with OML you also have RSL connections: [?] Ack -- 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: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 09:50:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 09:54:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Jun 2021 09:54:18 +0000 Subject: Change in libosmo-abis[master]: ipa: add optional connect timeout to ipa_client_conn_open In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24514 ) Change subject: ipa: add optional connect timeout to ipa_client_conn_open ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/libosmo-abis/+/24514/1/src/input/ipa.c File src/input/ipa.c: https://gerrit.osmocom.org/c/libosmo-abis/+/24514/1/src/input/ipa.c at 233 PS1, Line 233: > ws He's just adding a new line here because he's adding new blocks to the function, so that different steps are more readable. It's fine adding this new line as part of the change. https://gerrit.osmocom.org/c/libosmo-abis/+/24514/1/src/input/ipa.c at 247 PS1, Line 247: ret = osmo_sock_wait(link->ofd->fd, timeout_msec); So this is the use case you were saying it's fine blocking? Inside a library function? Doesn't look correct to me at first glance. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I7bc4345876e3c20266985270d0ddfa770437a053 Gerrit-Change-Number: 24514 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 09:54:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 09:54:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Jun 2021 09:54:36 +0000 Subject: Change in libosmocore[master]: fsm: cosmetic: fix weird spacing in osmo_fsm_inst_alloc() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24525 ) Change subject: fsm: cosmetic: fix weird spacing in osmo_fsm_inst_alloc() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I199085e717c6ebdc9061a0c9fa9a96bfbc11a74a Gerrit-Change-Number: 24525 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 09:54: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 Jun 3 09:55:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Jun 2021 09:55:28 +0000 Subject: Change in osmo-bts[master]: measurement: remove over-defensive checks in is_meas_complete() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24527 ) Change subject: measurement: remove over-defensive checks in is_meas_complete() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6d20d7cba49cc8b6d1dc2192598ca372b7d2c5bf Gerrit-Change-Number: 24527 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 09:55: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 Jun 3 09:56:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Jun 2021 09:56:55 +0000 Subject: Change in osmo-bts[master]: trx_sched_is_sacch_fn(): fix handling of dynamic timeslots In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24526 ) Change subject: trx_sched_is_sacch_fn(): fix handling of dynamic timeslots ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia5e337e897b595e7de6e504664c969b583cc02a1 Gerrit-Change-Number: 24526 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 09:56: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 Jun 3 10:18:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Jun 2021 10:18:04 +0000 Subject: Change in osmo-bts[master]: [VAMOS] Implement the concept of 'shadow' timeslots In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24153 ) Change subject: [VAMOS] Implement the concept of 'shadow' timeslots ...................................................................... Patch Set 12: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24153/12/include/osmo-bts/gsm_data.h File include/osmo-bts/gsm_data.h: https://gerrit.osmocom.org/c/osmo-bts/+/24153/12/include/osmo-bts/gsm_data.h at 526 PS12, Line 526: "bts=%u,trx=%u,ts=%u" "%s" I don't really get why do you separate the %s into a different string here... -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24153 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I48b44b4df9ffb1cca105aebbd868c29b21f3b1d6 Gerrit-Change-Number: 24153 Gerrit-PatchSet: 12 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 10:18:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 10:19:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Jun 2021 10:19:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests.cfg: also execute LAPDm related test cases In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24528 ) Change subject: BTS_Tests.cfg: also execute LAPDm related test cases ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If632fdd740634e4e115e4aea56940033b18f5736 Gerrit-Change-Number: 24528 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 10:19: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 Jun 3 10:21:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Jun 2021 10:21:02 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/BTS_Tests.cfg: execute VAMOS specific test cases In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24529 ) Change subject: ttcn3-bts-test/BTS_Tests.cfg: execute VAMOS specific test cases ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I421f6ce5b689cd221f000043fcc0f5985e266e95 Gerrit-Change-Number: 24529 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 10:21:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 10:21:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Jun 2021 10:21:50 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-omldummy: allocate shadow timeslots In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24155 ) Change subject: [VAMOS] osmo-bts-omldummy: allocate shadow timeslots ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24155 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4aa9a8bb35bd828d6f25d5690297e727dace5974 Gerrit-Change-Number: 24155 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 10:21:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 10:24:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Jun 2021 10:24:19 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: schedule bursts on 'shadow' timeslots In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24440 ) Change subject: [VAMOS] osmo-bts-trx: schedule bursts on 'shadow' timeslots ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3e0bdf8c03273f66991aa1764029ab1dd3528d7e Gerrit-Change-Number: 24440 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 10: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 Jun 3 11:12:33 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 3 Jun 2021 11:12:33 +0000 Subject: Change in osmo-bsc[master]: fixup for Mode Modify TSC In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24516 ) Change subject: fixup for Mode Modify TSC ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24516 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I87ecf7d9266f37f4c775d029e277b614671a9401 Gerrit-Change-Number: 24516 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 11:12: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 Jun 3 11:12:53 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 3 Jun 2021 11:12:53 +0000 Subject: Change in osmo-bsc[master]: fix rc handling in channel_mode_from_lchan() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24517 ) Change subject: fix rc handling in channel_mode_from_lchan() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24517 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I52e13b24ce67e288ff32dbdaa1c1759089926f5c Gerrit-Change-Number: 24517 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 11:12:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 11:15:18 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 3 Jun 2021 11:15:18 +0000 Subject: Change in osmo-bsc[master]: vty-test: osmo-bsc.vty: test doc of lchan activate cmd In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24387 ) Change subject: vty-test: osmo-bsc.vty: test doc of lchan activate cmd ...................................................................... Patch Set 11: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6379e306fb8fa6ec227125c6cf14893d674e7596 Gerrit-Change-Number: 24387 Gerrit-PatchSet: 11 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 11:15: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 Jun 3 11:20:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Jun 2021 11:20:56 +0000 Subject: Change in osmo-gsm-tester[master]: util: adds the feature to force the rpath when patching files. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 ) Change subject: util: adds the feature to force the rpath when patching files. ...................................................................... Patch Set 1: Hi, answering to your questions: * I agree adding new param to change_elf_rpath sounds better than adding a new function * I think it makes sense having different jenkins-build-*.sh script to build on different platforms. We do that for instance when building software we run in a sysmobts or OC2G BTS (armv5(?) each with its own yocto SDK and hence library versions), see jenkins-build-osmo-bts-* and jenkins-build-osmo-pcu-*.sh. The idea is to reuse as much as possible the -common.sh bits from the new file, ex jenkins-build-srslte-bbu.sh. You could add for instance a new global envvar PATCHELF_EXTRA_ARGS in -common.sh and then set it in jenkins-build-srslte-bbu.sh PATCHELF_EXTRA_ARGS="--force-rpath". * Regarding LD_LIBRARY_PATH failing, it would be great to know why. Generally the way to find out is to ssh into the target host, then run the process manually: LD_LIBRARY_PATH="..." ./srsenb and see what it errors about. Also using ldd quickly tells you which is the library not being found: LD_LIBRARY_PATH="..." ldd ./srsenb. IIRC there's also some envvar you can set to tell the dynamic loader to enter debug mode and print lots of info. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2d4a105d4843c0d31d6b5d8f8d4195247b290aec Gerrit-Change-Number: 24272 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 11:20:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 11:57:23 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 3 Jun 2021 11:57:23 +0000 Subject: Change in osmo-bsc[master]: VTY: add lchan re-assignment command 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/+/24381 to look at the new patch set (#21). Change subject: VTY: add lchan re-assignment command ...................................................................... VTY: add lchan re-assignment command Add VTY command to trigger an intra-cell re-assignment, also allowing to re-assign to a secondary VAMOS lchan. Related: SYS#5315 OS#4940 Change-Id: If006f5caaf83b07675f57e5665cfa79328da55e6 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c M tests/osmo-bsc.vty 4 files changed, 129 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/81/24381/21 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If006f5caaf83b07675f57e5665cfa79328da55e6 Gerrit-Change-Number: 24381 Gerrit-PatchSet: 21 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 12:19:22 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 3 Jun 2021 12:19:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn 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-ttcn3-hacks/+/24411 to look at the new patch set (#13). Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... add bsc/BSC_Tests_VAMOS.ttcn BSC_Tests_VAMOS.ttcn is separate from BSC_Tests.ttcn in order to instruct osmo-bts-omldummy to pass BTS_FEAT_VAMOS == true in the OML BTS attributes. Add tests: TC_chan_act_to_vamos() TC_mode_modify_to_vamos_fr() TC_mode_modify_to_vamos_hr() TC_assign_to_secondary_lchan_fr() TC_assign_to_secondary_lchan_hr() TC_vamos_multiplex_tch_f_tch_f() TC_vamos_multiplex_tch_h_tch_h_tch_h_tch_h() Change-Id: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 --- M bsc/BSC_Tests.ttcn A bsc/BSC_Tests_VAMOS.ttcn M library/L3_Templates.ttcn M library/RSL_Types.ttcn 4 files changed, 859 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/11/24411/13 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 13 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 Jun 3 12:22:31 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 3 Jun 2021 12:22:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 ) Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... Patch Set 13: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411/10/bsc/BSC_Tests_VAMOS.ttcn File bsc/BSC_Tests_VAMOS.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411/10/bsc/BSC_Tests_VAMOS.ttcn at 89 PS10, Line 89: var integer subslot; > I would set it to 0, otherwise you may return an unbound value. if a test calls this function on an unimplemented channel type, we should rather get an error message, so added that instead. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 13 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 12:22:31 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 12:25:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Jun 2021 12:25:31 +0000 Subject: Change in libosmocore[master]: ns2: Use NSVC bufid in stats report In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24468 ) Change subject: ns2: Use NSVC bufid in stats report ...................................................................... Patch Set 3: > Patch Set 3: Code-Review-1 > > We should improve the ids for UDP before merging this. At least UDP id are not unique as we can have a single NSE with 2x NSVCs. Both NSVCs have the same remote endpoints, but a different local bind. lynxis can you take care about this work mentioned above? You know far more about the details on that. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4c696c615ba3416f8524d0797ce06c0ecd3a18f2 Gerrit-Change-Number: 24468 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 03 Jun 2021 12:25:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 12:36:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 12:36:22 +0000 Subject: Change in simtrace2[master]: firmware: octsimtest: Fix IO_DIR pin definition References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24532 ) Change subject: firmware: octsimtest: Fix IO_DIR pin definition ...................................................................... firmware: octsimtest: Fix IO_DIR pin definition Change-Id: I776c9106bcd4ceb24a5d50ea05c6025dedb73822 --- M firmware/libboard/octsimtest/include/board.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/32/24532/1 diff --git a/firmware/libboard/octsimtest/include/board.h b/firmware/libboard/octsimtest/include/board.h index 2d8a896..171b2c1 100644 --- a/firmware/libboard/octsimtest/include/board.h +++ b/firmware/libboard/octsimtest/include/board.h @@ -63,7 +63,7 @@ /* Phone CLK clock input (CLK_PHONE in schematic) */ #define PIN_PHONE_CLK {PIO_PA23A_SCK1, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} /* Pin used to switch level shifter in I/O line between rx (0) and tx (1) */ -#define PIN_USIM1_IO_DIR {PIO_PA16, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_OUTPUT_0} +#define PIN_USIM1_IO_DIR {PIO_PA26, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} /* Pin used for phone USIM slot 1 communication */ #define PINS_USIM1 PIN_PHONE_IO, PIN_PHONE_CLK, PIN_PHONE_CLK_INPUT, PIN_USIM1_VCC, PIN_PHONE_IO_INPUT, PIN_USIM1_nRST, PIN_USIM1_IO_DIR /* Phone I/O data signal input/output (unused USART RX input; connected to I/O_PHONE in schematic) */ -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24532 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I776c9106bcd4ceb24a5d50ea05c6025dedb73822 Gerrit-Change-Number: 24532 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 12:38:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 12:38:02 +0000 Subject: Change in simtrace2[master]: firmware: octsimtest: Make slot mux configurable via USB References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24533 ) Change subject: firmware: octsimtest: Make slot mux configurable via USB ...................................................................... firmware: octsimtest: Make slot mux configurable via USB Change-Id: I4cdb250d2e1dbc5b8b0169f8b7c21e288b492e1d --- M firmware/libboard/octsimtest/include/board.h M firmware/libboard/octsimtest/include/mux.h M firmware/libboard/octsimtest/source/mux.c M firmware/libcommon/include/simtrace_prot.h M firmware/libcommon/source/card_emu.c 5 files changed, 36 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/33/24533/1 diff --git a/firmware/libboard/octsimtest/include/board.h b/firmware/libboard/octsimtest/include/board.h index 171b2c1..ad21a1f 100644 --- a/firmware/libboard/octsimtest/include/board.h +++ b/firmware/libboard/octsimtest/include/board.h @@ -109,6 +109,8 @@ #define VCC_UV_THRESH_1V8 (1500000*47)/(47+30) #define VCC_UV_THRESH_3V (2500000*47)/(47+30) +#define HAVE_SLOT_MUX + /** Supported modes */ /* SIMtrace board supports sniffer mode */ //#define HAVE_SNIFFER diff --git a/firmware/libboard/octsimtest/include/mux.h b/firmware/libboard/octsimtest/include/mux.h index ba7ae9f..3181478 100644 --- a/firmware/libboard/octsimtest/include/mux.h +++ b/firmware/libboard/octsimtest/include/mux.h @@ -1,7 +1,8 @@ #pragma once void mux_init(void); -void mux_set_slot(uint8_t s); +int mux_set_slot(uint8_t s); +int mux_get_slot(void); void mux_set_freq(uint8_t s); /* this reflects the wiring between U5 and U4 */ diff --git a/firmware/libboard/octsimtest/source/mux.c b/firmware/libboard/octsimtest/source/mux.c index 8d9f625..54c6cb6 100644 --- a/firmware/libboard/octsimtest/source/mux.c +++ b/firmware/libboard/octsimtest/source/mux.c @@ -20,6 +20,7 @@ #include "board.h" #include "mux.h" #include +#include /* 3-bit S0..S2 signal for slot selection */ static const Pin pin_in_sel[3] = { @@ -38,6 +39,8 @@ /* low-active output enable for all muxes */ static const Pin pin_oe = { PIO_PA19, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT }; +static uint8_t g_mux_slot = 0; + /* initialize the external 1:8 multiplexers */ void mux_init(void) { @@ -49,10 +52,13 @@ } /* set the slot selection mux */ -void mux_set_slot(uint8_t s) +int mux_set_slot(uint8_t s) { printf("%s(%u)\r\n", __func__, s); + if (s > 7) + return -EINVAL; + /* !OE = H: disconnect input and output of muxes */ PIO_Set(&pin_oe); @@ -71,6 +77,14 @@ /* !OE = L: (re-)enable the output of muxes */ PIO_Clear(&pin_oe); + + g_mux_slot = s; + return s; +} + +int mux_get_slot(void) +{ + return g_mux_slot; } /* set the frequency divider mux */ diff --git a/firmware/libcommon/include/simtrace_prot.h b/firmware/libcommon/include/simtrace_prot.h index e550616..5eb4f59 100644 --- a/firmware/libcommon/include/simtrace_prot.h +++ b/firmware/libcommon/include/simtrace_prot.h @@ -269,6 +269,8 @@ struct cardemu_usb_msg_config { /* bit-mask of CEMU_FEAT_F flags */ uint32_t features; + /* the selected slot number (if an external mux is present) */ + uint8_t slot_mux_nr; } __attribute__ ((packed)); /*********************************************************************** diff --git a/firmware/libcommon/source/card_emu.c b/firmware/libcommon/source/card_emu.c index bcd5fd6..4b84039 100644 --- a/firmware/libcommon/source/card_emu.c +++ b/firmware/libcommon/source/card_emu.c @@ -33,6 +33,9 @@ #include #include +#ifdef HAVE_SLOT_MUX +#include "mux.h" +#endif #define NUM_SLOTS 2 @@ -1079,6 +1082,12 @@ cfg = (struct cardemu_usb_msg_config *) msgb_put(msg, sizeof(*cfg)); cfg->features = ch->features; +#ifdef HAVE_SLOT_MUX + cfg->slot_mux_nr = mux_get_slot(); +#else + cfg->slot_mux_nr = 0; +#endif + usb_buf_upd_len_and_submit(msg); } @@ -1241,6 +1250,12 @@ if (scfg_len >= sizeof(uint32_t)) ch->features = (scfg->features & SUPPORTED_FEATURES); +#ifdef HAVE_SLOT_MUX + if (scfg_len >= sizeof(uint32_t)+sizeof(uint8_t)) { + mux_set_slot(scfg->slot_mux_nr); + } +#endif + /* send back a report of our current configuration */ card_emu_report_config(ch); -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24533 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I4cdb250d2e1dbc5b8b0169f8b7c21e288b492e1d Gerrit-Change-Number: 24533 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 12:38:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 12:38:02 +0000 Subject: Change in simtrace2[master]: firmware: octsimtest: mcp23017 initializaiton References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24534 ) Change subject: firmware: octsimtest: mcp23017 initializaiton ...................................................................... firmware: octsimtest: mcp23017 initializaiton * driver should not have hard-coded understanding about I/O directions * board code should pass the I/O direction to driver * board code should use the correct I/O directions (A0..7, B0: output) Change-Id: Id4a8e012a33cee01bb489e612e17920760b9be59 --- M firmware/libboard/octsimtest/include/mcp23017.h M firmware/libboard/octsimtest/source/board_octsimtest.c M firmware/libboard/octsimtest/source/mcp23017.c 3 files changed, 20 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/34/24534/1 diff --git a/firmware/libboard/octsimtest/include/mcp23017.h b/firmware/libboard/octsimtest/include/mcp23017.h index 962a1d5..c0f4b13 100644 --- a/firmware/libboard/octsimtest/include/mcp23017.h +++ b/firmware/libboard/octsimtest/include/mcp23017.h @@ -18,7 +18,7 @@ #define MCP23017_ADDRESS 0x20 -int mcp23017_init(uint8_t slave); +int mcp23017_init(uint8_t slave, uint8_t iodira, uint8_t iodirb); int mcp23017_test(uint8_t slave); int mcp23017_toggle(uint8_t slave); //int mcp23017_write_byte(uint8_t slave, uint8_t addr, uint8_t byte); diff --git a/firmware/libboard/octsimtest/source/board_octsimtest.c b/firmware/libboard/octsimtest/source/board_octsimtest.c index 85d8aab..404bef6 100644 --- a/firmware/libboard/octsimtest/source/board_octsimtest.c +++ b/firmware/libboard/octsimtest/source/board_octsimtest.c @@ -17,6 +17,7 @@ * 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 "simtrace.h" #include "utils.h" @@ -27,6 +28,8 @@ #include "mcp23017.h" #include "mux.h" +static bool mcp2317_present = false; + void board_exec_dbg_cmd(int ch) { switch (ch) { @@ -69,8 +72,9 @@ mux_init(); i2c_pin_init(); - if (!mcp23017_init(MCP23017_ADDRESS)) - printf("mcp23017 not found!\n\r"); + /* PORT A: all outputs, Port B0 output, B1..B7 unused */ + if (mcp23017_init(MCP23017_ADDRESS, 0x00, 0xfe) == 0) + mcp2317_present = true; /* Initialize checking for card insert/remove events */ //card_present_init(); #endif diff --git a/firmware/libboard/octsimtest/source/mcp23017.c b/firmware/libboard/octsimtest/source/mcp23017.c index 167bf34..a4d055f 100644 --- a/firmware/libboard/octsimtest/source/mcp23017.c +++ b/firmware/libboard/octsimtest/source/mcp23017.c @@ -92,19 +92,25 @@ return 0; } -int mcp23017_init(uint8_t slave) +int mcp23017_init(uint8_t slave, uint8_t iodira, uint8_t iodirb) { printf("mcp23017_init\n\r"); + // all gpio input - if (mcp23017_write_byte(slave, MCP23017_IODIRA, 0xff)) - return false; + if (mcp23017_write_byte(slave, MCP23017_IODIRA, iodira)) + goto out_err; // msb of portb output, rest input - if (mcp23017_write_byte(slave, MCP23017_IODIRB, 0x7f)) - return false; + if (mcp23017_write_byte(slave, MCP23017_IODIRB, iodirb)) + goto out_err; if (mcp23017_write_byte(slave, MCP23017_IOCONA, 0x20)) //disable SEQOP (autoinc addressing) - return false; + goto out_err; + printf("mcp23017 found\n\r"); - return true; + return 0; + +out_err: + printf("mcp23017 NOT found!\n\r"); + return -1; } int mcp23017_test(uint8_t slave) -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24534 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Id4a8e012a33cee01bb489e612e17920760b9be59 Gerrit-Change-Number: 24534 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 12:38:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 12:38:04 +0000 Subject: Change in simtrace2[master]: firmware: cardem: re-factor CARDINSERT command processing References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24535 ) Change subject: firmware: cardem: re-factor CARDINSERT command processing ...................................................................... firmware: cardem: re-factor CARDINSERT command processing move it out of the general command dispatch switch statement and into a separate function. Change-Id: Ia40c3d9999be68248da0dcc69d298450ca6e4869 --- M firmware/libcommon/source/mode_cardemu.c 1 file changed, 17 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/35/24535/1 diff --git a/firmware/libcommon/source/mode_cardemu.c b/firmware/libcommon/source/mode_cardemu.c index 8a59e16..3863767 100644 --- a/firmware/libcommon/source/mode_cardemu.c +++ b/firmware/libcommon/source/mode_cardemu.c @@ -652,6 +652,22 @@ usb_buf_free(msg); } +static void process_card_insert(struct cardem_inst *ci, bool card_insert) +{ + TRACE_INFO("%u: set card_insert to %s\r\n", ci->num, card_insert ? "INSERTED" : "REMOVED"); + + if (!ci->pin_insert.pio) { + TRACE_INFO("%u: skipping unsupported card_insert to %s\r\n", + ci->num, card_insert ? "INSERTED" : "REMOVED"); + return; + } + + if (card_insert) + PIO_Set(&ci->pin_insert); + else + PIO_Clear(&ci->pin_insert); +} + /* handle a single USB command as received from the USB host */ static void dispatch_usb_command_cardem(struct msgb *msg, struct cardem_inst *ci) { @@ -675,18 +691,7 @@ break; case SIMTRACE_MSGT_DT_CEMU_CARDINSERT: cardins = (struct cardemu_usb_msg_cardinsert *) msg->l2h; - if (!ci->pin_insert.pio) { - TRACE_INFO("%u: skipping unsupported card_insert to %s\r\n", - ci->num, cardins->card_insert ? "INSERTED" : "REMOVED"); - usb_buf_free(msg); - break; - } - TRACE_INFO("%u: set card_insert to %s\r\n", ci->num, - cardins->card_insert ? "INSERTED" : "REMOVED"); - if (cardins->card_insert) - PIO_Set(&ci->pin_insert); - else - PIO_Clear(&ci->pin_insert); + process_card_insert(ci, cardins->card_insert); usb_buf_free(msg); break; case SIMTRACE_MSGT_BD_CEMU_STATUS: -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ia40c3d9999be68248da0dcc69d298450ca6e4869 Gerrit-Change-Number: 24535 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 12:38:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 12:38:04 +0000 Subject: Change in simtrace2[master]: firmware: octsimtest: Support SIMTRACE_MSGT_DT_CEMU_CARDINSERT References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24536 ) Change subject: firmware: octsimtest: Support SIMTRACE_MSGT_DT_CEMU_CARDINSERT ...................................................................... firmware: octsimtest: Support SIMTRACE_MSGT_DT_CEMU_CARDINSERT The octsimtest board can control the card-insert contact of the OCTSIM under test via an external I2C gpio multiplexer; let's add support for that. Change-Id: I8c9b0c3d862a967832134b24252577739182da62 --- M firmware/libboard/octsimtest/include/board.h M firmware/libboard/octsimtest/include/mcp23017.h M firmware/libboard/octsimtest/source/board_octsimtest.c M firmware/libboard/octsimtest/source/mcp23017.c M firmware/libcommon/source/mode_cardemu.c 5 files changed, 35 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/36/24536/1 diff --git a/firmware/libboard/octsimtest/include/board.h b/firmware/libboard/octsimtest/include/board.h index ad21a1f..530f27b 100644 --- a/firmware/libboard/octsimtest/include/board.h +++ b/firmware/libboard/octsimtest/include/board.h @@ -111,6 +111,10 @@ #define HAVE_SLOT_MUX +#define HAVE_BOARD_CARDINSERT +struct cardem_inst; +void board_set_card_insert(struct cardem_inst *ci, bool card_insert); + /** Supported modes */ /* SIMtrace board supports sniffer mode */ //#define HAVE_SNIFFER diff --git a/firmware/libboard/octsimtest/include/mcp23017.h b/firmware/libboard/octsimtest/include/mcp23017.h index c0f4b13..190588f 100644 --- a/firmware/libboard/octsimtest/include/mcp23017.h +++ b/firmware/libboard/octsimtest/include/mcp23017.h @@ -21,5 +21,7 @@ int mcp23017_init(uint8_t slave, uint8_t iodira, uint8_t iodirb); int mcp23017_test(uint8_t slave); int mcp23017_toggle(uint8_t slave); +int mcp23017_set_output_a(uint8_t slave, uint8_t val); +int mcp23017_set_output_b(uint8_t slave, uint8_t val); //int mcp23017_write_byte(uint8_t slave, uint8_t addr, uint8_t byte); //int mcp23017_read_byte(uint8_t slave, uint8_t addr); diff --git a/firmware/libboard/octsimtest/source/board_octsimtest.c b/firmware/libboard/octsimtest/source/board_octsimtest.c index 404bef6..1c6a278 100644 --- a/firmware/libboard/octsimtest/source/board_octsimtest.c +++ b/firmware/libboard/octsimtest/source/board_octsimtest.c @@ -94,3 +94,18 @@ } else return 0; } + +void board_set_card_insert(struct cardem_inst *ci, bool card_insert) +{ + int s = mux_get_slot(); + + /* A0 .. A7 of the MCP are each connected to the gate of a FET which closes + * the sim-present signal of the respective slot */ + + if (mcp2317_present) { + /* we must enable card-presence of the active slot and disable it on all others */ + mcp23017_set_output_a(MCP23017_ADDRESS, (1 << s)); + } else { + TRACE_WARNING("No MCP23017 present; cannot set CARD_INSERT\r\n"); + } +} diff --git a/firmware/libboard/octsimtest/source/mcp23017.c b/firmware/libboard/octsimtest/source/mcp23017.c index a4d055f..bc6bd49 100644 --- a/firmware/libboard/octsimtest/source/mcp23017.c +++ b/firmware/libboard/octsimtest/source/mcp23017.c @@ -126,6 +126,16 @@ return 0; } +int mcp23017_set_output_a(uint8_t slave, uint8_t val) +{ + return mcp23017_write_byte(slave, MCP23017_OLATA, val); +} + +int mcp23017_set_output_b(uint8_t slave, uint8_t val) +{ + return mcp23017_write_byte(slave, MCP23017_OLATB, val); +} + int mcp23017_toggle(uint8_t slave) { // example writing MSB of gpio diff --git a/firmware/libcommon/source/mode_cardemu.c b/firmware/libcommon/source/mode_cardemu.c index 3863767..a357f15 100644 --- a/firmware/libcommon/source/mode_cardemu.c +++ b/firmware/libcommon/source/mode_cardemu.c @@ -656,6 +656,9 @@ { TRACE_INFO("%u: set card_insert to %s\r\n", ci->num, card_insert ? "INSERTED" : "REMOVED"); +#ifdef HAVE_BOARD_CARDINSERT + board_set_card_insert(ci, card_insert); +#else if (!ci->pin_insert.pio) { TRACE_INFO("%u: skipping unsupported card_insert to %s\r\n", ci->num, card_insert ? "INSERTED" : "REMOVED"); @@ -666,6 +669,7 @@ PIO_Set(&ci->pin_insert); else PIO_Clear(&ci->pin_insert); +#endif } /* handle a single USB command as received from the USB host */ -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24536 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I8c9b0c3d862a967832134b24252577739182da62 Gerrit-Change-Number: 24536 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 12:38:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 12:38:05 +0000 Subject: Change in simtrace2[master]: firmware: octsimtest: use TRACE_* macros instead of direct printf References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24537 ) Change subject: firmware: octsimtest: use TRACE_* macros instead of direct printf ...................................................................... firmware: octsimtest: use TRACE_* macros instead of direct printf Change-Id: I41864bc2f64905a4f2ccb50769b1840e8a490c76 --- M firmware/libboard/octsimtest/source/mcp23017.c M firmware/libboard/octsimtest/source/mux.c 2 files changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/37/24537/1 diff --git a/firmware/libboard/octsimtest/source/mcp23017.c b/firmware/libboard/octsimtest/source/mcp23017.c index bc6bd49..959f2c6 100644 --- a/firmware/libboard/octsimtest/source/mcp23017.c +++ b/firmware/libboard/octsimtest/source/mcp23017.c @@ -94,7 +94,7 @@ int mcp23017_init(uint8_t slave, uint8_t iodira, uint8_t iodirb) { - printf("mcp23017_init\n\r"); + TRACE_DEBUG("mcp23017_init\n\r"); // all gpio input if (mcp23017_write_byte(slave, MCP23017_IODIRA, iodira)) @@ -105,11 +105,11 @@ if (mcp23017_write_byte(slave, MCP23017_IOCONA, 0x20)) //disable SEQOP (autoinc addressing) goto out_err; - printf("mcp23017 found\n\r"); + TRACE_DEBUG("mcp23017 found\n\r"); return 0; out_err: - printf("mcp23017 NOT found!\n\r"); + TRACE_WARNING("mcp23017 NOT found!\n\r"); return -1; } diff --git a/firmware/libboard/octsimtest/source/mux.c b/firmware/libboard/octsimtest/source/mux.c index 54c6cb6..8800ba2 100644 --- a/firmware/libboard/octsimtest/source/mux.c +++ b/firmware/libboard/octsimtest/source/mux.c @@ -54,7 +54,7 @@ /* set the slot selection mux */ int mux_set_slot(uint8_t s) { - printf("%s(%u)\r\n", __func__, s); + TRACE_INFO("%s(%u)\r\n", __func__, s); if (s > 7) return -EINVAL; @@ -90,7 +90,7 @@ /* set the frequency divider mux */ void mux_set_freq(uint8_t s) { - printf("%s(%u)\r\n", __func__, s); + TRACE_INFO("%s(%u)\r\n", __func__, s); /* no need for 'break before make' here, this would also affect * the SIM card I/O signals which we don't want to disturb */ -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24537 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I41864bc2f64905a4f2ccb50769b1840e8a490c76 Gerrit-Change-Number: 24537 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 12:54:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 12:54:57 +0000 Subject: Change in simtrace2[master]: firmware: octsimtest: Fix IO_DIR pin definition In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24532 ) Change subject: firmware: octsimtest: Fix IO_DIR pin definition ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24532 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I776c9106bcd4ceb24a5d50ea05c6025dedb73822 Gerrit-Change-Number: 24532 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 03 Jun 2021 12:54:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 12:55:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 12:55:06 +0000 Subject: Change in simtrace2[master]: firmware: octsimtest: Make slot mux configurable via USB In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24533 ) Change subject: firmware: octsimtest: Make slot mux configurable via USB ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24533 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I4cdb250d2e1dbc5b8b0169f8b7c21e288b492e1d Gerrit-Change-Number: 24533 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 03 Jun 2021 12:55:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 12:55:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 12:55:19 +0000 Subject: Change in simtrace2[master]: firmware: octsimtest: mcp23017 initializaiton In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24534 ) Change subject: firmware: octsimtest: mcp23017 initializaiton ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24534 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Id4a8e012a33cee01bb489e612e17920760b9be59 Gerrit-Change-Number: 24534 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 03 Jun 2021 12:55: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 Jun 3 12:55:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 12:55:24 +0000 Subject: Change in simtrace2[master]: firmware: octsimtest: Fix IO_DIR pin definition In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24532 ) Change subject: firmware: octsimtest: Fix IO_DIR pin definition ...................................................................... firmware: octsimtest: Fix IO_DIR pin definition Change-Id: I776c9106bcd4ceb24a5d50ea05c6025dedb73822 --- M firmware/libboard/octsimtest/include/board.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/libboard/octsimtest/include/board.h b/firmware/libboard/octsimtest/include/board.h index 2d8a896..171b2c1 100644 --- a/firmware/libboard/octsimtest/include/board.h +++ b/firmware/libboard/octsimtest/include/board.h @@ -63,7 +63,7 @@ /* Phone CLK clock input (CLK_PHONE in schematic) */ #define PIN_PHONE_CLK {PIO_PA23A_SCK1, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} /* Pin used to switch level shifter in I/O line between rx (0) and tx (1) */ -#define PIN_USIM1_IO_DIR {PIO_PA16, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_OUTPUT_0} +#define PIN_USIM1_IO_DIR {PIO_PA26, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} /* Pin used for phone USIM slot 1 communication */ #define PINS_USIM1 PIN_PHONE_IO, PIN_PHONE_CLK, PIN_PHONE_CLK_INPUT, PIN_USIM1_VCC, PIN_PHONE_IO_INPUT, PIN_USIM1_nRST, PIN_USIM1_IO_DIR /* Phone I/O data signal input/output (unused USART RX input; connected to I/O_PHONE in schematic) */ -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24532 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I776c9106bcd4ceb24a5d50ea05c6025dedb73822 Gerrit-Change-Number: 24532 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 12:55:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 12:55:24 +0000 Subject: Change in simtrace2[master]: firmware: octsimtest: Make slot mux configurable via USB In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24533 ) Change subject: firmware: octsimtest: Make slot mux configurable via USB ...................................................................... firmware: octsimtest: Make slot mux configurable via USB Change-Id: I4cdb250d2e1dbc5b8b0169f8b7c21e288b492e1d --- M firmware/libboard/octsimtest/include/board.h M firmware/libboard/octsimtest/include/mux.h M firmware/libboard/octsimtest/source/mux.c M firmware/libcommon/include/simtrace_prot.h M firmware/libcommon/source/card_emu.c 5 files changed, 36 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/libboard/octsimtest/include/board.h b/firmware/libboard/octsimtest/include/board.h index 171b2c1..ad21a1f 100644 --- a/firmware/libboard/octsimtest/include/board.h +++ b/firmware/libboard/octsimtest/include/board.h @@ -109,6 +109,8 @@ #define VCC_UV_THRESH_1V8 (1500000*47)/(47+30) #define VCC_UV_THRESH_3V (2500000*47)/(47+30) +#define HAVE_SLOT_MUX + /** Supported modes */ /* SIMtrace board supports sniffer mode */ //#define HAVE_SNIFFER diff --git a/firmware/libboard/octsimtest/include/mux.h b/firmware/libboard/octsimtest/include/mux.h index ba7ae9f..3181478 100644 --- a/firmware/libboard/octsimtest/include/mux.h +++ b/firmware/libboard/octsimtest/include/mux.h @@ -1,7 +1,8 @@ #pragma once void mux_init(void); -void mux_set_slot(uint8_t s); +int mux_set_slot(uint8_t s); +int mux_get_slot(void); void mux_set_freq(uint8_t s); /* this reflects the wiring between U5 and U4 */ diff --git a/firmware/libboard/octsimtest/source/mux.c b/firmware/libboard/octsimtest/source/mux.c index 8d9f625..54c6cb6 100644 --- a/firmware/libboard/octsimtest/source/mux.c +++ b/firmware/libboard/octsimtest/source/mux.c @@ -20,6 +20,7 @@ #include "board.h" #include "mux.h" #include +#include /* 3-bit S0..S2 signal for slot selection */ static const Pin pin_in_sel[3] = { @@ -38,6 +39,8 @@ /* low-active output enable for all muxes */ static const Pin pin_oe = { PIO_PA19, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT }; +static uint8_t g_mux_slot = 0; + /* initialize the external 1:8 multiplexers */ void mux_init(void) { @@ -49,10 +52,13 @@ } /* set the slot selection mux */ -void mux_set_slot(uint8_t s) +int mux_set_slot(uint8_t s) { printf("%s(%u)\r\n", __func__, s); + if (s > 7) + return -EINVAL; + /* !OE = H: disconnect input and output of muxes */ PIO_Set(&pin_oe); @@ -71,6 +77,14 @@ /* !OE = L: (re-)enable the output of muxes */ PIO_Clear(&pin_oe); + + g_mux_slot = s; + return s; +} + +int mux_get_slot(void) +{ + return g_mux_slot; } /* set the frequency divider mux */ diff --git a/firmware/libcommon/include/simtrace_prot.h b/firmware/libcommon/include/simtrace_prot.h index e550616..5eb4f59 100644 --- a/firmware/libcommon/include/simtrace_prot.h +++ b/firmware/libcommon/include/simtrace_prot.h @@ -269,6 +269,8 @@ struct cardemu_usb_msg_config { /* bit-mask of CEMU_FEAT_F flags */ uint32_t features; + /* the selected slot number (if an external mux is present) */ + uint8_t slot_mux_nr; } __attribute__ ((packed)); /*********************************************************************** diff --git a/firmware/libcommon/source/card_emu.c b/firmware/libcommon/source/card_emu.c index bcd5fd6..4b84039 100644 --- a/firmware/libcommon/source/card_emu.c +++ b/firmware/libcommon/source/card_emu.c @@ -33,6 +33,9 @@ #include #include +#ifdef HAVE_SLOT_MUX +#include "mux.h" +#endif #define NUM_SLOTS 2 @@ -1079,6 +1082,12 @@ cfg = (struct cardemu_usb_msg_config *) msgb_put(msg, sizeof(*cfg)); cfg->features = ch->features; +#ifdef HAVE_SLOT_MUX + cfg->slot_mux_nr = mux_get_slot(); +#else + cfg->slot_mux_nr = 0; +#endif + usb_buf_upd_len_and_submit(msg); } @@ -1241,6 +1250,12 @@ if (scfg_len >= sizeof(uint32_t)) ch->features = (scfg->features & SUPPORTED_FEATURES); +#ifdef HAVE_SLOT_MUX + if (scfg_len >= sizeof(uint32_t)+sizeof(uint8_t)) { + mux_set_slot(scfg->slot_mux_nr); + } +#endif + /* send back a report of our current configuration */ card_emu_report_config(ch); -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24533 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I4cdb250d2e1dbc5b8b0169f8b7c21e288b492e1d Gerrit-Change-Number: 24533 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 12:55:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 12:55:25 +0000 Subject: Change in simtrace2[master]: firmware: octsimtest: mcp23017 initializaiton In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24534 ) Change subject: firmware: octsimtest: mcp23017 initializaiton ...................................................................... firmware: octsimtest: mcp23017 initializaiton * driver should not have hard-coded understanding about I/O directions * board code should pass the I/O direction to driver * board code should use the correct I/O directions (A0..7, B0: output) Change-Id: Id4a8e012a33cee01bb489e612e17920760b9be59 --- M firmware/libboard/octsimtest/include/mcp23017.h M firmware/libboard/octsimtest/source/board_octsimtest.c M firmware/libboard/octsimtest/source/mcp23017.c 3 files changed, 20 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/libboard/octsimtest/include/mcp23017.h b/firmware/libboard/octsimtest/include/mcp23017.h index 962a1d5..c0f4b13 100644 --- a/firmware/libboard/octsimtest/include/mcp23017.h +++ b/firmware/libboard/octsimtest/include/mcp23017.h @@ -18,7 +18,7 @@ #define MCP23017_ADDRESS 0x20 -int mcp23017_init(uint8_t slave); +int mcp23017_init(uint8_t slave, uint8_t iodira, uint8_t iodirb); int mcp23017_test(uint8_t slave); int mcp23017_toggle(uint8_t slave); //int mcp23017_write_byte(uint8_t slave, uint8_t addr, uint8_t byte); diff --git a/firmware/libboard/octsimtest/source/board_octsimtest.c b/firmware/libboard/octsimtest/source/board_octsimtest.c index 85d8aab..404bef6 100644 --- a/firmware/libboard/octsimtest/source/board_octsimtest.c +++ b/firmware/libboard/octsimtest/source/board_octsimtest.c @@ -17,6 +17,7 @@ * 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 "simtrace.h" #include "utils.h" @@ -27,6 +28,8 @@ #include "mcp23017.h" #include "mux.h" +static bool mcp2317_present = false; + void board_exec_dbg_cmd(int ch) { switch (ch) { @@ -69,8 +72,9 @@ mux_init(); i2c_pin_init(); - if (!mcp23017_init(MCP23017_ADDRESS)) - printf("mcp23017 not found!\n\r"); + /* PORT A: all outputs, Port B0 output, B1..B7 unused */ + if (mcp23017_init(MCP23017_ADDRESS, 0x00, 0xfe) == 0) + mcp2317_present = true; /* Initialize checking for card insert/remove events */ //card_present_init(); #endif diff --git a/firmware/libboard/octsimtest/source/mcp23017.c b/firmware/libboard/octsimtest/source/mcp23017.c index 167bf34..a4d055f 100644 --- a/firmware/libboard/octsimtest/source/mcp23017.c +++ b/firmware/libboard/octsimtest/source/mcp23017.c @@ -92,19 +92,25 @@ return 0; } -int mcp23017_init(uint8_t slave) +int mcp23017_init(uint8_t slave, uint8_t iodira, uint8_t iodirb) { printf("mcp23017_init\n\r"); + // all gpio input - if (mcp23017_write_byte(slave, MCP23017_IODIRA, 0xff)) - return false; + if (mcp23017_write_byte(slave, MCP23017_IODIRA, iodira)) + goto out_err; // msb of portb output, rest input - if (mcp23017_write_byte(slave, MCP23017_IODIRB, 0x7f)) - return false; + if (mcp23017_write_byte(slave, MCP23017_IODIRB, iodirb)) + goto out_err; if (mcp23017_write_byte(slave, MCP23017_IOCONA, 0x20)) //disable SEQOP (autoinc addressing) - return false; + goto out_err; + printf("mcp23017 found\n\r"); - return true; + return 0; + +out_err: + printf("mcp23017 NOT found!\n\r"); + return -1; } int mcp23017_test(uint8_t slave) -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24534 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Id4a8e012a33cee01bb489e612e17920760b9be59 Gerrit-Change-Number: 24534 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 12:55:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 12:55:36 +0000 Subject: Change in simtrace2[master]: firmware: cardem: re-factor CARDINSERT command processing In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24535 ) Change subject: firmware: cardem: re-factor CARDINSERT command processing ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ia40c3d9999be68248da0dcc69d298450ca6e4869 Gerrit-Change-Number: 24535 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 03 Jun 2021 12:55: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 Jun 3 12:55:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 12:55:49 +0000 Subject: Change in simtrace2[master]: firmware: octsimtest: Support SIMTRACE_MSGT_DT_CEMU_CARDINSERT In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24536 ) Change subject: firmware: octsimtest: Support SIMTRACE_MSGT_DT_CEMU_CARDINSERT ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24536 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I8c9b0c3d862a967832134b24252577739182da62 Gerrit-Change-Number: 24536 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 03 Jun 2021 12: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 Thu Jun 3 12:56:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 12:56:04 +0000 Subject: Change in simtrace2[master]: firmware: octsimtest: use TRACE_* macros instead of direct printf In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24537 ) Change subject: firmware: octsimtest: use TRACE_* macros instead of direct printf ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24537 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I41864bc2f64905a4f2ccb50769b1840e8a490c76 Gerrit-Change-Number: 24537 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 03 Jun 2021 12:56:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 12:56:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 12:56:06 +0000 Subject: Change in simtrace2[master]: firmware: cardem: re-factor CARDINSERT command processing In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24535 ) Change subject: firmware: cardem: re-factor CARDINSERT command processing ...................................................................... firmware: cardem: re-factor CARDINSERT command processing move it out of the general command dispatch switch statement and into a separate function. Change-Id: Ia40c3d9999be68248da0dcc69d298450ca6e4869 --- M firmware/libcommon/source/mode_cardemu.c 1 file changed, 17 insertions(+), 12 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/libcommon/source/mode_cardemu.c b/firmware/libcommon/source/mode_cardemu.c index 8a59e16..3863767 100644 --- a/firmware/libcommon/source/mode_cardemu.c +++ b/firmware/libcommon/source/mode_cardemu.c @@ -652,6 +652,22 @@ usb_buf_free(msg); } +static void process_card_insert(struct cardem_inst *ci, bool card_insert) +{ + TRACE_INFO("%u: set card_insert to %s\r\n", ci->num, card_insert ? "INSERTED" : "REMOVED"); + + if (!ci->pin_insert.pio) { + TRACE_INFO("%u: skipping unsupported card_insert to %s\r\n", + ci->num, card_insert ? "INSERTED" : "REMOVED"); + return; + } + + if (card_insert) + PIO_Set(&ci->pin_insert); + else + PIO_Clear(&ci->pin_insert); +} + /* handle a single USB command as received from the USB host */ static void dispatch_usb_command_cardem(struct msgb *msg, struct cardem_inst *ci) { @@ -675,18 +691,7 @@ break; case SIMTRACE_MSGT_DT_CEMU_CARDINSERT: cardins = (struct cardemu_usb_msg_cardinsert *) msg->l2h; - if (!ci->pin_insert.pio) { - TRACE_INFO("%u: skipping unsupported card_insert to %s\r\n", - ci->num, cardins->card_insert ? "INSERTED" : "REMOVED"); - usb_buf_free(msg); - break; - } - TRACE_INFO("%u: set card_insert to %s\r\n", ci->num, - cardins->card_insert ? "INSERTED" : "REMOVED"); - if (cardins->card_insert) - PIO_Set(&ci->pin_insert); - else - PIO_Clear(&ci->pin_insert); + process_card_insert(ci, cardins->card_insert); usb_buf_free(msg); break; case SIMTRACE_MSGT_BD_CEMU_STATUS: -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ia40c3d9999be68248da0dcc69d298450ca6e4869 Gerrit-Change-Number: 24535 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 12:56:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 12:56:06 +0000 Subject: Change in simtrace2[master]: firmware: octsimtest: Support SIMTRACE_MSGT_DT_CEMU_CARDINSERT In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24536 ) Change subject: firmware: octsimtest: Support SIMTRACE_MSGT_DT_CEMU_CARDINSERT ...................................................................... firmware: octsimtest: Support SIMTRACE_MSGT_DT_CEMU_CARDINSERT The octsimtest board can control the card-insert contact of the OCTSIM under test via an external I2C gpio multiplexer; let's add support for that. Change-Id: I8c9b0c3d862a967832134b24252577739182da62 --- M firmware/libboard/octsimtest/include/board.h M firmware/libboard/octsimtest/include/mcp23017.h M firmware/libboard/octsimtest/source/board_octsimtest.c M firmware/libboard/octsimtest/source/mcp23017.c M firmware/libcommon/source/mode_cardemu.c 5 files changed, 35 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/libboard/octsimtest/include/board.h b/firmware/libboard/octsimtest/include/board.h index ad21a1f..530f27b 100644 --- a/firmware/libboard/octsimtest/include/board.h +++ b/firmware/libboard/octsimtest/include/board.h @@ -111,6 +111,10 @@ #define HAVE_SLOT_MUX +#define HAVE_BOARD_CARDINSERT +struct cardem_inst; +void board_set_card_insert(struct cardem_inst *ci, bool card_insert); + /** Supported modes */ /* SIMtrace board supports sniffer mode */ //#define HAVE_SNIFFER diff --git a/firmware/libboard/octsimtest/include/mcp23017.h b/firmware/libboard/octsimtest/include/mcp23017.h index c0f4b13..190588f 100644 --- a/firmware/libboard/octsimtest/include/mcp23017.h +++ b/firmware/libboard/octsimtest/include/mcp23017.h @@ -21,5 +21,7 @@ int mcp23017_init(uint8_t slave, uint8_t iodira, uint8_t iodirb); int mcp23017_test(uint8_t slave); int mcp23017_toggle(uint8_t slave); +int mcp23017_set_output_a(uint8_t slave, uint8_t val); +int mcp23017_set_output_b(uint8_t slave, uint8_t val); //int mcp23017_write_byte(uint8_t slave, uint8_t addr, uint8_t byte); //int mcp23017_read_byte(uint8_t slave, uint8_t addr); diff --git a/firmware/libboard/octsimtest/source/board_octsimtest.c b/firmware/libboard/octsimtest/source/board_octsimtest.c index 404bef6..1c6a278 100644 --- a/firmware/libboard/octsimtest/source/board_octsimtest.c +++ b/firmware/libboard/octsimtest/source/board_octsimtest.c @@ -94,3 +94,18 @@ } else return 0; } + +void board_set_card_insert(struct cardem_inst *ci, bool card_insert) +{ + int s = mux_get_slot(); + + /* A0 .. A7 of the MCP are each connected to the gate of a FET which closes + * the sim-present signal of the respective slot */ + + if (mcp2317_present) { + /* we must enable card-presence of the active slot and disable it on all others */ + mcp23017_set_output_a(MCP23017_ADDRESS, (1 << s)); + } else { + TRACE_WARNING("No MCP23017 present; cannot set CARD_INSERT\r\n"); + } +} diff --git a/firmware/libboard/octsimtest/source/mcp23017.c b/firmware/libboard/octsimtest/source/mcp23017.c index a4d055f..bc6bd49 100644 --- a/firmware/libboard/octsimtest/source/mcp23017.c +++ b/firmware/libboard/octsimtest/source/mcp23017.c @@ -126,6 +126,16 @@ return 0; } +int mcp23017_set_output_a(uint8_t slave, uint8_t val) +{ + return mcp23017_write_byte(slave, MCP23017_OLATA, val); +} + +int mcp23017_set_output_b(uint8_t slave, uint8_t val) +{ + return mcp23017_write_byte(slave, MCP23017_OLATB, val); +} + int mcp23017_toggle(uint8_t slave) { // example writing MSB of gpio diff --git a/firmware/libcommon/source/mode_cardemu.c b/firmware/libcommon/source/mode_cardemu.c index 3863767..a357f15 100644 --- a/firmware/libcommon/source/mode_cardemu.c +++ b/firmware/libcommon/source/mode_cardemu.c @@ -656,6 +656,9 @@ { TRACE_INFO("%u: set card_insert to %s\r\n", ci->num, card_insert ? "INSERTED" : "REMOVED"); +#ifdef HAVE_BOARD_CARDINSERT + board_set_card_insert(ci, card_insert); +#else if (!ci->pin_insert.pio) { TRACE_INFO("%u: skipping unsupported card_insert to %s\r\n", ci->num, card_insert ? "INSERTED" : "REMOVED"); @@ -666,6 +669,7 @@ PIO_Set(&ci->pin_insert); else PIO_Clear(&ci->pin_insert); +#endif } /* handle a single USB command as received from the USB host */ -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24536 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I8c9b0c3d862a967832134b24252577739182da62 Gerrit-Change-Number: 24536 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 12:56:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 12:56:08 +0000 Subject: Change in simtrace2[master]: firmware: octsimtest: use TRACE_* macros instead of direct printf In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24537 ) Change subject: firmware: octsimtest: use TRACE_* macros instead of direct printf ...................................................................... firmware: octsimtest: use TRACE_* macros instead of direct printf Change-Id: I41864bc2f64905a4f2ccb50769b1840e8a490c76 --- M firmware/libboard/octsimtest/source/mcp23017.c M firmware/libboard/octsimtest/source/mux.c 2 files changed, 5 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/libboard/octsimtest/source/mcp23017.c b/firmware/libboard/octsimtest/source/mcp23017.c index bc6bd49..959f2c6 100644 --- a/firmware/libboard/octsimtest/source/mcp23017.c +++ b/firmware/libboard/octsimtest/source/mcp23017.c @@ -94,7 +94,7 @@ int mcp23017_init(uint8_t slave, uint8_t iodira, uint8_t iodirb) { - printf("mcp23017_init\n\r"); + TRACE_DEBUG("mcp23017_init\n\r"); // all gpio input if (mcp23017_write_byte(slave, MCP23017_IODIRA, iodira)) @@ -105,11 +105,11 @@ if (mcp23017_write_byte(slave, MCP23017_IOCONA, 0x20)) //disable SEQOP (autoinc addressing) goto out_err; - printf("mcp23017 found\n\r"); + TRACE_DEBUG("mcp23017 found\n\r"); return 0; out_err: - printf("mcp23017 NOT found!\n\r"); + TRACE_WARNING("mcp23017 NOT found!\n\r"); return -1; } diff --git a/firmware/libboard/octsimtest/source/mux.c b/firmware/libboard/octsimtest/source/mux.c index 54c6cb6..8800ba2 100644 --- a/firmware/libboard/octsimtest/source/mux.c +++ b/firmware/libboard/octsimtest/source/mux.c @@ -54,7 +54,7 @@ /* set the slot selection mux */ int mux_set_slot(uint8_t s) { - printf("%s(%u)\r\n", __func__, s); + TRACE_INFO("%s(%u)\r\n", __func__, s); if (s > 7) return -EINVAL; @@ -90,7 +90,7 @@ /* set the frequency divider mux */ void mux_set_freq(uint8_t s) { - printf("%s(%u)\r\n", __func__, s); + TRACE_INFO("%s(%u)\r\n", __func__, s); /* no need for 'break before make' here, this would also affect * the SIM card I/O signals which we don't want to disturb */ -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24537 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I41864bc2f64905a4f2ccb50769b1840e8a490c76 Gerrit-Change-Number: 24537 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 13:07:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 13:07:06 +0000 Subject: Change in simtrace2[master]: firmware: octsimtest: Fix disabling the card_insert signal References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24538 ) Change subject: firmware: octsimtest: Fix disabling the card_insert signal ...................................................................... firmware: octsimtest: Fix disabling the card_insert signal Back in I8c9b0c3d862a967832134b24252577739182da62 we added support for enabling the card_insert signal, but not for explicit disable of it. Let's fix that. Change-Id: I6f32bde60674119c9912e51059a53b5ee74d074a --- M firmware/libboard/octsimtest/source/board_octsimtest.c 1 file changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/38/24538/1 diff --git a/firmware/libboard/octsimtest/source/board_octsimtest.c b/firmware/libboard/octsimtest/source/board_octsimtest.c index 1c6a278..5dff046 100644 --- a/firmware/libboard/octsimtest/source/board_octsimtest.c +++ b/firmware/libboard/octsimtest/source/board_octsimtest.c @@ -103,8 +103,13 @@ * the sim-present signal of the respective slot */ if (mcp2317_present) { - /* we must enable card-presence of the active slot and disable it on all others */ - mcp23017_set_output_a(MCP23017_ADDRESS, (1 << s)); + if (card_insert) { + /* we must enable card-presence of the active slot and disable it on all others */ + mcp23017_set_output_a(MCP23017_ADDRESS, (1 << s)); + } else { + /* we disable all card insert signals */ + mcp23017_set_output_a(MCP23017_ADDRESS, 0); + } } else { TRACE_WARNING("No MCP23017 present; cannot set CARD_INSERT\r\n"); } -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I6f32bde60674119c9912e51059a53b5ee74d074a Gerrit-Change-Number: 24538 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 13:09:14 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 3 Jun 2021 13:09:14 +0000 Subject: Change in osmo-bsc[master]: RSL chan_nr: replace OSMO_ASSERT with error 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-bsc/+/24524 to look at the new patch set (#3). Change subject: RSL chan_nr: replace OSMO_ASSERT with error handling ...................................................................... RSL chan_nr: replace OSMO_ASSERT with error handling It's bad to abort the program for an incompatible chan_nr. Instead of OSMO_ASSERT(), make sure that error handling happens all they way to the original callers of gsm_lchan2chan_nr etc. This is also preparation to add further error causes: Osmocom specific cbits needed for a non-Osmo BTS. Related: SYS#5315 OS#4940 Change-Id: I71ed6437c403a3f9336e17a94b4948fca295d853 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lcs_loc_req.c M src/osmo-bsc/osmo_bsc_lcls.c M src/osmo-bsc/system_information.c M tests/handover/handover_test.c 8 files changed, 184 insertions(+), 60 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/24/24524/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71ed6437c403a3f9336e17a94b4948fca295d853 Gerrit-Change-Number: 24524 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 Jun 3 13:09:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 13:09:53 +0000 Subject: Change in simtrace2[master]: firmware: octsimtest: Fix disabling the card_insert signal In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24538 ) Change subject: firmware: octsimtest: Fix disabling the card_insert signal ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I6f32bde60674119c9912e51059a53b5ee74d074a Gerrit-Change-Number: 24538 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 03 Jun 2021 13:09: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 Jun 3 13:10:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Jun 2021 13:10:00 +0000 Subject: Change in osmo-bsc[master]: RSL chan_nr: replace OSMO_ASSERT with error handling In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24524 ) Change subject: RSL chan_nr: replace OSMO_ASSERT with error handling ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71ed6437c403a3f9336e17a94b4948fca295d853 Gerrit-Change-Number: 24524 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 13: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 Thu Jun 3 13:10:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 13:10:03 +0000 Subject: Change in simtrace2[master]: firmware: octsimtest: Fix disabling the card_insert signal In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24538 ) Change subject: firmware: octsimtest: Fix disabling the card_insert signal ...................................................................... firmware: octsimtest: Fix disabling the card_insert signal Back in I8c9b0c3d862a967832134b24252577739182da62 we added support for enabling the card_insert signal, but not for explicit disable of it. Let's fix that. Change-Id: I6f32bde60674119c9912e51059a53b5ee74d074a --- M firmware/libboard/octsimtest/source/board_octsimtest.c 1 file changed, 7 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/libboard/octsimtest/source/board_octsimtest.c b/firmware/libboard/octsimtest/source/board_octsimtest.c index 1c6a278..5dff046 100644 --- a/firmware/libboard/octsimtest/source/board_octsimtest.c +++ b/firmware/libboard/octsimtest/source/board_octsimtest.c @@ -103,8 +103,13 @@ * the sim-present signal of the respective slot */ if (mcp2317_present) { - /* we must enable card-presence of the active slot and disable it on all others */ - mcp23017_set_output_a(MCP23017_ADDRESS, (1 << s)); + if (card_insert) { + /* we must enable card-presence of the active slot and disable it on all others */ + mcp23017_set_output_a(MCP23017_ADDRESS, (1 << s)); + } else { + /* we disable all card insert signals */ + mcp23017_set_output_a(MCP23017_ADDRESS, 0); + } } else { TRACE_WARNING("No MCP23017 present; cannot set CARD_INSERT\r\n"); } -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I6f32bde60674119c9912e51059a53b5ee74d074a Gerrit-Change-Number: 24538 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 13:27:33 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 3 Jun 2021 13:27:33 +0000 Subject: Change in osmo-bsc[master]: RSL chan_nr: replace OSMO_ASSERT with error handling In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24524 ) Change subject: RSL chan_nr: replace OSMO_ASSERT with error handling ...................................................................... Patch Set 3: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24524/3/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24524/3/src/osmo-bsc/abis_rsl.c at 292 PS3, Line 292: maybe cast to (uint8_t) to mark that this is cast (chan_nr was uint8_t before) ? https://gerrit.osmocom.org/c/osmo-bsc/+/24524/3/src/osmo-bsc/osmo_bsc_lcls.c File src/osmo-bsc/osmo_bsc_lcls.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24524/3/src/osmo-bsc/osmo_bsc_lcls.c at 253 PS3, Line 253: msg = rsl_make_ipacc_mdcx(lchan, ip, port); Isn't that unrelated? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71ed6437c403a3f9336e17a94b4948fca295d853 Gerrit-Change-Number: 24524 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 13:27:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 14:49:44 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Thu, 3 Jun 2021 14:49:44 +0000 Subject: Change in osmo-gsm-tester[master]: util: adds the feature to force the rpath when patching files. In-Reply-To: References: Message-ID: alealcon has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 ) Change subject: util: adds the feature to force the rpath when patching files. ...................................................................... Patch Set 1: Hi Pau, some comments for each question: - Should I remove the function and add that parameter to the normal patchelf function? This will help us (as I prefer to set an absolute path on deploy rather that on build), but if you don't approve to modify the rpath inside the srs-enb.py file it doesn't make sense this change and we can remove this commit. - I agree with you that it makes sense to have different build scripts, each of them supporting different platforms (ppc, aarch64, armv7). What I don't like is that I must set an absolute path for the patchelf utility in those scripts, because if I have 2 different boards with the same platform (ppc for example) that path can change between boards due hardware specs. I would really love to avoid that. If you prefer that I add a jenkins-build-stslte-bbu.sh I'm thinking to add 2 variables to the jenkins-build-commmon.sh: PATCHELF_RPATH_ARGS='--set-rpath' and PATCHELF_RPATH_DIR='$ORIGIN/../lib/' by default. The jenkins-build-stslte-bbu.sh will overwrite those values to PATCHELF_RPATH_ARGS='--force-rpath --set-rpath' and PATCHELF_RPATH_DIR='/mnt/nfs/bdlibs/'. The call within the *-common.sh would be: if [ -d bin/ ]; then find bin -depth -type f -exec patchelf $PATCHELF_RPATH_ARGS $PATCHELF_RPATH_DIR {} \; fi if [ -d sbin/ ]; then find sbin -depth -type f -exec patchelf $PATCHELF_RPATH_ARGS $PATCHELF_RPATH_DIR {} \; Does it sound good to you? One last question regarding the patchelf that is done in jenkins-build-common.sh. Why does that script sets the rpath? Is there a file where the "LD_LIBRARY_PATH" is not set before launching the binary? I ask this, because I configure the rpath and the dynamic-linker in the toolchain, and I've tested that removing the call to "add_rpath" in the jenkins-build-common.sh makes the srsenb works without patching it or configuring the LD_LIBRARY_PATH in enb-srs.py. - I did that test. I removed the rpath from a binary and run ldd root at b4860qds:# LD_LIBRARY_PATH='/mnt/nfs/osmo-gsm-tester-srsenb/srslte/lib:/mnt/nfs/bdlibs' /mnt/nfs/ldd ../srslte/bin/srsenb srsenb.conf /bin/sh: /lib/ld.so.1: version `GLIBC_2.22' not found (required by /mnt/nfs/bdlibs/libc.so.6) It uses the system's ld (/lib/ld.so.1) instead of the toolchain's ld (/mnt/nfs/bdlibs/ld.so.1). Perhaps is because we're using LD_LIBRARY_PATH. Here is the linker section of the srsenb (which points to the right ld): root at b4860qds:# readelf -l srsenb El tipo del fichero elf es EXEC (Fichero ejecutable) Entry point 0x10020fb8 There are 10 program headers, starting at offset 52 Encabezados de Programa: Tipo Desplaz DirVirt DirF?sica TamFich TamMem Opt Alin PHDR 0x000034 0x10000034 0x10000034 0x00140 0x00140 R 0x4 INTERP 0x000174 0x10000174 0x10000174 0x00018 0x00018 R 0x1 [Requesting program interpreter: /mnt/nfs/bdlibs/ld.so.1] -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2d4a105d4843c0d31d6b5d8f8d4195247b290aec Gerrit-Change-Number: 24272 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 14:49: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 Thu Jun 3 15:40:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Jun 2021 15:40:26 +0000 Subject: Change in osmo-gsm-tester[master]: util: adds the feature to force the rpath when patching files. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 ) Change subject: util: adds the feature to force the rpath when patching files. ...................................................................... Patch Set 1: > Patch Set 1: > > Hi Pau, some comments for each question: > > - Should I remove the function and add that parameter to the normal patchelf function? This will help us (as I prefer to set an absolute path on deploy rather that on build), but if you don't approve to modify the rpath inside the srs-enb.py file it doesn't make sense this change and we can remove this commit. > > - I agree with you that it makes sense to have different build scripts, each of them supporting different platforms (ppc, aarch64, armv7). What I don't like is that I must set an absolute path for the patchelf utility in those scripts, because if I have 2 different boards with the same platform (ppc for example) that path can change between boards due hardware specs. I would really love to avoid that. > If you prefer that I add a jenkins-build-stslte-bbu.sh I'm thinking to add 2 variables to the jenkins-build-commmon.sh: PATCHELF_RPATH_ARGS='--set-rpath' and PATCHELF_RPATH_DIR='$ORIGIN/../lib/' by default. The jenkins-build-stslte-bbu.sh will overwrite those values to PATCHELF_RPATH_ARGS='--force-rpath --set-rpath' and PATCHELF_RPATH_DIR='/mnt/nfs/bdlibs/'. The call within the *-common.sh would be: > if [ -d bin/ ]; then > find bin -depth -type f -exec patchelf $PATCHELF_RPATH_ARGS $PATCHELF_RPATH_DIR {} \; > fi > if [ -d sbin/ ]; then > find sbin -depth -type f -exec patchelf $PATCHELF_RPATH_ARGS $PATCHELF_RPATH_DIR {} \; > > Does it sound good to you? > > One last question regarding the patchelf that is done in jenkins-build-common.sh. Why does that script sets the rpath? Is there a file where the "LD_LIBRARY_PATH" is not set before launching the binary? > I ask this, because I configure the rpath and the dynamic-linker in the toolchain, and I've tested that removing the call to "add_rpath" in the jenkins-build-common.sh makes the srsenb works without patching it or configuring the LD_LIBRARY_PATH in enb-srs.py. > > > - I did that test. I removed the rpath from a binary and run ldd > > root at b4860qds:# LD_LIBRARY_PATH='/mnt/nfs/osmo-gsm-tester-srsenb/srslte/lib:/mnt/nfs/bdlibs' /mnt/nfs/ldd ../srslte/bin/srsenb srsenb.conf > /bin/sh: /lib/ld.so.1: version `GLIBC_2.22' not found (required by /mnt/nfs/bdlibs/libc.so.6) > > It uses the system's ld (/lib/ld.so.1) instead of the toolchain's ld (/mnt/nfs/bdlibs/ld.so.1). Perhaps is because we're using LD_LIBRARY_PATH. Here is the linker section of the srsenb (which points to the right ld): > > root at b4860qds:# readelf -l srsenb > > El tipo del fichero elf es EXEC (Fichero ejecutable) > Entry point 0x10020fb8 > There are 10 program headers, starting at offset 52 > > Encabezados de Programa: > Tipo Desplaz DirVirt DirF?sica TamFich TamMem Opt Alin > PHDR 0x000034 0x10000034 0x10000034 0x00140 0x00140 R 0x4 > INTERP 0x000174 0x10000174 0x10000174 0x00018 0x00018 R 0x1 > [Requesting program interpreter: /mnt/nfs/bdlibs/ld.so.1] * [jenkins-build-stslte-bbu.sh] Fine with it. Regarding, PATCHELF_RPATH_DIR='/mnt/nfs/bdlibs/', it may be interesting to plan that variable as being a list of ":" separated paths and look at how to use that into patchelf. Because in that case you'd probably need to add both PATCHELF_RPATH_DIR='/mnt/nfs/bdlibs/:$ORIGIN/../lib/' ? BTW, I forgot to talk about it, but patchelf MUST be >= 0.11, older versions are really not supported since they contain several bugs. See https://osmocom.org/issues/4389 for more info. * [jenkins-build-common.sh. Why does that script sets the rpath] That's indeed a good question, and it's probably historical. I started by using LD_LIBRARY_PATH at runtime, which is the easiest/quickest to use. However, for binaries requiring ADMIN capabilities, it works similar to suid bit, which means for security reasons the dynamic loader will disable use of LD_LIBRARY_PATH, so we can't use that. We must first hence patch the binary with patchelf before running it (could it be that in this case relative RPATH is not allowed too? I don't remember TBH). The patchelf stuff in jenkins-build-common.sh was added a long time ago by Holger why adding some OGT parts which never ended up fully merged with the rest of the code (see 9cf1c8afde842febc02ce5fe6f931fe797236a84 and src/osmo_ms_driver/). Specially important may be the "lib" part of those lines, were all libs are also patched to conform recursively to that RPATH. In the end, I would say it's up to the "user/dev" adding new trials/classes to decide the best way, either by getting rid of the issue at compile time (jenkins-build-common.sh), or having to do it at runtime (inside resource object class). So following you question: I think we could get rid of setting LD_LIBRARY_PATH at runtime in lots of places since we nowadays patch the binaries at buildtime, but anyway it really doesn't hurt since it's not really making tests take longer or whatever. * [/bin/sh: /lib/ld.so.1: version `GLIBC_2.22' not found (required by /mnt/nfs/bdlibs/libc.so.6)] Yeah, applying a different libc version from system's one doesn't look like a great/desirable idea to me, I wonder who you ended up in the situation of needing to use a different libc than the one installed in the system :) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2d4a105d4843c0d31d6b5d8f8d4195247b290aec Gerrit-Change-Number: 24272 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 15:40: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 Thu Jun 3 16:31:39 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Thu, 3 Jun 2021 16:31:39 +0000 Subject: Change in osmo-gsm-tester[master]: util: adds the feature to force the rpath when patching files. In-Reply-To: References: Message-ID: alealcon has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 ) Change subject: util: adds the feature to force the rpath when patching files. ...................................................................... Patch Set 1: Hi Pau, As a summary I'm going to do: - Abandon this commit (remove the patchelf_force function and do not implement the extra option for the normal patchelf function) - Abandon https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24281/1. - I will create the jenkins-build-srslte-bbu.sh as we talked, in a new commit, updating if needed the enb-srs.py if needed. Answering these 2 questions: - Why does *-common.sh sets the rpath? For the code I'm seeing from amarisoft epc and ue, it seems that the binaries are not patched in the jenkins-build-amarisoft.sh job, so it is done in ms-amarisoft. The path that its patched seems different too, as it patches "remote_inst" (at least for the epc) - Why we have a different libc version. When we build a new toolchain we try to get the latest stable version of each library, to get the latest features/stability/performance. Sadly, the OS running in that platforms it's too old, and because it is a leasing we cannot update the system libraries/utilities. That's why we have to patch the binary with "--force-rpath". If we could have updated those libraries, it would have been way easiest :D. Thanks for all your suggestions, information and patience, Pau. Alex -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2d4a105d4843c0d31d6b5d8f8d4195247b290aec Gerrit-Change-Number: 24272 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 16:31: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 Jun 3 16:54:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Jun 2021 16:54:09 +0000 Subject: Change in osmo-gsm-tester[master]: util: adds the feature to force the rpath when patching files. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 ) Change subject: util: adds the feature to force the rpath when patching files. ...................................................................... Patch Set 1: Hi, did you think about using chroot? iirc it can be applied directly based on ssh login by means of sshd config file, for instance based on user ip address or alike. This way you could chroot into /mnt/nfs directly whenever you ssh into it, and you would probably avoid this kind of issues. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2d4a105d4843c0d31d6b5d8f8d4195247b290aec Gerrit-Change-Number: 24272 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 16:54:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 18:33:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 3 Jun 2021 18:33:20 +0000 Subject: Change in osmo-asf4-dfu[master]: usb serial number descriptor In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/17024 ) Change subject: usb serial number descriptor ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/17024/2/usb_start.c File usb_start.c: https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/17024/2/usb_start.c at 121 PS2, Line 121: SYSMOOCTSIM > I wanted to have something that works with the current octsim, the string index depends on the actua [?] everyone starts with something that works first, and then cleans it up or generalizes it, if possible. The string descriptor index is configurable AFAICT (CONF_USB_DFUD_ISERIALNUM). Am I missing something? sharing code between bootloader and application is completely orthogonal and not reaally on-topic here, IMHO. -- To view, visit https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/17024 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-asf4-dfu Gerrit-Branch: master Gerrit-Change-Id: I4a23682cee0849c788e5f6c611df4ed1f1cac3da Gerrit-Change-Number: 17024 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: roh Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 03 Jun 2021 18:33:20 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: Hoernchen Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 3 18:39:02 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 3 Jun 2021 18:39:02 +0000 Subject: Change in libosmocore[master]: gprs_ns2: rework id strings of nsvcs References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24539 ) Change subject: gprs_ns2: rework id strings of nsvcs ...................................................................... gprs_ns2: rework id strings of nsvcs Ensure all nsvcs ids are unique as UDP ids might not be unique when multiple NSVCs connect to the same remote endpoint (multiple binds). Change the format of all ids to look similiar. FR: NSE11-NSVC23-FR-fr0-DLCI13. UDP: NSE11-NSVC-UDP-10.0.0.1:23000-192.168.1.1:24000 UDP: NSE11-NSVC23-UDP-10.0.0.1:23000-192.168.1.1:24000 UDP: NSE11-NSVC66-UDP-[fd01::1]:23000-[fd03::2]:24000 Change-Id: I618e263e73fcc64d4e46b57aa3a2cb2783837907 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_fr.c M src/gb/gprs_ns2_udp.c 3 files changed, 19 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/39/24539/1 diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 1148d6f..65a78a2 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -980,7 +980,8 @@ enum gprs_ns2_vc_mode vc_mode; uint16_t nsvci; uint16_t nsei; - char idbuf[32]; + const struct osmo_sockaddr *local; + char idbuf[256], tmp[INET6_ADDRSTRLEN + 8]; int rc, tlv; @@ -1113,8 +1114,12 @@ nsvci = tlvp_val16be(&tp, NS_IE_VCI); vc_mode = ns2_dialect_to_vc_mode(dialect); - snprintf(idbuf, sizeof(idbuf), "%s-NSE%05u-NSVC%05u", gprs_ns2_lltype_str(nse->ll), - nse->nsei, nsvci); + + local = gprs_ns2_ip_bind_sockaddr(bind); + osmo_sockaddr_to_str_buf(tmp, sizeof(tmp), local); + snprintf(idbuf, sizeof(idbuf), "%s-NSE%05u-NSVC%05u-%s-%s", gprs_ns2_lltype_str(nse->ll), + nse->nsei, nsvci, tmp, osmo_sockaddr_to_str(remote)); + osmo_identifier_sanitize_buf(idbuf, NULL, '_'); nsvc = ns2_vc_alloc(bind, nse, false, vc_mode, idbuf); if (!nsvc) return NS2_CS_SKIPPED; diff --git a/src/gb/gprs_ns2_fr.c b/src/gb/gprs_ns2_fr.c index 84f3784..8de93e9 100644 --- a/src/gb/gprs_ns2_fr.c +++ b/src/gb/gprs_ns2_fr.c @@ -976,8 +976,9 @@ goto err; } - snprintf(idbuf, sizeof(idbuf), "%s-%s-DLCI%u-NSE%05u-NSVC%05u", gprs_ns2_lltype_str(nse->ll), - bpriv->netif, dlci, nse->nsei, nsvci); + snprintf(idbuf, sizeof(idbuf), "NSE%05u-NSVC%05u-%s-%s-DLCI%u", nse->nsei, nsvci, + gprs_ns2_lltype_str(nse->ll), bpriv->netif, dlci); + osmo_identifier_sanitize_buf(idbuf, NULL, '_'); nsvc = ns2_vc_alloc(bind, nse, true, GPRS_NS2_VC_MODE_BLOCKRESET, idbuf); if (!nsvc) goto err; diff --git a/src/gb/gprs_ns2_udp.c b/src/gb/gprs_ns2_udp.c index 7980df5..428fd4a 100644 --- a/src/gb/gprs_ns2_udp.c +++ b/src/gb/gprs_ns2_udp.c @@ -384,10 +384,10 @@ const struct osmo_sockaddr *remote) { struct gprs_ns2_vc *nsvc; + const struct osmo_sockaddr *local; struct priv_vc *priv; enum gprs_ns2_vc_mode vc_mode; - char *sockaddr_str; - char idbuf[64]; + char idbuf[256], tmp[INET6_ADDRSTRLEN + 8]; OSMO_ASSERT(gprs_ns2_is_ip_bind(bind)); @@ -402,10 +402,12 @@ if (gprs_ns2_nsvc_by_sockaddr_bind(bind, remote)) return NULL; - sockaddr_str = (char *)osmo_sockaddr_to_str(remote); - osmo_identifier_sanitize_buf(sockaddr_str, NULL, '_'); - snprintf(idbuf, sizeof(idbuf), "%s-NSE%05u-remote-%s", gprs_ns2_lltype_str(nse->ll), - nse->nsei, sockaddr_str); + local = gprs_ns2_ip_bind_sockaddr(bind); + osmo_sockaddr_to_str_buf(tmp, sizeof(tmp), local); + snprintf(idbuf, sizeof(idbuf), "NSE%05u-NSVC-%s-%s-%s", nse->nsei, gprs_ns2_lltype_str(nse->ll), + tmp, osmo_sockaddr_to_str(remote)); + osmo_identifier_sanitize_buf(idbuf, NULL, '_'); + nsvc = ns2_vc_alloc(bind, nse, true, vc_mode, idbuf); if (!nsvc) return NULL; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I618e263e73fcc64d4e46b57aa3a2cb2783837907 Gerrit-Change-Number: 24539 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 Thu Jun 3 18:42:02 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 3 Jun 2021 18:42:02 +0000 Subject: Change in libosmocore[master]: ns2: Use NSVC bufid in stats report In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24468 ) Change subject: ns2: Use NSVC bufid in stats report ...................................................................... Patch Set 3: -Code-Review @pespin See https://gerrit.osmocom.org/c/libosmocore/+/24539 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4c696c615ba3416f8524d0797ce06c0ecd3a18f2 Gerrit-Change-Number: 24468 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 03 Jun 2021 18: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 Thu Jun 3 20:10:00 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Thu, 3 Jun 2021 20:10:00 +0000 Subject: Change in osmo-gsm-tester[master]: util: adds the feature to force the rpath when patching files. In-Reply-To: References: Message-ID: alealcon has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 ) Change subject: util: adds the feature to force the rpath when patching files. ...................................................................... Patch Set 1: > Patch Set 1: > > Hi, did you think about using chroot? iirc it can be applied directly based on ssh login by means of sshd config file, for instance based on user ip address or alike. > This way you could chroot into /mnt/nfs directly whenever you ssh into it, and you would probably avoid this kind of issues. Yes, we are using chroot for debugging purposes. We used the buildroot utility to build the toolchain and the rootfs, so we can select the tools that the rootfs will have. We did it because the base system doesn't have development tools (the ldd command that I posted before was crosscompiled and deployed in the nfs. I didn't know that chroot can be applied on ssh. That probably will solve a lot of problems. Do you think its possible that OGT will log with ssh into a chroot? If that is possible the code won't change, because there will be no need to specify an rpath or dynamic-linker to the crosscompiled srsenb. I'm going to do a little search of how configure that. Can you provide some support with that feature in OGT? OGT it's still too big to me to know how can it be achieved. Thanks for your suggestion Pau. It's awesome!! -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2d4a105d4843c0d31d6b5d8f8d4195247b290aec Gerrit-Change-Number: 24272 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 03 Jun 2021 20:10:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 01:04:06 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Jun 2021 01:04:06 +0000 Subject: Change in osmo-bsc[master]: VTY: fix NULL-pointer dereference in lchan_act_single() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24540 ) Change subject: VTY: fix NULL-pointer dereference in lchan_act_single() ...................................................................... VTY: fix NULL-pointer dereference in lchan_act_single() Without this guard, a command like this can crash osmo-bsc: OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 activate fr when timeslot 0 is configured as non-combined 'CCCH'. Change-Id: I0197a6a2595ff9dade58e37383d44d2df3b03288 CLoses: OS#5170 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/40/24540/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 6f4e2ec..89aacf2 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -6060,6 +6060,10 @@ if (activate) { 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) { + vty_out(vty, "%% Cannot activate: Channel not initialized%s", VTY_NEWLINE); + return CMD_WARNING; + } int lchan_t; if (lchan->fi->state != LCHAN_ST_UNUSED) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0197a6a2595ff9dade58e37383d44d2df3b03288 Gerrit-Change-Number: 24540 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 Jun 4 01:34:03 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Jun 2021 01:34:03 +0000 Subject: Change in osmo-bsc[master]: bts_uptime(): do not spam logs with 'OML link uptime unavailable' References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24541 ) Change subject: bts_uptime(): do not spam logs with 'OML link uptime unavailable' ...................................................................... bts_uptime(): do not spam logs with 'OML link uptime unavailable' This message periodically appears in the logs with subsys=DNM and level=INFO for every disconnected BTS. I find this message useless and even annoying, so I propose to remove it in this patch. Change-Id: I7e2498cc61d311ca08585b2f1c49de021b17a5a1 --- M src/osmo-bsc/bts.c 1 file changed, 1 insertion(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/41/24541/1 diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index 857ddd2..0c699c3 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -565,10 +565,8 @@ { struct timespec tp; - if (!bts->uptime || !bts->oml_link) { - LOGP(DNM, LOGL_INFO, "BTS %u OML link uptime unavailable\n", bts->nr); + if (!bts->uptime || !bts->oml_link) return 0; - } if (osmo_clock_gettime(CLOCK_MONOTONIC, &tp) != 0) { LOGP(DNM, LOGL_ERROR, "BTS %u uptime computation failure: %s\n", bts->nr, strerror(errno)); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7e2498cc61d311ca08585b2f1c49de021b17a5a1 Gerrit-Change-Number: 24541 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 Jun 4 06:56:01 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 4 Jun 2021 06:56:01 +0000 Subject: Change in osmo-dev[master]: ttcn3: add missing ttcn3-docker-run.sh In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/24497 ) Change subject: ttcn3: add missing ttcn3-docker-run.sh ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I23467136af6deaca69e0b43697a06385cb65444d Gerrit-Change-Number: 24497 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 06:56: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 Jun 4 06:56:04 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 4 Jun 2021 06:56:04 +0000 Subject: Change in osmo-dev[master]: ttcn3: add missing ttcn3-docker-run.sh In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/24497 ) Change subject: ttcn3: add missing ttcn3-docker-run.sh ...................................................................... ttcn3: add missing ttcn3-docker-run.sh After recent refactoring, having this file in /usr/local/bin is required to run the testsuites. Change-Id: I23467136af6deaca69e0b43697a06385cb65444d --- M ttcn3/ttcn3.sh 1 file changed, 9 insertions(+), 1 deletion(-) Approvals: osmith: Looks good to me, approved; Verified fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve diff --git a/ttcn3/ttcn3.sh b/ttcn3/ttcn3.sh index f4888d3..19019b3 100755 --- a/ttcn3/ttcn3.sh +++ b/ttcn3/ttcn3.sh @@ -145,10 +145,18 @@ prepare_local_bin() { local scripts=" ${DIR_OSMODEV}/src/docker-playground/common/respawn.sh + ${DIR_OSMODEV}/src/docker-playground/debian-stretch-titan/ttcn3-docker-run.sh " for script in $scripts; do - local script_path_localbin="/usr/local/bin/$(basename "$script")" + local script_path_localbin + local name_install="$(basename "$script")" + + case "$name_install" in + ttcn3-docker-run.sh) name_install="ttcn3-docker-run" ;; + esac + + script_path_localbin="/usr/local/bin/$name_install" if [ -x "$script_path_localbin" ]; then continue fi -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I23467136af6deaca69e0b43697a06385cb65444d Gerrit-Change-Number: 24497 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria 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 Jun 4 07:04:13 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 4 Jun 2021 07:04:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: fix wrong parameter type in ts_PCUIF_DATA_IND In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24415 ) Change subject: library/PCUIF_Types: fix wrong parameter type in ts_PCUIF_DATA_IND ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I038eec22928d831ddbc0a2704830d5e2eab2cb6b Gerrit-Change-Number: 24415 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 07: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 Fri Jun 4 07:08:52 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 4 Jun 2021 07:08:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU_Tests: new test case TC_ta_ul_ack_nack_first_block() In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24417 ) Change subject: PCU_Tests: new test case TC_ta_ul_ack_nack_first_block() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I30f82c51b3e9a167af4dbce3e74697dd79ff15bf Gerrit-Change-Number: 24417 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 07:08:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Fri Jun 4 09:58:25 2021 From: noreply at opensuse.org (OBS Notification) Date: Fri, 04 Jun 2021 09:58:25 +0000 Subject: Build failure of network:osmocom:nightly/binutils-arm-osmo-eabi in xUbuntu_21.04/x86_64 In-Reply-To: References: Message-ID: <60b9f94582272_55042b087e8705f823214d6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/binutils-arm-osmo-eabi/xUbuntu_21.04/x86_64 Package network:osmocom:nightly/binutils-arm-osmo-eabi failed to build in xUbuntu_21.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly binutils-arm-osmo-eabi Last lines of build log: [ 171s] | ^~~~ [ 171s] ../../bfd/tekhex.c:1009:3: note: in expansion of macro 'BFD_JUMP_TABLE_DYNAMIC' [ 171s] 1009 | BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic), [ 171s] | ^~~~~~~~~~~~~~~~~~~~~~ [ 171s] cc1: all warnings being treated as errors [ 171s] make[5]: *** [Makefile:1517: srec.lo] Error 1 [ 171s] cc1: all warnings being treated as errors [ 171s] make[5]: *** [Makefile:1517: ihex.lo] Error 1 [ 171s] cc1: all warnings being treated as errors [ 171s] make[5]: *** [Makefile:1517: tekhex.lo] Error 1 [ 171s] make[5]: Leaving directory '/usr/src/packages/BUILD/build/bfd' [ 171s] make[4]: *** [Makefile:1555: all-recursive] Error 1 [ 171s] make[4]: Leaving directory '/usr/src/packages/BUILD/build/bfd' [ 171s] make[3]: *** [Makefile:1066: all] Error 2 [ 171s] make[3]: Leaving directory '/usr/src/packages/BUILD/build/bfd' [ 171s] make[2]: *** [Makefile:3331: all-bfd] Error 2 [ 171s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 171s] make[1]: *** [Makefile:850: all] Error 2 [ 171s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 171s] dh_auto_build: error: cd build && make -j8 returned exit code 2 [ 171s] make: *** [debian/rules:43: build] Error 25 [ 171s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 171s] ### VM INTERACTION START ### [ 174s] [ 160.633333] sysrq: Power Off [ 174s] [ 160.640179] reboot: Power down [ 174s] ### VM INTERACTION END ### [ 174s] [ 174s] lamb08 failed "build binutils-arm-osmo-eabi_2.21.1a.dsc" at Fri Jun 4 09:58:13 UTC 2021. [ 174s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Jun 4 11:30:44 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 4 Jun 2021 11:30:44 +0000 Subject: Change in osmo-bsc[master]: fixup for Mode Modify TSC In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24516 ) Change subject: fixup for Mode Modify TSC ...................................................................... fixup for Mode Modify TSC Use lchan->modify.tsc in gsm48_lchan_modify(). The TSC is chosen exactly once upon LCHAN_EV_REQUEST_MODE_MODIFY (lchan_fsm.c), and that should be the only place calling gsm_ts_tsc(). All other mode modify code should just use the final lchan->modify.tsc. This fixes an error in patch: Ic665125255d7354f5499d10dda1dd866ab243d24 "allow explixit TSC Set and TSC on chan activ / modif / assignment" Thanks to coverity for actually detecting this mistake. Related: SYS#5315 OS#4940 CID#236233 Change-Id: I87ecf7d9266f37f4c775d029e277b614671a9401 --- M src/osmo-bsc/gsm_04_08_rr.c 1 file changed, 1 insertion(+), 5 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 058a107..5948e94 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -681,7 +681,6 @@ struct gsm48_chan_mode_modify *cmm = (struct gsm48_chan_mode_modify *) msgb_put(msg, sizeof(*cmm)); struct gsm_bts *bts = lchan->ts->trx->bts; - uint8_t tsc; DEBUGP(DRR, "-> CHANNEL MODE MODIFY mode=0x%02x\n", mode); @@ -689,10 +688,7 @@ gh->proto_discr = GSM48_PDISC_RR; gh->msg_type = GSM48_MT_RR_CHAN_MODE_MODIF; - /* fill the channel information element, this code - * should probably be shared with rsl_rx_chan_rqd() */ - tsc = (lchan->modify.tsc >= 0) ? lchan->modify.tsc : gsm_ts_tsc(lchan->ts); - gsm48_lchan2chan_desc(&cmm->chan_desc, lchan, tsc); + gsm48_lchan2chan_desc(&cmm->chan_desc, lchan, lchan->modify.tsc); cmm->mode = mode; /* in case of multi rate we need to attach a config */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24516 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I87ecf7d9266f37f4c775d029e277b614671a9401 Gerrit-Change-Number: 24516 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 11:31:06 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 4 Jun 2021 11:31:06 +0000 Subject: Change in osmo-bsc[master]: fix rc handling in channel_mode_from_lchan() In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24517 ) Change subject: fix rc handling in channel_mode_from_lchan() ...................................................................... fix rc handling in channel_mode_from_lchan() chan_mode_to_rsl_cmod_spd() may actually return negative on error. To be able to check for that, handle the returned value as a signed rc before assigning to the unsigned spd_ind. Related: SYS#5315 OS#4940 CID#236231 Change-Id: I52e13b24ce67e288ff32dbdaa1c1759089926f5c --- M src/osmo-bsc/abis_rsl.c 1 file changed, 5 insertions(+), 3 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve 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 9378ecb..1fb4c04 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -354,6 +354,7 @@ struct gsm_lchan *lchan, const struct channel_mode_and_rate *ch_mode_rate) { + int rc; memset(cm, 0, sizeof(*cm)); /* FIXME: what to do with data calls ? */ @@ -364,11 +365,12 @@ cm->dtx_dtu |= RSL_CMOD_DTXd; /* set TCH Speech/Data */ - cm->spd_ind = chan_mode_to_rsl_cmod_spd(ch_mode_rate->chan_mode); - if (cm->spd_ind < 0) { + rc = chan_mode_to_rsl_cmod_spd(ch_mode_rate->chan_mode); + if (rc < 0) { LOGP(DRSL, LOGL_ERROR, "unsupported: chan_mode = 0x%02x\n", ch_mode_rate->chan_mode); - return cm->spd_ind; + return rc; } + cm->spd_ind = rc; switch (lchan->type) { case GSM_LCHAN_SDCCH: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24517 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I52e13b24ce67e288ff32dbdaa1c1759089926f5c Gerrit-Change-Number: 24517 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 11:44:01 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 4 Jun 2021 11:44:01 +0000 Subject: Change in osmo-bsc[master]: meas rep logging: replace a dozen DEBUGPC() with one DEBUGP() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24426 ) Change subject: meas rep logging: replace a dozen DEBUGPC() with one DEBUGP() ...................................................................... Patch Set 4: Code-Review+2 re-add previous +1 after trivial fix and combine votes -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4cb607ff43a1cb30408427d99d97c103776b6e69 Gerrit-Change-Number: 24426 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 11: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 Fri Jun 4 11:44:30 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 4 Jun 2021 11:44:30 +0000 Subject: Change in osmo-bsc[master]: drop unused func decl gsm_lchan_as_pchan2chan_nr() In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24464 ) Change subject: drop unused func decl gsm_lchan_as_pchan2chan_nr() ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1c14e72d4387767349723ec8948149841b45d85a Gerrit-Change-Number: 24464 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 11:44: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 Jun 4 11:53:03 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 4 Jun 2021 11:53:03 +0000 Subject: Change in osmo-bsc[master]: RSL: set default TEI according to TRX number In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24395 ) Change subject: RSL: set default TEI according to TRX number ...................................................................... Patch Set 18: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24395/18//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/24395/18//COMMIT_MSG at 7 PS18, Line 7: RSL: set default TEI according to TRX number some context information might be helpful -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3c500f7a5afc9143d4ea7102ab96e52aeb67b4b6 Gerrit-Change-Number: 24395 Gerrit-PatchSet: 18 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-Comment-Date: Fri, 04 Jun 2021 11:53: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 Jun 4 11:54:02 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 4 Jun 2021 11:54:02 +0000 Subject: Change in osmo-bsc[master]: drop unused func decl gsm_lchan_as_pchan2chan_nr() In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24464 ) Change subject: drop unused func decl gsm_lchan_as_pchan2chan_nr() ...................................................................... drop unused func decl gsm_lchan_as_pchan2chan_nr() Change-Id: I1c14e72d4387767349723ec8948149841b45d85a --- M include/osmocom/bsc/gsm_data.h 1 file changed, 0 insertions(+), 2 deletions(-) Approvals: dexter: Looks good to me, approved; Verified pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 831463a..3f1446b 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1016,8 +1016,6 @@ uint8_t gsm_pchan2chan_nr(enum gsm_phys_chan_config pchan, uint8_t ts_nr, uint8_t lchan_nr); uint8_t gsm_lchan2chan_nr(const struct gsm_lchan *lchan); -uint8_t gsm_lchan_as_pchan2chan_nr(const struct gsm_lchan *lchan, - enum gsm_phys_chan_config as_pchan); void gsm48_lchan2chan_desc(struct gsm48_chan_desc *cd, const struct gsm_lchan *lchan, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1c14e72d4387767349723ec8948149841b45d85a Gerrit-Change-Number: 24464 Gerrit-PatchSet: 2 Gerrit-Owner: neels 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 Fri Jun 4 11:57:10 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 4 Jun 2021 11:57:10 +0000 Subject: Change in osmo-bsc[master]: clarify bts_chan_load In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24384 ) Change subject: clarify bts_chan_load ...................................................................... Patch Set 22: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24384/22//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/24384/22//COMMIT_MSG at 7 PS22, Line 7: clarify bts_chan_load some context might be helpful. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9bd80a08472018e69360ac5739979c7056d4f063 Gerrit-Change-Number: 24384 Gerrit-PatchSet: 22 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 11:57: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 Fri Jun 4 11:58:41 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 4 Jun 2021 11:58:41 +0000 Subject: Change in osmo-bts[master]: trx_sched_is_sacch_fn(): fix handling of dynamic timeslots In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24526 ) Change subject: trx_sched_is_sacch_fn(): fix handling of dynamic timeslots ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia5e337e897b595e7de6e504664c969b583cc02a1 Gerrit-Change-Number: 24526 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 11:58:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 11:58:51 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Jun 2021 11:58:51 +0000 Subject: Change in osmo-bsc[master]: meas rep logging: use log_check_level() to skip a logging loop In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24427 ) Change subject: meas rep logging: use log_check_level() to skip a logging loop ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71a402a0940857bbedbaf25d293429934706a83c Gerrit-Change-Number: 24427 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 11:58: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 Jun 4 12:02:36 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 4 Jun 2021 12:02:36 +0000 Subject: Change in osmo-bsc[master]: rsl_lchan_lookup(): add comment explaining ts_is_capable_of_pchan() In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24429 ) Change subject: rsl_lchan_lookup(): add comment explaining ts_is_capable_of_pchan() ...................................................................... Patch Set 10: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie3699db496cfb690ac9302ccd177cdd77dc57ebb Gerrit-Change-Number: 24429 Gerrit-PatchSet: 10 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 12:02: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 Jun 4 12:03:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 4 Jun 2021 12:03:07 +0000 Subject: Change in osmo-bsc[master]: RSL chan_nr: replace OSMO_ASSERT with error handling In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24524 to look at the new patch set (#4). Change subject: RSL chan_nr: replace OSMO_ASSERT with error handling ...................................................................... RSL chan_nr: replace OSMO_ASSERT with error handling It's bad to abort the program for an incompatible chan_nr. Instead of OSMO_ASSERT(), make sure that error handling happens all they way to the original callers of gsm_lchan2chan_nr etc. This is also preparation to add further error causes: Osmocom specific cbits needed for a non-Osmo BTS. Related: SYS#5315 OS#4940 Change-Id: I71ed6437c403a3f9336e17a94b4948fca295d853 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lcs_loc_req.c M src/osmo-bsc/osmo_bsc_lcls.c M src/osmo-bsc/system_information.c M tests/handover/handover_test.c 8 files changed, 182 insertions(+), 58 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/24/24524/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71ed6437c403a3f9336e17a94b4948fca295d853 Gerrit-Change-Number: 24524 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 12:03:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 4 Jun 2021 12:03:07 +0000 Subject: Change in osmo-bsc[master]: RSL: rx and tx VAMOS Channel Number cbits for VAMOS 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/+/24430 to look at the new patch set (#13). Change subject: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans ...................................................................... RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans Add the Osmocom-specific extension to indicate VAMOS shadow lchans in RSL, in lchan lookup and RSL message transmission. Note that RR messages containing cbits (Assignment Command, Handover Command, ...) must *not* send Osmocom specific cbits to the MS. Only the RSL messages directed to the BTS send Osmocom specific bits. Related: SYS#5315 OS#4940 Depends: If33c1695922d110c0d2c60d5c0136caf2587194e (libosmocore) Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bts_trx.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lcs_loc_req.c M tests/handover/handover_test.c 7 files changed, 89 insertions(+), 42 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/30/24430/13 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 Gerrit-Change-Number: 24430 Gerrit-PatchSet: 13 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 12:03:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 4 Jun 2021 12:03:07 +0000 Subject: Change in osmo-bsc[master]: VTY: 'show lchan': show that lchan is in VAMOS mode 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/+/24379 to look at the new patch set (#20). Change subject: VTY: 'show lchan': show that lchan is in VAMOS mode ...................................................................... VTY: 'show lchan': show that lchan is in VAMOS mode Related: SYS#5315 OS#4940 Change-Id: I9f38712f941d60531526cc3395875655455909d9 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/79/24379/20 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9f38712f941d60531526cc3395875655455909d9 Gerrit-Change-Number: 24379 Gerrit-PatchSet: 20 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 12:03:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 4 Jun 2021 12:03:07 +0000 Subject: Change in osmo-bsc[master]: VTY: add 'vamos-subslot' to activate a secondary lchan In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24380 to look at the new patch set (#20). Change subject: VTY: add 'vamos-subslot' to activate a secondary lchan ...................................................................... VTY: add 'vamos-subslot' to activate a secondary lchan Related: SYS#5315 OS#4940 Change-Id: If44b6bdb78046502eb0b66529ae190a955d9978c --- M src/osmo-bsc/bsc_vty.c M tests/osmo-bsc.vty 2 files changed, 27 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/80/24380/20 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If44b6bdb78046502eb0b66529ae190a955d9978c Gerrit-Change-Number: 24380 Gerrit-PatchSet: 20 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter 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 Jun 4 12:03:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 4 Jun 2021 12:03:07 +0000 Subject: Change in osmo-bsc[master]: VTY: add lchan re-assignment command 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/+/24381 to look at the new patch set (#23). Change subject: VTY: add lchan re-assignment command ...................................................................... VTY: add lchan re-assignment command Add VTY command to trigger an intra-cell re-assignment, also allowing to re-assign to a secondary VAMOS lchan. Related: SYS#5315 OS#4940 Change-Id: If006f5caaf83b07675f57e5665cfa79328da55e6 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c M tests/osmo-bsc.vty 4 files changed, 129 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/81/24381/23 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If006f5caaf83b07675f57e5665cfa79328da55e6 Gerrit-Change-Number: 24381 Gerrit-PatchSet: 23 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 12:03:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 4 Jun 2021 12:03:07 +0000 Subject: Change in osmo-bsc[master]: log: assignment_fsm: drop newline from assignment_fail 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/+/24382 to look at the new patch set (#23). Change subject: log: assignment_fsm: drop newline from assignment_fail ...................................................................... log: assignment_fsm: drop newline from assignment_fail Drop terminating newline from an assignment_fail() call which causes an erratic line feed in logging. Change-Id: Ib56e1f6a45c7e2c235f8ef0c8dea7151481677ab --- 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/82/24382/23 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib56e1f6a45c7e2c235f8ef0c8dea7151481677ab Gerrit-Change-Number: 24382 Gerrit-PatchSet: 23 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 12:03:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 4 Jun 2021 12:03:07 +0000 Subject: Change in osmo-bsc[master]: log: assignment_fsm: tweak err msg for incompatible chan 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/+/24383 to look at the new patch set (#23). Change subject: log: assignment_fsm: tweak err msg for incompatible chan ...................................................................... log: assignment_fsm: tweak err msg for incompatible chan Related: SYS#5315 OS#4940 Change-Id: Ifd8790923d54a27061708ff8077d509238b9c7dd --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/83/24383/23 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24383 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifd8790923d54a27061708ff8077d509238b9c7dd Gerrit-Change-Number: 24383 Gerrit-PatchSet: 23 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 12:03:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 4 Jun 2021 12:03:07 +0000 Subject: Change in osmo-bsc[master]: clarify bts_chan_load 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/osmo-bsc/+/24384 to look at the new patch set (#23). Change subject: clarify bts_chan_load ...................................................................... clarify bts_chan_load Change-Id: I9bd80a08472018e69360ac5739979c7056d4f063 --- M src/osmo-bsc/chan_alloc.c 1 file changed, 6 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/84/24384/23 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9bd80a08472018e69360ac5739979c7056d4f063 Gerrit-Change-Number: 24384 Gerrit-PatchSet: 23 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 12:03:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 4 Jun 2021 12:03:07 +0000 Subject: Change in osmo-bsc[master]: get_any_lchan(): reduce minor code dup 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/osmo-bsc/+/24385 to look at the new patch set (#23). Change subject: get_any_lchan(): reduce minor code dup ...................................................................... get_any_lchan(): reduce minor code dup Change-Id: I304a7333adc265e156f04b42a10bac6912f58ad2 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 4 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/85/24385/23 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I304a7333adc265e156f04b42a10bac6912f58ad2 Gerrit-Change-Number: 24385 Gerrit-PatchSet: 23 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 12:03:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 4 Jun 2021 12:03:07 +0000 Subject: Change in osmo-bsc[master]: cosmetic loop simplification in gsm48_multirate_config() 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/+/24394 to look at the new patch set (#19). Change subject: cosmetic loop simplification in gsm48_multirate_config() ...................................................................... cosmetic loop simplification in gsm48_multirate_config() Change-Id: I52424ad6a0bf499fe040cf0a1de00e636a0a40fe --- M src/osmo-bsc/gsm_04_08_rr.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/94/24394/19 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I52424ad6a0bf499fe040cf0a1de00e636a0a40fe Gerrit-Change-Number: 24394 Gerrit-PatchSet: 19 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 12:03:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 4 Jun 2021 12:03:07 +0000 Subject: Change in osmo-bsc[master]: RSL: set default TEI according to TRX number 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/+/24395 to look at the new patch set (#19). Change subject: RSL: set default TEI according to TRX number ...................................................................... RSL: set default TEI according to TRX number Change-Id: I3c500f7a5afc9143d4ea7102ab96e52aeb67b4b6 --- M src/osmo-bsc/bts_trx.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/95/24395/19 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3c500f7a5afc9143d4ea7102ab96e52aeb67b4b6 Gerrit-Change-Number: 24395 Gerrit-PatchSet: 19 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 12:03:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 4 Jun 2021 12:03:07 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: lchan_fail() strings should not have a terminating newline In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24460 to look at the new patch set (#13). Change subject: lchan_fsm: lchan_fail() strings should not have a terminating newline ...................................................................... lchan_fsm: lchan_fail() strings should not have a terminating newline Change-Id: I063fd5598add75c39338d90798189c10a0714094 --- M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lchan_rtp_fsm.c 2 files changed, 10 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/60/24460/13 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I063fd5598add75c39338d90798189c10a0714094 Gerrit-Change-Number: 24460 Gerrit-PatchSet: 13 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 Fri Jun 4 12:12:40 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 4 Jun 2021 12:12:40 +0000 Subject: Change in osmo-ci[master]: jobs: don't run any on admin2-deb9build References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24542 ) Change subject: jobs: don't run any on admin2-deb9build ...................................................................... jobs: don't run any on admin2-deb9build This node was disabled permanently, so don't try to run anything on it. Change-Id: I0ea91658c74ea24fae551b917628fab5f7952c97 --- M jobs/update-osmo-ci-on-slaves.yml M jobs/update-osmo-python-on-slaves.yml 2 files changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/42/24542/1 diff --git a/jobs/update-osmo-ci-on-slaves.yml b/jobs/update-osmo-ci-on-slaves.yml index 254744e..060bba2 100644 --- a/jobs/update-osmo-ci-on-slaves.yml +++ b/jobs/update-osmo-ci-on-slaves.yml @@ -7,7 +7,6 @@ name: label values: - simtester - - admin2-deb9build - host2-deb9build-ansible - build2-deb9build-ansible - build2-deb10build-ansible diff --git a/jobs/update-osmo-python-on-slaves.yml b/jobs/update-osmo-python-on-slaves.yml index b65604e..598d867 100644 --- a/jobs/update-osmo-python-on-slaves.yml +++ b/jobs/update-osmo-python-on-slaves.yml @@ -6,7 +6,6 @@ type: slave name: label values: - - admin2-deb9build - host2-deb9build-ansible - build2-deb9build-ansible - build2-deb10build-ansible -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24542 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0ea91658c74ea24fae551b917628fab5f7952c97 Gerrit-Change-Number: 24542 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 Jun 4 12:35:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 12:35:06 +0000 Subject: Change in osmo-gsm-tester[master]: util: adds the feature to force the rpath when patching files. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 ) Change subject: util: adds the feature to force the rpath when patching files. ...................................................................... Patch Set 1: > I'm going to do a little search of how configure that. Can you provide some support with that feature in OGT? OGT it's still too big to me to know how can it be achieved. Hi, have a look for instance at [1]. In there you chroot automatically to a given directory based on ssh user credentials. So, you could use this in your BBU: * Create a new "ogt" user * Configure /etc/ssh/sshd_config to automatically chroot "ogt" to /mnt/nfs * In resources.conf, simply use "ogt" user in the "ssh_user" attribute. OGT will transparently use the chroot when connecting to the BBu through SSH. * You may need an extra script run at startup to link stuff into the chroot, see [1]. We used to have this kind of setup in some of our servers some time ago, as a quick-container solution (non OGT related). So, as you can see, AFAIU there's nothing specific OGT needs to support here to have this setup :) [1] https://www.tecmint.com/restrict-ssh-user-to-directory-using-chrooted-jail/ -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2d4a105d4843c0d31d6b5d8f8d4195247b290aec Gerrit-Change-Number: 24272 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 12:35: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 Jun 4 12:37:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 12:37:17 +0000 Subject: Change in osmo-ci[master]: jobs: don't run any on admin2-deb9build In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24542 ) Change subject: jobs: don't run any on admin2-deb9build ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24542 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0ea91658c74ea24fae551b917628fab5f7952c97 Gerrit-Change-Number: 24542 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 12:37: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 Jun 4 12:44:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 12:44:02 +0000 Subject: Change in libosmocore[master]: gprs_ns2: rework id strings of nsvcs In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24539 ) Change subject: gprs_ns2: rework id strings of nsvcs ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I618e263e73fcc64d4e46b57aa3a2cb2783837907 Gerrit-Change-Number: 24539 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 12:44: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 Jun 4 12:44:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 12:44:20 +0000 Subject: Change in libosmocore[master]: ns2: Use NSVC bufid in stats report In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24468 ) Change subject: ns2: Use NSVC bufid in stats report ...................................................................... Patch Set 3: > Patch Set 3: -Code-Review > > @pespin See https://gerrit.osmocom.org/c/libosmocore/+/24539 Thanks! -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4c696c615ba3416f8524d0797ce06c0ecd3a18f2 Gerrit-Change-Number: 24468 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 04 Jun 2021 12:44: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 Fri Jun 4 12:44:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 12:44:59 +0000 Subject: Change in osmo-bsc[master]: VTY: fix NULL-pointer dereference in lchan_act_single() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24540 ) Change subject: VTY: fix NULL-pointer dereference in lchan_act_single() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0197a6a2595ff9dade58e37383d44d2df3b03288 Gerrit-Change-Number: 24540 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 12: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 Fri Jun 4 12:46:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 12:46:48 +0000 Subject: Change in osmo-bsc[master]: bts_uptime(): do not spam logs with 'OML link uptime unavailable' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24541 ) Change subject: bts_uptime(): do not spam logs with 'OML link uptime unavailable' ...................................................................... Patch Set 1: Code-Review+1 I originally decreased the log level since it was annoying, but I agree after a while INFO may still be too much. Perhaps leaving it as DEBUG, but I'm fine also removing it since it doesn't add much value imho. Adding iedema as reviewer too since he introduced it in first place. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7e2498cc61d311ca08585b2f1c49de021b17a5a1 Gerrit-Change-Number: 24541 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: iedemam Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 12:46: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 Jun 4 12:50:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 12:50:19 +0000 Subject: Change in osmo-bsc[master]: VTY: add lchan re-assignment command In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24381 ) Change subject: VTY: add lchan re-assignment command ...................................................................... Patch Set 23: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If006f5caaf83b07675f57e5665cfa79328da55e6 Gerrit-Change-Number: 24381 Gerrit-PatchSet: 23 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 04 Jun 2021 12:50: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 Jun 4 13:01:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 13:01:46 +0000 Subject: Change in osmo-bsc[master]: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24430 ) Change subject: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans ...................................................................... Patch Set 13: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 Gerrit-Change-Number: 24430 Gerrit-PatchSet: 13 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 04 Jun 2021 13:01: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 Jun 4 13:02:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 13:02:28 +0000 Subject: Change in osmo-bsc[master]: RSL chan_nr: replace OSMO_ASSERT with error handling In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24524 ) Change subject: RSL chan_nr: replace OSMO_ASSERT with error handling ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71ed6437c403a3f9336e17a94b4948fca295d853 Gerrit-Change-Number: 24524 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 13: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 Fri Jun 4 13:46:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 13:46:17 +0000 Subject: Change in meta-telephony[laforge/nightly]: osmo-hlr: Fix /usr/share/osmocom/* not shipped in any package References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/meta-telephony/+/24543 ) Change subject: osmo-hlr: Fix /usr/share/osmocom/* not shipped in any package ...................................................................... osmo-hlr: Fix /usr/share/osmocom/* not shipped in any package Since osmo-hlr.git 60673e7f771c3362f9d0d26d4c03cfe85ed5a5b3, a new file /usr/share/osmocom/osmo-hlr-post-upgrade.sh is installed by "make install". However, that path is not included in any of the default path list in FILES_${PN} (see meta/conf/bitbake.conf). Hence, we must add it manually in order to fix following error: """ ERROR: osmo-hlr-1.3.0+gitrAUTOINC+60673e7f77-r2.18.0 do_package: QA Issue: osmo-hlr: Files/directories were installed but not shipped in any package: /usr/share/osmocom /usr/share/osmocom/osmo-hlr-post-upgrade.sh Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. osmo-hlr: 2 installed and not shipped files. [installed-vs-shipped] """ Related: OS#5138 Change-Id: Icdf060f519aaed043eed0dc79779258b0e39006a --- M recipes-osmocom/osmo-hlr/osmo-hlr.inc 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/meta-telephony refs/changes/43/24543/1 diff --git a/recipes-osmocom/osmo-hlr/osmo-hlr.inc b/recipes-osmocom/osmo-hlr/osmo-hlr.inc index 7fa415b..c270746 100644 --- a/recipes-osmocom/osmo-hlr/osmo-hlr.inc +++ b/recipes-osmocom/osmo-hlr/osmo-hlr.inc @@ -38,6 +38,8 @@ ${bindir}/osmo-euse-demo \ " +FILES_${PN} =+ "${datadir}/osmocom/*" + SYSTEMD_SERVICE_${PN} = "${PN}.service" CONFFILES_osmo-hlr = "\ ${sysconfdir}/osmocom/osmo-hlr.cfg \ -- To view, visit https://gerrit.osmocom.org/c/meta-telephony/+/24543 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: meta-telephony Gerrit-Branch: laforge/nightly Gerrit-Change-Id: Icdf060f519aaed043eed0dc79779258b0e39006a Gerrit-Change-Number: 24543 Gerrit-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 Jun 4 13:46:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 13:46:51 +0000 Subject: Change in meta-telephony[laforge/nightly]: osmo-hlr: Fix /usr/share/osmocom/* not shipped in any package In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/meta-telephony/+/24543 ) Change subject: osmo-hlr: Fix /usr/share/osmocom/* not shipped in any package ...................................................................... Patch Set 1: Tested building with it with 201705-testbranch job, builds fine. -- To view, visit https://gerrit.osmocom.org/c/meta-telephony/+/24543 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: meta-telephony Gerrit-Branch: laforge/nightly Gerrit-Change-Id: Icdf060f519aaed043eed0dc79779258b0e39006a Gerrit-Change-Number: 24543 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 04 Jun 2021 13:46: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 Fri Jun 4 13:52:50 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 4 Jun 2021 13:52:50 +0000 Subject: Change in meta-telephony[laforge/nightly]: osmo-hlr: Fix /usr/share/osmocom/* not shipped in any package In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/meta-telephony/+/24543 ) Change subject: osmo-hlr: Fix /usr/share/osmocom/* not shipped in any package ...................................................................... Patch Set 1: Code-Review+2 LGTM, thanks! -- To view, visit https://gerrit.osmocom.org/c/meta-telephony/+/24543 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: meta-telephony Gerrit-Branch: laforge/nightly Gerrit-Change-Id: Icdf060f519aaed043eed0dc79779258b0e39006a Gerrit-Change-Number: 24543 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 04 Jun 2021 13:52:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 13:53:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 13:53:48 +0000 Subject: Change in meta-telephony[laforge/nightly]: osmo-hlr: Fix /usr/share/osmocom/* not shipped in any package In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/meta-telephony/+/24543 ) Change subject: osmo-hlr: Fix /usr/share/osmocom/* not shipped in any package ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/meta-telephony/+/24543 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: meta-telephony Gerrit-Branch: laforge/nightly Gerrit-Change-Id: Icdf060f519aaed043eed0dc79779258b0e39006a Gerrit-Change-Number: 24543 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 13:53: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 Jun 4 13:53:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 13:53:50 +0000 Subject: Change in meta-telephony[laforge/nightly]: osmo-hlr: Fix /usr/share/osmocom/* not shipped in any package In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/meta-telephony/+/24543 ) Change subject: osmo-hlr: Fix /usr/share/osmocom/* not shipped in any package ...................................................................... osmo-hlr: Fix /usr/share/osmocom/* not shipped in any package Since osmo-hlr.git 60673e7f771c3362f9d0d26d4c03cfe85ed5a5b3, a new file /usr/share/osmocom/osmo-hlr-post-upgrade.sh is installed by "make install". However, that path is not included in any of the default path list in FILES_${PN} (see meta/conf/bitbake.conf). Hence, we must add it manually in order to fix following error: """ ERROR: osmo-hlr-1.3.0+gitrAUTOINC+60673e7f77-r2.18.0 do_package: QA Issue: osmo-hlr: Files/directories were installed but not shipped in any package: /usr/share/osmocom /usr/share/osmocom/osmo-hlr-post-upgrade.sh Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. osmo-hlr: 2 installed and not shipped files. [installed-vs-shipped] """ Related: OS#5138 Change-Id: Icdf060f519aaed043eed0dc79779258b0e39006a --- M recipes-osmocom/osmo-hlr/osmo-hlr.inc 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: osmith: Looks good to me, approved pespin: Verified diff --git a/recipes-osmocom/osmo-hlr/osmo-hlr.inc b/recipes-osmocom/osmo-hlr/osmo-hlr.inc index 7fa415b..c270746 100644 --- a/recipes-osmocom/osmo-hlr/osmo-hlr.inc +++ b/recipes-osmocom/osmo-hlr/osmo-hlr.inc @@ -38,6 +38,8 @@ ${bindir}/osmo-euse-demo \ " +FILES_${PN} =+ "${datadir}/osmocom/*" + SYSTEMD_SERVICE_${PN} = "${PN}.service" CONFFILES_osmo-hlr = "\ ${sysconfdir}/osmocom/osmo-hlr.cfg \ -- To view, visit https://gerrit.osmocom.org/c/meta-telephony/+/24543 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: meta-telephony Gerrit-Branch: laforge/nightly Gerrit-Change-Id: Icdf060f519aaed043eed0dc79779258b0e39006a Gerrit-Change-Number: 24543 Gerrit-PatchSet: 1 Gerrit-Owner: pespin 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 Jun 4 14:36:42 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 4 Jun 2021 14:36:42 +0000 Subject: Change in libosmocore[master]: osmo_select_shutdown: allow finishing pending writes on sigterm References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24544 ) Change subject: osmo_select_shutdown: allow finishing pending writes on sigterm ...................................................................... osmo_select_shutdown: allow finishing pending writes on sigterm So far various osmo programs have a curious sleep of two seconds upon receiving SIGTERM. The idea presumably was to finish off pending writes before halting the program. But a sleep(2) on program exit is annoying, especially when there usually are no pending writes, and when osmo-bsc is launched numerous times for tests. Allow running osmo_select_main* to only service pending writes. Introduce a global boolean flag to indicate a shutdown request, and a second boolean flag to indicate shutdown is complete. Change-Id: Ib94d4316924103459577087c2214188679db2227 --- M include/osmocom/core/select.h M src/select.c 2 files changed, 47 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/44/24544/1 diff --git a/include/osmocom/core/select.h b/include/osmocom/core/select.h index b410199..11742da 100644 --- a/include/osmocom/core/select.h +++ b/include/osmocom/core/select.h @@ -27,6 +27,9 @@ #define BSC_FD_WRITE OSMO_FD_WRITE #define BSC_FD_EXCEPT OSMO_FD_EXCEPT +extern bool osmo_select_shutdown; +extern bool osmo_select_shutdown_done; + /*! Structure representing a file dsecriptor */ struct osmo_fd { /*! linked list for internal management */ diff --git a/src/select.c b/src/select.c index 71ee7f6..e3bbbb0 100644 --- a/src/select.c +++ b/src/select.c @@ -69,6 +69,39 @@ static __thread struct poll_state g_poll; #endif /* FORCE_IO_SELECT */ +/*! A calling main program may request osmo_select_* to only service pending OSMO_FD_WRITE requests. Once all writes are + * done, osmo_select_shutdown_done is set to true. This allows for example to send all outbound packets before + * terminating the process. + * + * Usage example: + * + * static void signal_handler(int signum) + * { + * fprintf(stdout, "signal %u received\n", signum); + * + * switch (signum) { + * case SIGINT: + * case SIGTERM: + * // If SIGTERM was already sent before, just terminate immediately this time around. + * if (osmo_select_shutdown) + * exit(-1); + * osmo_select_shutdown = true; + * break; + * [...] + * } + * + * main() + * { + * [...] + * while (!osmo_select_shutdown_done) { + * osmo_select_main_ctx(0); + * } + * } + */ +bool osmo_select_shutdown = false; +/*! Set to true when osmo_select_shutdown is true and osmo_select's poll loop found no pending write operations. */ +bool osmo_select_shutdown_done = false; + /*! Set up an osmo-fd. Will not register it. * \param[inout] ofd Osmo FD to be set-up * \param[in] fd OS-level file descriptor number @@ -316,6 +349,7 @@ struct osmo_fd *ufd; unsigned int i; int work = 0; + int shutdown_pending_writes = 0; for (i = 0; i < n_fd; i++) { struct pollfd *p = &g_poll.poll[i]; @@ -340,6 +374,11 @@ /* make sure we never report more than the user requested */ flags &= ufd->when; + if (osmo_select_shutdown) { + if (ufd->when & OSMO_FD_WRITE) + shutdown_pending_writes++; + } + if (flags) { work = 1; /* make sure to clear any log context before processing the next incoming message @@ -351,6 +390,9 @@ } } + if (osmo_select_shutdown && !shutdown_pending_writes) + osmo_select_shutdown_done = true; + return work; } @@ -370,7 +412,8 @@ return 0; /* fire timers */ - osmo_timers_update(); + if (!osmo_select_shutdown) + osmo_timers_update(); OSMO_ASSERT(osmo_ctx->select); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib94d4316924103459577087c2214188679db2227 Gerrit-Change-Number: 24544 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 Jun 4 14:40:35 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 4 Jun 2021 14:40:35 +0000 Subject: Change in libosmocore[master]: osmo_select_shutdown: allow finishing pending writes on sigterm In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24544 ) Change subject: osmo_select_shutdown: allow finishing pending writes on sigterm ...................................................................... Patch Set 1: (1 comment) Here is a proposal, an idea to get rid of the unconditional sleep() we have in at least osmo-bsc. I just hacked it up and it seems to work, any reasons why this could be a bad idea? https://gerrit.osmocom.org/c/libosmocore/+/24544/1/src/select.c File src/select.c: https://gerrit.osmocom.org/c/libosmocore/+/24544/1/src/select.c at 103 PS1, Line 103: bool osmo_select_shutdown_done = false; maybe these should rather be function calls, to be able to extend the functionality in the future? void osmo_select_shutdown_request() { _osmo_select_shutdown = true; }; bool osmo_select_shutdown_requested() { return _osmo_select_shutdown; }; bool osmo_select_shutdown_done() { return _osmo_select_shutdown_done; }; I'm not sure whether that is helping or just bloat. what do you think? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib94d4316924103459577087c2214188679db2227 Gerrit-Change-Number: 24544 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Fri, 04 Jun 2021 14:40:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 14:55:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 14:55:53 +0000 Subject: Change in osmo-msc[master]: Use new osmo stat items/ctr APIs References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/24545 ) Change subject: Use new osmo stat items/ctr APIs ...................................................................... Use new osmo stat items/ctr APIs Generated using several semantinc patches with spatch. Change-Id: I3ee853539949a763a309856bf2e7196415b23741 --- M src/libmsc/gsm_04_08.c M src/libmsc/gsm_04_08_cc.c M src/libmsc/gsm_04_11.c M src/libmsc/gsm_09_11.c M src/libmsc/mncc_call.c M src/libmsc/msc_a.c M src/libmsc/msc_vty.c 7 files changed, 61 insertions(+), 64 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/45/24545/1 diff --git a/src/libmsc/gsm_04_08.c b/src/libmsc/gsm_04_08.c index 58ef074..fb450e6 100644 --- a/src/libmsc/gsm_04_08.c +++ b/src/libmsc/gsm_04_08.c @@ -366,15 +366,15 @@ switch (lu->type) { case GSM48_LUPD_NORMAL: - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_TYPE_NORMAL]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_LOC_UPDATE_TYPE_NORMAL)); vlr_lu_type = VLR_LU_TYPE_REGULAR; break; case GSM48_LUPD_IMSI_ATT: - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_TYPE_ATTACH]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_LOC_UPDATE_TYPE_ATTACH)); vlr_lu_type = VLR_LU_TYPE_IMSI_ATTACH; break; case GSM48_LUPD_PERIODIC: - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_TYPE_PERIODIC]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_LOC_UPDATE_TYPE_PERIODIC)); vlr_lu_type = VLR_LU_TYPE_PERIODIC; break; } @@ -854,7 +854,7 @@ DEBUGP(DMM, "IMSI DETACH INDICATION: %s\n", osmo_mobile_identity_to_str_c(OTC_SELECT, &mi)); - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_TYPE_DETACH]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_LOC_UPDATE_TYPE_DETACH)); switch (mi.type) { case GSM_MI_TYPE_TMSI: diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c index 704e596..a8b4665 100644 --- a/src/libmsc/gsm_04_08_cc.c +++ b/src/libmsc/gsm_04_08_cc.c @@ -163,20 +163,22 @@ /* state incoming */ switch (new_state) { case GSM_CSTATE_ACTIVE: - osmo_stat_item_inc(trans->net->statg->items[MSC_STAT_ACTIVE_CALLS], 1); - rate_ctr_inc(&msc->ctr[MSC_CTR_CALL_ACTIVE]); + osmo_stat_item_inc(osmo_stat_item_group_get_item(trans->net->statg, MSC_STAT_ACTIVE_CALLS), + 1); + rate_ctr_inc(rate_ctr_group_get_ctr(msc, MSC_CTR_CALL_ACTIVE)); break; } /* state outgoing */ switch (old_state) { case GSM_CSTATE_ACTIVE: - osmo_stat_item_dec(trans->net->statg->items[MSC_STAT_ACTIVE_CALLS], 1); + osmo_stat_item_dec(osmo_stat_item_group_get_item(trans->net->statg, MSC_STAT_ACTIVE_CALLS), + 1); if (new_state == GSM_CSTATE_DISCONNECT_REQ || new_state == GSM_CSTATE_DISCONNECT_IND) - rate_ctr_inc(&msc->ctr[MSC_CTR_CALL_COMPLETE]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc, MSC_CTR_CALL_COMPLETE)); else - rate_ctr_inc(&msc->ctr[MSC_CTR_CALL_INCOMPLETE]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc, MSC_CTR_CALL_INCOMPLETE)); break; } } @@ -574,7 +576,7 @@ LOG_TRANS(trans, setup.emergency ? LOGL_NOTICE : LOGL_INFO, "%sSETUP to %s\n", setup.emergency ? "EMERGENCY_" : "", setup.called.number); - rate_ctr_inc(&trans->net->msc_ctrs->ctr[MSC_CTR_CALL_MO_SETUP]); + rate_ctr_inc(rate_ctr_group_get_ctr(trans->net->msc_ctrs, MSC_CTR_CALL_MO_SETUP)); /* indicate setup to MNCC */ mncc_recvmsg(trans->net, trans, MNCC_SETUP_IND, &setup); @@ -657,7 +659,7 @@ new_cc_state(trans, GSM_CSTATE_CALL_PRESENT); - rate_ctr_inc(&trans->net->msc_ctrs->ctr[MSC_CTR_CALL_MT_SETUP]); + rate_ctr_inc(rate_ctr_group_get_ctr(trans->net->msc_ctrs, MSC_CTR_CALL_MT_SETUP)); return trans_tx_gsm48(trans, msg); } @@ -902,7 +904,7 @@ } new_cc_state(trans, GSM_CSTATE_CONNECT_REQUEST); - rate_ctr_inc(&trans->net->msc_ctrs->ctr[MSC_CTR_CALL_MT_CONNECT]); + rate_ctr_inc(rate_ctr_group_get_ctr(trans->net->msc_ctrs, MSC_CTR_CALL_MT_CONNECT)); return mncc_recvmsg(trans->net, trans, MNCC_SETUP_CNF, &connect); } @@ -915,7 +917,7 @@ gsm48_stop_cc_timer(trans); new_cc_state(trans, GSM_CSTATE_ACTIVE); - rate_ctr_inc(&trans->net->msc_ctrs->ctr[MSC_CTR_CALL_MO_CONNECT_ACK]); + rate_ctr_inc(rate_ctr_group_get_ctr(trans->net->msc_ctrs, MSC_CTR_CALL_MO_CONNECT_ACK)); memset(&connect_ack, 0, sizeof(struct gsm_mncc)); connect_ack.callref = trans->callref; diff --git a/src/libmsc/gsm_04_11.c b/src/libmsc/gsm_04_11.c index e5063dc..199fdc1 100644 --- a/src/libmsc/gsm_04_11.c +++ b/src/libmsc/gsm_04_11.c @@ -432,7 +432,7 @@ LOG_TRANS(trans, LOGL_ERROR, "SMS delivery error: %d\n", rc); rc = GSM411_RP_CAUSE_MO_TEMP_FAIL; /* rc will be logged by gsm411_send_rp_error() */ - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_DELIVER_UNKNOWN_ERROR]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_SMS_DELIVER_UNKNOWN_ERROR)); } return rc; } @@ -448,22 +448,22 @@ #ifdef BUILD_SMPP /* Avoid a second look-up */ if (smpp_route_smpp_first()) { - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_SMS_NO_RECEIVER)); return GSM411_RP_CAUSE_MO_NUM_UNASSIGNED; } rc = smpp_try_deliver(gsms, msc_a); if (rc == GSM411_RP_CAUSE_MO_NUM_UNASSIGNED) { - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_SMS_NO_RECEIVER)); } else if (rc < 0) { LOG_TRANS(trans, LOGL_ERROR, "SMS delivery error: %d\n", rc); rc = GSM411_RP_CAUSE_MO_TEMP_FAIL; /* rc will be logged by gsm411_send_rp_error() */ - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_DELIVER_UNKNOWN_ERROR]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_SMS_DELIVER_UNKNOWN_ERROR)); } #else rc = GSM411_RP_CAUSE_MO_NUM_UNASSIGNED; - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_SMS_NO_RECEIVER)); #endif return rc; @@ -501,7 +501,7 @@ } /* FIXME: should we do this on success, after all checks? */ - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_SUBMITTED]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_SMS_SUBMITTED)); gsms = sms_alloc(); if (!gsms) @@ -903,10 +903,10 @@ * to store this in our database and wait for a SMMA message */ /* FIXME */ send_signal(S_SMS_MEM_EXCEEDED, trans, sms, 0); - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_RP_ERR_MEM]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_SMS_RP_ERR_MEM)); } else { send_signal(S_SMS_UNKNOWN_ERROR, trans, sms, 0); - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_RP_ERR_OTHER]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_SMS_RP_ERR_OTHER)); } sms_free(sms); @@ -1211,7 +1211,7 @@ /* Store a pointer to abstract SMS representation */ trans->sms.sms = sms; - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_DELIVERED]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_SMS_DELIVERED)); db_sms_inc_deliver_attempts(trans->sms.sms); return gsm411_rp_sendmsg(&trans->sms.smr_inst, msg, @@ -1254,7 +1254,7 @@ /* Encode RP-UD itself (SM TPDU) */ msgb_lv_put(msg, sm_rp_ud_len, sm_rp_ud); - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_DELIVERED]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_SMS_DELIVERED)); return gsm411_rp_sendmsg(&trans->sms.smr_inst, msg, GSM411_MT_RP_DATA_MT, trans->sms.sm_rp_mr, diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index b696a67..d94be48 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -125,7 +125,7 @@ trans = trans_find_by_id(msc_a, TRANS_USSD, tid); if (!trans) { /* Count MS-initiated attempts to establish a NC SS/USSD session */ - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_NC_SS_MO_REQUESTS]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_NC_SS_MO_REQUESTS)); /** * According to GSM TS 04.80, section 2.4.2 "Register @@ -159,7 +159,7 @@ ncss_session_timeout_handler, trans); /* Count active NC SS/USSD sessions */ - osmo_stat_item_inc(net->statg->items[MSC_STAT_ACTIVE_NC_SS], 1); + osmo_stat_item_inc(osmo_stat_item_group_get_item(net->statg, MSC_STAT_ACTIVE_NC_SS), 1); trans->dlci = OMSC_LINKID_CB(msg); trans->msc_a = msc_a; @@ -241,7 +241,7 @@ /* Count established MS-initiated NC SS/USSD sessions */ if (msg_type == GSM0480_MTYPE_REGISTER) - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_NC_SS_MO_ESTABLISHED]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_NC_SS_MO_ESTABLISHED)); return rc; @@ -297,7 +297,7 @@ trans->ss.msg = NULL; /* Count established network-initiated NC SS/USSD sessions */ - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_NC_SS_MT_ESTABLISHED]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_NC_SS_MT_ESTABLISHED)); } else { struct osmo_gsup_message gsup_msg; @@ -363,7 +363,7 @@ } /* Count active NC SS/USSD sessions */ - osmo_stat_item_inc(net->statg->items[MSC_STAT_ACTIVE_NC_SS], 1); + osmo_stat_item_inc(osmo_stat_item_group_get_item(net->statg, MSC_STAT_ACTIVE_NC_SS), 1); /* Init inactivity timer */ osmo_timer_setup(&trans->ss.timer_guard, @@ -415,7 +415,8 @@ osmo_timer_del(&trans->ss.timer_guard); /* One session less */ - osmo_stat_item_dec(trans->net->statg->items[MSC_STAT_ACTIVE_NC_SS], 1); + osmo_stat_item_dec(osmo_stat_item_group_get_item(trans->net->statg, MSC_STAT_ACTIVE_NC_SS), + 1); } int gsm0911_gsup_rx(struct gsup_client_mux *gcm, void *data, const struct osmo_gsup_message *gsup_msg) @@ -474,7 +475,7 @@ if (!trans) { /* Count network-initiated attempts to establish a NC SS/USSD session */ - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_NC_SS_MT_REQUESTS]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_NC_SS_MT_REQUESTS)); /* Attempt to establish a new transaction */ trans = establish_nc_ss_trans(net, vsub, gsup_msg); @@ -578,7 +579,7 @@ /* Count established network-initiated NC SS/USSD sessions */ if (gsup_msg->session_state == OSMO_GSUP_SESSION_STATE_BEGIN) - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_NC_SS_MT_ESTABLISHED]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_NC_SS_MT_ESTABLISHED)); return 0; } diff --git a/src/libmsc/mncc_call.c b/src/libmsc/mncc_call.c index 131620d..c9a6d56 100644 --- a/src/libmsc/mncc_call.c +++ b/src/libmsc/mncc_call.c @@ -224,7 +224,7 @@ mncc_call->local_msisdn_present = true; mncc_call->local_msisdn = mncc_msg.signal.calling; - rate_ctr_inc(&gsmnet->msc_ctrs->ctr[MSC_CTR_CALL_MO_SETUP]); + rate_ctr_inc(rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_CALL_MO_SETUP)); mncc_call_tx(mncc_call, &mncc_msg); } diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c index daa5bc7..391d251 100644 --- a/src/libmsc/msc_a.c +++ b/src/libmsc/msc_a.c @@ -112,19 +112,13 @@ struct gsm_network *net = msc_a_net(msc_a); switch (msc_a->complete_layer3_type) { case COMPLETE_LAYER3_LU: - rate_ctr_inc(&net->msc_ctrs->ctr[ - conn_accepted ? MSC_CTR_LOC_UPDATE_COMPLETED - : MSC_CTR_LOC_UPDATE_FAILED]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, conn_accepted ? MSC_CTR_LOC_UPDATE_COMPLETED : MSC_CTR_LOC_UPDATE_FAILED)); break; case COMPLETE_LAYER3_CM_SERVICE_REQ: - rate_ctr_inc(&net->msc_ctrs->ctr[ - conn_accepted ? MSC_CTR_CM_SERVICE_REQUEST_ACCEPTED - : MSC_CTR_CM_SERVICE_REQUEST_REJECTED]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, conn_accepted ? MSC_CTR_CM_SERVICE_REQUEST_ACCEPTED : MSC_CTR_CM_SERVICE_REQUEST_REJECTED)); break; case COMPLETE_LAYER3_PAGING_RESP: - rate_ctr_inc(&net->msc_ctrs->ctr[ - conn_accepted ? MSC_CTR_PAGING_RESP_ACCEPTED - : MSC_CTR_PAGING_RESP_REJECTED]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, conn_accepted ? MSC_CTR_PAGING_RESP_ACCEPTED : MSC_CTR_PAGING_RESP_REJECTED)); break; default: break; diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c index 79b4daa..7b111b1 100644 --- a/src/libmsc/msc_vty.c +++ b/src/libmsc/msc_vty.c @@ -1814,45 +1814,45 @@ SHOW_STR "Display network statistics\n") { vty_out(vty, "Location Update : %" PRIu64 " attach, %" PRIu64 " normal, %" PRIu64 " periodic%s", - gsmnet->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_TYPE_ATTACH].current, - gsmnet->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_TYPE_NORMAL].current, - gsmnet->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_TYPE_PERIODIC].current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_LOC_UPDATE_TYPE_ATTACH)->current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_LOC_UPDATE_TYPE_NORMAL)->current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_LOC_UPDATE_TYPE_PERIODIC)->current, VTY_NEWLINE); vty_out(vty, "IMSI Detach Indications : %" PRIu64 "%s", - gsmnet->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_TYPE_DETACH].current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_LOC_UPDATE_TYPE_DETACH)->current, VTY_NEWLINE); vty_out(vty, "Location Updating Results: %" PRIu64 " completed, %" PRIu64 " failed%s", - gsmnet->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_COMPLETED].current, - gsmnet->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_FAILED].current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_LOC_UPDATE_COMPLETED)->current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_LOC_UPDATE_FAILED)->current, VTY_NEWLINE); vty_out(vty, "SMS MO : %" PRIu64 " submitted, %" PRIu64 " no receiver%s", - gsmnet->msc_ctrs->ctr[MSC_CTR_SMS_SUBMITTED].current, - gsmnet->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER].current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_SMS_SUBMITTED)->current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_SMS_NO_RECEIVER)->current, VTY_NEWLINE); vty_out(vty, "SMS MT : %" PRIu64 " delivered, %" PRIu64 " no memory, %" PRIu64 " other error%s", - gsmnet->msc_ctrs->ctr[MSC_CTR_SMS_DELIVERED].current, - gsmnet->msc_ctrs->ctr[MSC_CTR_SMS_RP_ERR_MEM].current, - gsmnet->msc_ctrs->ctr[MSC_CTR_SMS_RP_ERR_OTHER].current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_SMS_DELIVERED)->current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_SMS_RP_ERR_MEM)->current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_SMS_RP_ERR_OTHER)->current, VTY_NEWLINE); vty_out(vty, "MO Calls : %" PRIu64 " setup, %" PRIu64 " connect ack%s", - gsmnet->msc_ctrs->ctr[MSC_CTR_CALL_MO_SETUP].current, - gsmnet->msc_ctrs->ctr[MSC_CTR_CALL_MO_CONNECT_ACK].current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_CALL_MO_SETUP)->current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_CALL_MO_CONNECT_ACK)->current, VTY_NEWLINE); vty_out(vty, "MT Calls : %" PRIu64 " setup, %" PRIu64 " connect%s", - gsmnet->msc_ctrs->ctr[MSC_CTR_CALL_MT_SETUP].current, - gsmnet->msc_ctrs->ctr[MSC_CTR_CALL_MT_CONNECT].current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_CALL_MT_SETUP)->current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_CALL_MT_CONNECT)->current, VTY_NEWLINE); vty_out(vty, "MO NC SS/USSD : %" PRIu64 " requests, %" PRIu64 " established, %" PRIu64 " rejected%s", - gsmnet->msc_ctrs->ctr[MSC_CTR_NC_SS_MO_REQUESTS].current, - gsmnet->msc_ctrs->ctr[MSC_CTR_NC_SS_MO_ESTABLISHED].current, - gsmnet->msc_ctrs->ctr[MSC_CTR_NC_SS_MO_REQUESTS].current - - gsmnet->msc_ctrs->ctr[MSC_CTR_NC_SS_MO_ESTABLISHED].current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_NC_SS_MO_REQUESTS)->current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_NC_SS_MO_ESTABLISHED)->current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_NC_SS_MO_REQUESTS)->current + - rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_NC_SS_MO_ESTABLISHED)->current, VTY_NEWLINE); vty_out(vty, "MT NC SS/USSD : %" PRIu64 " requests, %" PRIu64 " established, %" PRIu64 " rejected%s", - gsmnet->msc_ctrs->ctr[MSC_CTR_NC_SS_MT_REQUESTS].current, - gsmnet->msc_ctrs->ctr[MSC_CTR_NC_SS_MT_ESTABLISHED].current, - gsmnet->msc_ctrs->ctr[MSC_CTR_NC_SS_MT_REQUESTS].current - - gsmnet->msc_ctrs->ctr[MSC_CTR_NC_SS_MT_ESTABLISHED].current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_NC_SS_MT_REQUESTS)->current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_NC_SS_MT_ESTABLISHED)->current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_NC_SS_MT_REQUESTS)->current + - rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_NC_SS_MT_ESTABLISHED)->current, VTY_NEWLINE); return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I3ee853539949a763a309856bf2e7196415b23741 Gerrit-Change-Number: 24545 Gerrit-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 Jun 4 15:14:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 15:14:22 +0000 Subject: Change in osmo-pcu[master]: Use new stat item/ctr getter APIs References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24546 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Use new stat item/ctr getter APIs Change-Id: I600c7a8725f5b229b1a2feb879da7c3b2dce4505 --- M src/bts.h M src/gprs_bssgp_pcu.c M src/gprs_rlcmac_sched.cpp M src/nacc_fsm.c M src/tbf_dl.cpp M src/tbf_ul.cpp 6 files changed, 38 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/46/24546/1 diff --git a/src/bts.h b/src/bts.h index bb91df3..2a7d883 100644 --- a/src/bts.h +++ b/src/bts.h @@ -325,16 +325,17 @@ } static inline void bts_do_rate_ctr_inc(const struct gprs_rlcmac_bts *bts, unsigned int ctr_id) { - rate_ctr_inc(&bts->ratectrs->ctr[ctr_id]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->ratectrs, ctr_id)); } static inline void bts_do_rate_ctr_add(const struct gprs_rlcmac_bts *bts, unsigned int ctr_id, int inc) { - rate_ctr_add(&bts->ratectrs->ctr[ctr_id], inc); + rate_ctr_add(rate_ctr_group_get_ctr(bts->ratectrs, ctr_id), inc); } static inline void bts_stat_item_add(struct gprs_rlcmac_bts *bts, unsigned int stat_id, int inc) { - int32_t val = osmo_stat_item_get_last(bts->statg->items[stat_id]); - osmo_stat_item_set(bts->statg->items[stat_id], val + inc); + struct osmo_stat_item *item = osmo_stat_item_group_get_item(bts->statg, stat_id); + int32_t val = osmo_stat_item_get_last(item); + osmo_stat_item_set(item, val + inc); } struct gprs_rlcmac_bts *bts_alloc(struct gprs_pcu *pcu, uint8_t bts_nr); diff --git a/src/gprs_bssgp_pcu.c b/src/gprs_bssgp_pcu.c index 7ee2e45..0e8e145 100644 --- a/src/gprs_bssgp_pcu.c +++ b/src/gprs_bssgp_pcu.c @@ -538,8 +538,8 @@ if (bctx) { log_set_context(LOG_CTX_GB_BVC, bctx); - rate_ctr_inc(&bctx->ctrg->ctr[BSSGP_CTR_PKTS_IN]); - rate_ctr_add(&bctx->ctrg->ctr[BSSGP_CTR_BYTES_IN], msgb_bssgp_len(msg)); + rate_ctr_inc(rate_ctr_group_get_ctr(bctx->ctrg, BSSGP_CTR_PKTS_IN)); + rate_ctr_add(rate_ctr_group_get_ctr(bctx->ctrg, BSSGP_CTR_BYTES_IN), msgb_bssgp_len(msg)); } if (ns_bvci == BVCI_SIGNALLING) diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index fa86b76..4c1a6ab 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -217,7 +217,7 @@ LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "FN=%" PRIu32 " Scheduling control message at RTS for %s\n", fn, tbf_name(tbf)); - rate_ctr_inc(&tbf->ms()->ctrs->ctr[MS_CTR_DL_CTRL_MSG_SCHED]); + rate_ctr_inc(rate_ctr_group_get_ctr(tbf->ms()->ctrs, MS_CTR_DL_CTRL_MSG_SCHED)); return msg; } diff --git a/src/nacc_fsm.c b/src/nacc_fsm.c index 6384fd5..d2702d4 100644 --- a/src/nacc_fsm.c +++ b/src/nacc_fsm.c @@ -147,7 +147,7 @@ goto free_ret; } LOGP(DNACC, LOGL_DEBUG, "------------------------- TX : Packet Neighbour Cell Data -------------------------\n"); - rate_ctr_inc(&bts_rate_counters(ms->bts)->ctr[CTR_PKT_NEIGH_CELL_DATA]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts_rate_counters(ms->bts), CTR_PKT_NEIGH_CELL_DATA)); talloc_free(mac_control_block); ctx->container_idx++; @@ -204,7 +204,7 @@ goto free_ret; } LOGP(DNACC, LOGL_DEBUG, "------------------------- TX : Packet Cell Change Continue -------------------------\n"); - rate_ctr_inc(&bts_rate_counters(ms->bts)->ctr[CTR_PKT_CELL_CHG_CONTINUE]); + 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); return msg; diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 9ed389d..eb215fe 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -1137,7 +1137,7 @@ ms_update_error_rate(ms(), this, error_rate); m_window.update(bts, rbb, first_bsn, &lost, &received); - rate_ctr_add(&m_ctrs->ctr[TBF_CTR_RLC_NACKED], lost); + 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); @@ -1193,7 +1193,7 @@ m_window.update(bts, show_rbb, ssn, &lost, &received); - rate_ctr_add(&m_ctrs->ctr[TBF_CTR_RLC_NACKED], lost); + 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); @@ -1509,55 +1509,55 @@ switch (cs) { case CS1: bts_do_rate_ctr_inc(bts, CTR_GPRS_DL_CS1); - rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS1]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_gprs_ctrs, TBF_CTR_GPRS_DL_CS1)); break; case CS2: bts_do_rate_ctr_inc(bts, CTR_GPRS_DL_CS2); - rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS2]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_gprs_ctrs, TBF_CTR_GPRS_DL_CS2)); break; case CS3: bts_do_rate_ctr_inc(bts, CTR_GPRS_DL_CS3); - rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS3]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_gprs_ctrs, TBF_CTR_GPRS_DL_CS3)); break; case CS4: bts_do_rate_ctr_inc(bts, CTR_GPRS_DL_CS4); - rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS4]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_gprs_ctrs, TBF_CTR_GPRS_DL_CS4)); break; case MCS1: bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS1); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS1]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS1)); break; case MCS2: bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS2); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS2]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS2)); break; case MCS3: bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS3); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS3]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS3)); break; case MCS4: bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS4); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS4]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS4)); break; case MCS5: bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS5); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS5]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS5)); break; case MCS6: bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS6); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS6]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS6)); break; case MCS7: bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS7); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS7]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS7)); break; case MCS8: bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS8); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS8]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS8)); break; case MCS9: bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS9); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS9]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS9)); break; default: LOGPTBFDL(this, LOGL_ERROR, "attempting to update rate counters for unsupported (M)CS %s\n", diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 9cbb9fb..b5f9f01 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -743,55 +743,55 @@ switch (cs) { case CS1: bts_do_rate_ctr_inc(bts, CTR_GPRS_UL_CS1); - rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS1]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_gprs_ctrs, TBF_CTR_GPRS_UL_CS1)); break; case CS2: bts_do_rate_ctr_inc(bts, CTR_GPRS_UL_CS2); - rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS2]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_gprs_ctrs, TBF_CTR_GPRS_UL_CS2)); break; case CS3: bts_do_rate_ctr_inc(bts, CTR_GPRS_UL_CS3); - rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS3]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_gprs_ctrs, TBF_CTR_GPRS_UL_CS3)); break; case CS4: bts_do_rate_ctr_inc(bts, CTR_GPRS_UL_CS4); - rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS4]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_gprs_ctrs, TBF_CTR_GPRS_UL_CS4)); break; case MCS1: bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS1); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS1]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS1)); break; case MCS2: bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS2); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS2]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS2)); break; case MCS3: bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS3); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS3]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS3)); break; case MCS4: bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS4); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS4]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS4)); break; case MCS5: bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS5); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS5]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS5)); break; case MCS6: bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS6); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS6]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS6)); break; case MCS7: bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS7); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS7]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS7)); break; case MCS8: bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS8); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS8]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS8)); break; case MCS9: bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS9); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS9]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS9)); break; default: LOGPTBFUL(this, LOGL_ERROR, "attempting to update rate counters for unsupported (M)CS %s\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I600c7a8725f5b229b1a2feb879da7c3b2dce4505 Gerrit-Change-Number: 24546 Gerrit-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 Jun 4 15:14:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 15:14:48 +0000 Subject: Change in osmo-pcu[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-pcu/+/24546 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Use new stat item/ctr getter APIs Patch mostly done with the help of several small spatch snippets. Change-Id: I600c7a8725f5b229b1a2feb879da7c3b2dce4505 --- M src/bts.h M src/gprs_bssgp_pcu.c M src/gprs_rlcmac_sched.cpp M src/nacc_fsm.c M src/tbf_dl.cpp M src/tbf_ul.cpp 6 files changed, 38 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/46/24546/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I600c7a8725f5b229b1a2feb879da7c3b2dce4505 Gerrit-Change-Number: 24546 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 15:22:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 15:22:00 +0000 Subject: Change in osmo-trx[master]: Use new stat item/ctr getter APIs References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/24547 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Use new stat item/ctr getter APIs Change-Id: I1fdfdae2810c3c82ff62fe725ffa364df4ebeff5 --- M CommonLibs/trx_rate_ctr.cpp M TODO-RELEASE 2 files changed, 16 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/47/24547/1 diff --git a/CommonLibs/trx_rate_ctr.cpp b/CommonLibs/trx_rate_ctr.cpp index e902ff1..ba4fcc0 100644 --- a/CommonLibs/trx_rate_ctr.cpp +++ b/CommonLibs/trx_rate_ctr.cpp @@ -147,17 +147,17 @@ if (dev_ctrs_pending[chan].chan == PENDING_CHAN_NONE) continue; LOGCHAN(chan, DCTR, DEBUG) << "rate_ctr update"; - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_DEV_RX_OVERRUNS]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_DEV_RX_OVERRUNS); rate_ctr_add(ctr, dev_ctrs_pending[chan].rx_overruns - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_DEV_TX_UNDERRUNS]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_DEV_TX_UNDERRUNS); rate_ctr_add(ctr, dev_ctrs_pending[chan].tx_underruns - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_DEV_RX_DROP_EV]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_DEV_RX_DROP_EV); rate_ctr_add(ctr, dev_ctrs_pending[chan].rx_dropped_events - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_DEV_RX_DROP_SMPL]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_DEV_RX_DROP_SMPL); rate_ctr_add(ctr, dev_ctrs_pending[chan].rx_dropped_samples - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_DEV_TX_DROP_EV]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_DEV_TX_DROP_EV); rate_ctr_add(ctr, dev_ctrs_pending[chan].tx_dropped_events - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_DEV_TX_DROP_SMPL]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_DEV_TX_DROP_SMPL); rate_ctr_add(ctr, dev_ctrs_pending[chan].tx_dropped_samples - ctr->current); /* Mark as done */ @@ -178,21 +178,21 @@ if (trx_ctrs_pending[chan].chan == PENDING_CHAN_NONE) continue; LOGCHAN(chan, DCTR, DEBUG) << "rate_ctr update"; - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_TRX_TX_STALE_BURSTS]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_TRX_TX_STALE_BURSTS); rate_ctr_add(ctr, trx_ctrs_pending[chan].tx_stale_bursts - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_TRX_TX_UNAVAILABLE_BURSTS]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_TRX_TX_UNAVAILABLE_BURSTS); rate_ctr_add(ctr, trx_ctrs_pending[chan].tx_unavailable_bursts - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_TRX_TRXD_FN_REPEATED]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_TRX_TRXD_FN_REPEATED); rate_ctr_add(ctr, trx_ctrs_pending[chan].tx_trxd_fn_repeated - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_TRX_TRXD_FN_OUTOFORDER]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_TRX_TRXD_FN_OUTOFORDER); rate_ctr_add(ctr, trx_ctrs_pending[chan].tx_trxd_fn_outoforder - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_TRX_TRXD_FN_SKIPPED]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_TRX_TRXD_FN_SKIPPED); rate_ctr_add(ctr, trx_ctrs_pending[chan].tx_trxd_fn_skipped - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_TRX_RX_EMPTY_BURST]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_TRX_RX_EMPTY_BURST); rate_ctr_add(ctr, trx_ctrs_pending[chan].rx_empty_burst - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_TRX_RX_CLIPPING]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_TRX_RX_CLIPPING); rate_ctr_add(ctr, trx_ctrs_pending[chan].rx_clipping - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_TRX_RX_NO_BURST_DETECTED]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_TRX_RX_NO_BURST_DETECTED); rate_ctr_add(ctr, trx_ctrs_pending[chan].rx_no_burst_detected - ctr->current); /* Mark as done */ trx_ctrs_pending[chan].chan = PENDING_CHAN_NONE; @@ -263,7 +263,7 @@ llist_for_each_entry(ctr_thr, &threshold_list, list) { for (chan = 0; chan < chan_len; chan++) { - rate_ctr = &rate_ctrs[chan]->ctr[ctr_thr->ctr_id]; + rate_ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], ctr_thr->ctr_id); LOGCHAN(chan, DCTR, INFO) << "checking threshold: " << ctr_threshold_2_vty_str(ctr_thr) << " ("<< rate_ctr->intv[ctr_thr->intv].rate << " vs " << ctr_thr->val << ")"; if (rate_ctr->intv[ctr_thr->intv].rate >= ctr_thr->val) { diff --git a/TODO-RELEASE b/TODO-RELEASE index e69de29..ab54c42 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -0,0 +1 @@ +libosmocore > 1.5.1 require APIs osmo_stat_item_group_get_item, rate_ctr_group_get_ctr -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24547 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I1fdfdae2810c3c82ff62fe725ffa364df4ebeff5 Gerrit-Change-Number: 24547 Gerrit-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 Jun 4 15:23:00 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Jun 2021 15:23:00 +0000 Subject: Change in osmo-bsc[master]: Make interference measurement parameters configurable References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24548 ) Change subject: Make interference measurement parameters configurable ...................................................................... Make interference measurement parameters configurable Change-Id: I99ebf57aac1f3ca7e0497c3b4f6b0738c6ed7e47 Related: SYS#5313, OS#1866 --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h 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/gsm_data.c M tests/Makefile.am A tests/interf_meas.vty 8 files changed, 139 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/48/24548/1 diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 7a491d9..72f83eb 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -534,6 +534,9 @@ struct gsm_power_ctrl_params ms_power_ctrl; struct gsm_power_ctrl_params bs_power_ctrl; + /* Interference Measurement Parameters */ + struct gsm_interf_meas_params interf_meas_params; + /* We will ignore CHAN RQD with access delay greater than rach_max_delay */ uint8_t rach_max_delay; }; diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 3f1446b..1540864 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1414,6 +1414,16 @@ extern const struct gsm_power_ctrl_params power_ctrl_params_def; +/* Interference Measurement Parameters */ +struct gsm_interf_meas_params { + /* Intave: Interference Averaging period (see 3GPP TS 45.008, table A.1) */ + uint8_t avg_period; /* number of SACCH multiframes, 1 .. 31 */ + /* Interference level Boundaries (see 3GPP TS 52.021, section 9.4.25) */ + uint8_t bounds_dbm[6]; /* -x dBm values for boundaries 0 .. X5 */ +}; + +extern const struct gsm_interf_meas_params interf_meas_params_def; + enum rsl_cmod_spd chan_mode_to_rsl_cmod_spd(enum gsm48_chan_mode chan_mode); #endif /* _GSM_DATA_H */ diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 6f4e2ec..f6dc274 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1236,6 +1236,25 @@ || 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) { + vty_out(vty, " interference-meas avg-period %u%s", + bts->interf_meas_params.avg_period, + VTY_NEWLINE); + } + if (memcmp(bts->interf_meas_params.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], + VTY_NEWLINE); + } + /* BS/MS Power Control parameters */ config_write_power_ctrl(vty, 2, &bts->bs_power_ctrl); config_write_power_ctrl(vty, 2, &bts->ms_power_ctrl); @@ -4890,6 +4909,46 @@ return CMD_SUCCESS; } +DEFUN_USRATTR(cfg_bts_interf_meas_avg_period, + cfg_bts_interf_meas_avg_period_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "interference-meas avg-period <1-31>", + "Interference measurement parameters\n" + "Averaging period (Intave)\n" + "Number of SACCH multiframes\n") +{ + struct gsm_bts *bts = vty->index; + + bts->interf_meas_params.avg_period = atoi(argv[0]); + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_bts_interf_meas_level_bounds, + cfg_bts_interf_meas_level_bounds_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "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 boundary 0 (dBm)\n" + "Interference boundary X1 (dBm)\n" + "Interference boundary X2 (dBm)\n" + "Interference boundary X3 (dBm)\n" + "Interference boundary X4 (dBm)\n" + "Interference boundary X5 (dBm)\n") +{ + 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])); + /* TODO: ensure ascending (or descending?) order */ + } + + return CMD_SUCCESS; +} + #define BS_POWER_CONTROL_CMD \ "bs-power-control" #define MS_POWER_CONTROL_CMD \ @@ -7864,6 +7923,8 @@ install_element(BTS_NODE, &cfg_bts_rep_ul_dl_sacch_cmd); install_element(BTS_NODE, &cfg_bts_rep_no_ul_dl_sacch_cmd); install_element(BTS_NODE, &cfg_bts_rep_rxqual_cmd); + install_element(BTS_NODE, &cfg_bts_interf_meas_avg_period_cmd); + install_element(BTS_NODE, &cfg_bts_interf_meas_level_bounds_cmd); neighbor_ident_vty_init(); /* See also handover commands added on bts level from handover_vty.c */ diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index 857ddd2..7306560 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -357,6 +357,9 @@ bts->bs_power_ctrl = power_ctrl_params_def; bts->bs_power_ctrl.dir = GSM_PWR_CTRL_DIR_DL; + /* Interference Measurement Parameters (defaults) */ + bts->interf_meas_params = interf_meas_params_def; + bts->rach_max_delay = 63; return bts; diff --git a/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c b/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c index 885f4cc..ed3a802 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c @@ -35,11 +35,12 @@ if (!msgb) return NULL; - memcpy(buf, "\x55\x5b\x61\x67\x6d\x73", 6); - msgb_tv_fixed_put(msgb, NM_ATT_INTERF_BOUND, 6, buf); - - /* interference avg. period in numbers of SACCH multifr */ - msgb_tv_put(msgb, NM_ATT_INTAVE_PARAM, 0x06); + /* 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]); + /* 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); rlt = gsm_bts_get_radio_link_timeout(bts); if (rlt == -1) { diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index ea6c685..b33b1c3 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -1002,6 +1002,19 @@ } } +/* Default Interference Measurement Parameters */ +const struct gsm_interf_meas_params interf_meas_params_def = { + .avg_period = 6, /* 6 SACCH periods */ + .bounds_dbm = { + 85, /* 0: -85 dBm */ + 91, /* X1: -91 dBm */ + 97, /* X2: -97 dBm */ + 103, /* X3: -103 dBm */ + 109, /* X4: -109 dBm */ + 115, /* X5: -115 dBm */ + }, +}; + /* Default MS/BS Power Control parameters (see 3GPP TS 45.008, table A.1) */ const struct gsm_power_ctrl_params power_ctrl_params_def = { /* Static Power Control is the safe default */ diff --git a/tests/Makefile.am b/tests/Makefile.am index 5e23be0..0831dee 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -41,6 +41,7 @@ osmo-bsc.vty \ timer.vty \ power_ctrl.vty \ + interf_meas.vty \ ctrl/osmo-bsc-neigh-test.cfg \ ctrl/osmo-bsc-apply-config-file.cfg \ ctrl/osmo-bsc-apply-config-file-invalid.cfg \ diff --git a/tests/interf_meas.vty b/tests/interf_meas.vty new file mode 100644 index 0000000..76b33e5 --- /dev/null +++ b/tests/interf_meas.vty @@ -0,0 +1,42 @@ +OsmoBSC> enable + +OsmoBSC# ### Default configuration +OsmoBSC# show running-config +... !interference-meas + +OsmoBSC# configure terminal +OsmoBSC(config)# network +OsmoBSC(config-net)# bts 0 + +OsmoBSC(config-net-bts)# interference-meas? + interference-meas Interference measurement parameters +OsmoBSC(config-net-bts)# interference-meas ? + avg-period Averaging period (Intave) + level-bounds Interference level Boundaries + +OsmoBSC(config-net-bts)# ### Averaging period +OsmoBSC(config-net-bts)# interference-meas avg-period ? + <1-31> Number of SACCH multiframes +OsmoBSC(config-net-bts)# interference-meas avg-period 0 +% Unknown command. +OsmoBSC(config-net-bts)# interference-meas avg-period 30 +OsmoBSC(config-net-bts)# show running-config +... !interference-meas + bts 0 +... !interference-meas + interference-meas avg-period 30 +... !interference-meas + +OsmoBSC(config-net-bts)# ### Interference level Boundaries +OsmoBSC(config-net-bts)# interference-meas level-bounds ? + <-120-0> Interference boundary 0 (dBm) +OsmoBSC(config-net-bts)# interference-meas level-bounds -85 -90 -95 -100 -105 ? + <-120-0> Interference boundary X5 (dBm) +OsmoBSC(config-net-bts)# interference-meas level-bounds -85 -90 -95 -100 -105 -110 +OsmoBSC(config-net-bts)# show running-config +... !interference-meas + bts 0 +... !interference-meas + interference-meas avg-period 30 + interference-meas level-bounds -85 -90 -95 -100 -105 -110 +... !interference-meas -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I99ebf57aac1f3ca7e0497c3b4f6b0738c6ed7e47 Gerrit-Change-Number: 24548 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 Jun 4 15:27:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 15:27:55 +0000 Subject: Change in osmo-sgsn[master]: Use new stat item/ctr getter APIs References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24549 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Use new stat item/ctr getter APIs Generated with spatch: """ @@ expression E1, E2; @@ - &E2->ctr[E1] + rate_ctr_group_get_ctr(E2, E1) """ Change-Id: I2e064883ac6dafa89e41a297a886a9ebd26ce925 --- M src/gtphub/gtphub.c M src/sgsn/gprs_gb.c M src/sgsn/gprs_gmm.c M src/sgsn/gprs_llc.c M src/sgsn/gprs_ranap.c M src/sgsn/gprs_sm.c M src/sgsn/sgsn_libgtp.c 7 files changed, 50 insertions(+), 50 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/49/24549/1 diff --git a/src/gtphub/gtphub.c b/src/gtphub/gtphub.c index c24652e..237d699 100644 --- a/src/gtphub/gtphub.c +++ b/src/gtphub/gtphub.c @@ -2125,7 +2125,7 @@ struct gtphub_bind *from_bind = &hub->to_gsns[side_idx][plane_idx]; struct gtphub_bind *to_bind = &hub->to_gsns[other_side_idx(side_idx)][plane_idx]; - rate_ctr_add(&from_bind->counters_io->ctr[GTPH_CTR_BYTES_IN], + rate_ctr_add(rate_ctr_group_get_ctr(from_bind->counters_io, GTPH_CTR_BYTES_IN), received); struct gtp_packet_desc p; @@ -2147,7 +2147,7 @@ return -1; } - rate_ctr_inc(&from_bind->counters_io->ctr[GTPH_CTR_PKTS_IN]); + rate_ctr_inc(rate_ctr_group_get_ctr(from_bind->counters_io, GTPH_CTR_PKTS_IN)); int reply_len; reply_len = gtphub_handle_echo_req(hub, &p, reply_buf); @@ -2156,8 +2156,8 @@ sgsn_sockaddr_copy(to_addr, from_addr); *to_ofd = &from_bind->ofd; - rate_ctr_inc(&from_bind->counters_io->ctr[GTPH_CTR_PKTS_OUT]); - rate_ctr_add(&from_bind->counters_io->ctr[GTPH_CTR_BYTES_OUT], + rate_ctr_inc(rate_ctr_group_get_ctr(from_bind->counters_io, GTPH_CTR_PKTS_OUT)); + rate_ctr_add(rate_ctr_group_get_ctr(from_bind->counters_io, GTPH_CTR_BYTES_OUT), reply_len); LOG(LOGL_DEBUG, "%s Echo response to %s: %d bytes to %s\n", (side_idx == GTPH_SIDE_GGSN)? "-->" : "<--", @@ -2236,9 +2236,9 @@ return -1; } - rate_ctr_add(&from_peer->counters_io->ctr[GTPH_CTR_BYTES_IN], + rate_ctr_add(rate_ctr_group_get_ctr(from_peer->counters_io, GTPH_CTR_BYTES_IN), received); - rate_ctr_inc(&from_peer->counters_io->ctr[GTPH_CTR_PKTS_IN]); + rate_ctr_inc(rate_ctr_group_get_ctr(from_peer->counters_io, GTPH_CTR_PKTS_IN)); LOG(LOGL_DEBUG, "from %s peer: %s\n", gtphub_side_idx_names[side_idx], gtphub_port_str(from_peer)); @@ -2257,9 +2257,9 @@ if (p.tun) { struct gtphub_tunnel_endpoint *te = &p.tun->endpoint[p.side_idx][p.plane_idx]; - rate_ctr_add(&te->counters_io->ctr[GTPH_CTR_BYTES_IN], + rate_ctr_add(rate_ctr_group_get_ctr(te->counters_io, GTPH_CTR_BYTES_IN), received); - rate_ctr_inc(&te->counters_io->ctr[GTPH_CTR_PKTS_IN]); + rate_ctr_inc(rate_ctr_group_get_ctr(te->counters_io, GTPH_CTR_PKTS_IN)); } if ((!to_peer) && (side_idx == GTPH_SIDE_SGSN)) { @@ -2311,19 +2311,19 @@ *reply_buf = (uint8_t*)p.data; if (received) { - rate_ctr_inc(&to_bind->counters_io->ctr[GTPH_CTR_PKTS_OUT]); - rate_ctr_add(&to_bind->counters_io->ctr[GTPH_CTR_BYTES_OUT], + rate_ctr_inc(rate_ctr_group_get_ctr(to_bind->counters_io, GTPH_CTR_PKTS_OUT)); + rate_ctr_add(rate_ctr_group_get_ctr(to_bind->counters_io, GTPH_CTR_BYTES_OUT), received); - rate_ctr_inc(&to_peer->counters_io->ctr[GTPH_CTR_PKTS_OUT]); - rate_ctr_add(&to_peer->counters_io->ctr[GTPH_CTR_BYTES_OUT], + rate_ctr_inc(rate_ctr_group_get_ctr(to_peer->counters_io, GTPH_CTR_PKTS_OUT)); + rate_ctr_add(rate_ctr_group_get_ctr(to_peer->counters_io, GTPH_CTR_BYTES_OUT), received); } if (p.tun) { struct gtphub_tunnel_endpoint *te = &p.tun->endpoint[other_side_idx(p.side_idx)][p.plane_idx]; - rate_ctr_inc(&te->counters_io->ctr[GTPH_CTR_PKTS_OUT]); - rate_ctr_add(&te->counters_io->ctr[GTPH_CTR_BYTES_OUT], + rate_ctr_inc(rate_ctr_group_get_ctr(te->counters_io, GTPH_CTR_PKTS_OUT)); + rate_ctr_add(rate_ctr_group_get_ctr(te->counters_io, GTPH_CTR_BYTES_OUT), received); } diff --git a/src/sgsn/gprs_gb.c b/src/sgsn/gprs_gb.c index cddd1b1..96157a0 100644 --- a/src/sgsn/gprs_gb.c +++ b/src/sgsn/gprs_gb.c @@ -57,7 +57,7 @@ bssgp_parse_cell_id(&ra_id, msgb_bcid(msg)); mmctx = sgsn_mm_ctx_by_tlli(msgb_tlli(msg), &ra_id); if (mmctx) { - rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PKTS_SIG_IN]); + rate_ctr_inc(rate_ctr_group_get_ctr(mmctx->ctrg, GMM_CTR_PKTS_SIG_IN)); mmctx->gb.llme = llme; gprs_gb_recv_pdu(mmctx, msg); } @@ -102,7 +102,7 @@ pinfo.drx_params = mmctx->drx_parms; pinfo.qos[0] = 0; // FIXME rc = bssgp_tx_paging(mmctx->gb.nsei, 0, &pinfo); - rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PAGING_PS]); + rate_ctr_inc(rate_ctr_group_get_ctr(mmctx->ctrg, GMM_CTR_PAGING_PS)); return rc; } diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c index edddd2d..c5e927a 100644 --- a/src/sgsn/gprs_gmm.c +++ b/src/sgsn/gprs_gmm.c @@ -131,7 +131,7 @@ struct sgsn_mm_ctx *mm, bool encryptable) { if (mm) { - rate_ctr_inc(&mm->ctrg->ctr[GMM_CTR_PKTS_SIG_OUT]); + rate_ctr_inc(rate_ctr_group_get_ctr(mm->ctrg, GMM_CTR_PKTS_SIG_OUT)); #ifdef BUILD_IU if (mm->ran_type == MM_CTX_T_UTRAN_Iu) return ranap_iu_tx(msg, GPRS_SAPI_GMM); @@ -291,7 +291,7 @@ #endif LOGMMCTXP(LOGL_INFO, mm, "<- GMM ATTACH ACCEPT (new P-TMSI=0x%08x)\n", mm->p_tmsi); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_GPRS_ATTACH_ACKED]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_GPRS_ATTACH_ACKED)); mmctx2msgid(msg, mm); @@ -356,7 +356,7 @@ LOGMMCTXP(LOGL_NOTICE, mm, "<- GMM ATTACH REJECT: %s\n", get_value_string(gsm48_gmm_cause_names, gmm_cause)); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_GPRS_ATTACH_REJECTED]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_GPRS_ATTACH_REJECTED)); gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh) + 1); gh->proto_discr = GSM48_PDISC_MM_GPRS; @@ -389,7 +389,7 @@ /* MMCTX might be NULL! */ DEBUGP(DMM, "<- GMM DETACH ACC (force-standby: %d)\n", force_stby); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_GPRS_DETACH_ACKED]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_GPRS_DETACH_ACKED)); gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh) + 1); gh->proto_discr = GSM48_PDISC_MM_GPRS; @@ -1163,7 +1163,7 @@ int rc; LOGMMCTXP(LOGL_INFO, ctx, "-> GMM ATTACH REQUEST "); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_GPRS_ATTACH_REQUEST]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_GPRS_ATTACH_REQUEST)); /* As per TS 04.08 Chapter 4.7.1.4, the attach request arrives either * with a foreign TLLI (P-TMSI that was allocated to the MS before), @@ -1410,7 +1410,7 @@ power_off = gh->data[0] & 0x8; /* FIXME: In 24.008 there is an optional P-TMSI and P-TMSI signature IE */ - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_GPRS_DETACH_REQUEST]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_GPRS_DETACH_REQUEST)); LOGMMCTXP(LOGL_INFO, ctx, "-> GMM DETACH REQUEST TLLI=0x%08x type=%s %s\n", msgb_tlli(msg), get_value_string(gprs_det_t_mo_strs, detach_type), power_off ? "Power-off" : ""); @@ -1449,7 +1449,7 @@ struct osmo_mobile_identity mi; #endif - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_GPRS_ROUTING_AREA_ACKED]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_GPRS_ROUTING_AREA_ACKED)); LOGMMCTXP(LOGL_INFO, mm, "<- GMM ROUTING AREA UPDATE ACCEPT\n"); mmctx2msgid(msg, mm); @@ -1505,7 +1505,7 @@ struct gsm48_hdr *gh; LOGP(DMM, LOGL_NOTICE, "<- ROUTING AREA UPDATE REJECT\n"); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_GPRS_ROUTING_AREA_REJECT]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_GPRS_ROUTING_AREA_REJECT)); gmm_copy_id(msg, old_msg); @@ -1585,7 +1585,7 @@ /* Update Type 10.5.5.18 */ upd_type = *cur++ & 0x07; - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_GPRS_ROUTING_AREA_REQUEST]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_GPRS_ROUTING_AREA_REQUEST)); LOGMMCTXP(LOGL_INFO, mmctx, "-> GMM RA UPDATE REQUEST type=\"%s\"\n", get_value_string(gprs_upd_t_strs, upd_type)); @@ -1713,7 +1713,7 @@ /* Store new BVCI/NSEI in MM context (FIXME: delay until we ack?) */ msgid2mmctx(mmctx, msg); /* Bump the statistics of received signalling msgs for this MM context */ - rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PKTS_SIG_IN]); + rate_ctr_inc(rate_ctr_group_get_ctr(mmctx->ctrg, GMM_CTR_PKTS_SIG_IN)); /* Update the MM context with the new RA-ID */ if (mmctx->ran_type == MM_CTX_T_GERAN_Gb && msgb_bcid(msg)) { @@ -1724,7 +1724,7 @@ /* FIXME: Update the MM context with the MS radio acc capabilities */ /* FIXME: Update the MM context with the MS network capabilities */ - rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_RA_UPDATE]); + rate_ctr_inc(rate_ctr_group_get_ctr(mmctx->ctrg, GMM_CTR_RA_UPDATE)); #ifdef PTMSI_ALLOC ptmsi_update(mmctx); diff --git a/src/sgsn/gprs_llc.c b/src/sgsn/gprs_llc.c index e357d16..4fbf211 100644 --- a/src/sgsn/gprs_llc.c +++ b/src/sgsn/gprs_llc.c @@ -670,8 +670,8 @@ /* Identifiers passed down: (BVCI, NSEI) */ - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_LLC_DL_PACKETS]); - rate_ctr_add(&sgsn->rate_ctrs->ctr[CTR_LLC_DL_BYTES], msg->len); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_LLC_DL_PACKETS)); + rate_ctr_add(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_LLC_DL_BYTES), msg->len); /* Send BSSGP-DL-UNITDATA.req */ return _bssgp_tx_dl_ud(msg, NULL); @@ -814,8 +814,8 @@ } } - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_LLC_DL_PACKETS]); - rate_ctr_add(&sgsn->rate_ctrs->ctr[CTR_LLC_DL_BYTES], msg->len); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_LLC_DL_PACKETS)); + rate_ctr_add(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_LLC_DL_BYTES), msg->len); /* Identifiers passed down: (BVCI, NSEI) */ @@ -1000,8 +1000,8 @@ msgb_l3trim(msg, llhp.data_len); } - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_LLC_UL_PACKETS]); - rate_ctr_add(&sgsn->rate_ctrs->ctr[CTR_LLC_UL_BYTES], msg->len); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_LLC_UL_PACKETS)); + rate_ctr_add(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_LLC_UL_BYTES), msg->len); /* llhp.data is only set when we need to send LL_[UNIT]DATA_IND up */ if (llhp.cmd == GPRS_LLC_UI && llhp.data && llhp.data_len) { diff --git a/src/sgsn/gprs_ranap.c b/src/sgsn/gprs_ranap.c index e8addd7..ead20f7 100644 --- a/src/sgsn/gprs_ranap.c +++ b/src/sgsn/gprs_ranap.c @@ -232,7 +232,7 @@ mmctx = sgsn_mm_ctx_by_ue_ctx(MSG_IU_UE_CTX(msg)); if (mmctx) { - rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PKTS_SIG_IN]); + rate_ctr_inc(rate_ctr_group_get_ctr(mmctx->ctrg, GMM_CTR_PKTS_SIG_IN)); if (ra_id) memcpy(&mmctx->ra, ra_id, sizeof(mmctx->ra)); } diff --git a/src/sgsn/gprs_sm.c b/src/sgsn/gprs_sm.c index 3bdad3b..6c09c4f 100644 --- a/src/sgsn/gprs_sm.c +++ b/src/sgsn/gprs_sm.c @@ -186,7 +186,7 @@ uint8_t transaction_id = pdp->ti ^ 0x8; /* flip */ LOGPDPCTXP(LOGL_INFO, pdp, "<- ACTIVATE PDP CONTEXT ACK\n"); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_ACTIVATE_ACCEPT]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_PDP_ACTIVATE_ACCEPT)); mmctx2msgid(msg, pdp->mm); @@ -232,7 +232,7 @@ LOGMMCTXP(LOGL_NOTICE, mm, "<- ACTIVATE PDP CONTEXT REJ: %s\n", get_value_string(gsm48_gsm_cause_names, cause)); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_ACTIVATE_REJECT]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_PDP_ACTIVATE_REJECT)); mmctx2msgid(msg, mm); @@ -257,7 +257,7 @@ uint8_t tear_down_ind = (0x9 << 4) | (!!teardown); LOGMMCTXP(LOGL_INFO, mm, "<- DEACTIVATE PDP CONTEXT REQ\n"); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_DL_DEACTIVATE_REQUEST]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_PDP_DL_DEACTIVATE_REQUEST)); mmctx2msgid(msg, mm); @@ -285,7 +285,7 @@ uint8_t transaction_id = tid ^ 0x8; /* flip */ LOGMMCTXP(LOGL_INFO, mm, "<- DEACTIVATE PDP CONTEXT ACK\n"); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_DL_DEACTIVATE_ACCEPT]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_PDP_DL_DEACTIVATE_ACCEPT)); mmctx2msgid(msg, mm); @@ -533,7 +533,7 @@ /* Only increment counter for a real activation, after we checked * for re-transmissions */ - rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PDP_CTX_ACT]); + rate_ctr_inc(rate_ctr_group_get_ctr(mmctx->ctrg, GMM_CTR_PDP_CTX_ACT)); /* Determine GGSN based on APN and subscription options */ ggsn = sgsn_mm_ctx_find_ggsn_ctx(mmctx, &tp, &gsm_cause, apn_str); @@ -591,7 +591,7 @@ struct msgb *msg; int rc; - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_ACTIVATE_REQUEST]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_PDP_ACTIVATE_REQUEST)); /* * This is painful. We might not have a static GGSN @@ -629,7 +629,7 @@ LOGMMCTXP(LOGL_INFO, mm, "-> DEACTIVATE PDP CONTEXT REQ (cause: %s)\n", get_value_string(gsm48_gsm_cause_names, gh->data[0])); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_UL_DEACTIVATE_REQUEST]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_PDP_UL_DEACTIVATE_REQUEST)); pdp = sgsn_pdp_ctx_by_tid(mm, transaction_id); if (!pdp) { @@ -654,7 +654,7 @@ struct sgsn_pdp_ctx *pdp; LOGMMCTXP(LOGL_INFO, mm, "-> DEACTIVATE PDP CONTEXT ACK\n"); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_UL_DEACTIVATE_ACCEPT]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_PDP_UL_DEACTIVATE_ACCEPT)); pdp = sgsn_pdp_ctx_by_tid(mm, transaction_id); if (!pdp) { diff --git a/src/sgsn/sgsn_libgtp.c b/src/sgsn/sgsn_libgtp.c index 6229217..1ac3b44 100644 --- a/src/sgsn/sgsn_libgtp.c +++ b/src/sgsn/sgsn_libgtp.c @@ -792,10 +792,10 @@ return -1; } - rate_ctr_inc(&pdp->ctrg->ctr[PDP_CTR_PKTS_UDATA_OUT]); - rate_ctr_add(&pdp->ctrg->ctr[PDP_CTR_BYTES_UDATA_OUT], len); - rate_ctr_inc(&mm->ctrg->ctr[GMM_CTR_PKTS_UDATA_OUT]); - rate_ctr_add(&mm->ctrg->ctr[GMM_CTR_BYTES_UDATA_OUT], len); + rate_ctr_inc(rate_ctr_group_get_ctr(pdp->ctrg, PDP_CTR_PKTS_UDATA_OUT)); + rate_ctr_add(rate_ctr_group_get_ctr(pdp->ctrg, PDP_CTR_BYTES_UDATA_OUT), len); + rate_ctr_inc(rate_ctr_group_get_ctr(mm->ctrg, GMM_CTR_PKTS_UDATA_OUT)); + rate_ctr_add(rate_ctr_group_get_ctr(mm->ctrg, GMM_CTR_BYTES_UDATA_OUT), len); /* It is easier to have a global count */ pdp->cdr_bytes_out += len; @@ -830,10 +830,10 @@ return -EIO; } - rate_ctr_inc(&pdp->ctrg->ctr[PDP_CTR_PKTS_UDATA_IN]); - rate_ctr_add(&pdp->ctrg->ctr[PDP_CTR_BYTES_UDATA_IN], npdu_len); - rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PKTS_UDATA_IN]); - rate_ctr_add(&mmctx->ctrg->ctr[GMM_CTR_BYTES_UDATA_IN], npdu_len); + rate_ctr_inc(rate_ctr_group_get_ctr(pdp->ctrg, PDP_CTR_PKTS_UDATA_IN)); + rate_ctr_add(rate_ctr_group_get_ctr(pdp->ctrg, PDP_CTR_BYTES_UDATA_IN), npdu_len); + rate_ctr_inc(rate_ctr_group_get_ctr(mmctx->ctrg, GMM_CTR_PKTS_UDATA_IN)); + rate_ctr_add(rate_ctr_group_get_ctr(mmctx->ctrg, GMM_CTR_BYTES_UDATA_IN), npdu_len); /* It is easier to have a global count */ pdp->cdr_bytes_in += npdu_len; -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24549 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2e064883ac6dafa89e41a297a886a9ebd26ce925 Gerrit-Change-Number: 24549 Gerrit-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 Jun 4 15:34:47 2021 From: gerrit-no-reply at lists.osmocom.org (iedemam) Date: Fri, 4 Jun 2021 15:34:47 +0000 Subject: Change in osmo-bsc[master]: bts_uptime(): do not spam logs with 'OML link uptime unavailable' In-Reply-To: References: Message-ID: iedemam has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24541 ) Change subject: bts_uptime(): do not spam logs with 'OML link uptime unavailable' ...................................................................... Patch Set 1: Looks good to me. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7e2498cc61d311ca08585b2f1c49de021b17a5a1 Gerrit-Change-Number: 24541 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: iedemam Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 15:34:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 15:47:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 15:47:10 +0000 Subject: Change in osmo-bsc[master]: WIP: Support OSMO IPA multiplex References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24550 ) Change subject: WIP: Support OSMO IPA multiplex ...................................................................... WIP: Support OSMO IPA multiplex Change-Id: I21beb4e5c101157cd0977fd9a607c2fe5350befe --- M include/osmocom/bsc/Makefile.am A include/osmocom/bsc/abis_osmo.h M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_04_08_rr.h M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/pcuif_proto.h M src/ipaccess/Makefile.am M src/osmo-bsc/Makefile.am A src/osmo-bsc/abis_osmo.c M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bts.c M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/gsm_04_08_rr.c M src/utils/Makefile.am M tests/abis/Makefile.am M tests/acc/Makefile.am M tests/bsc/Makefile.am M tests/gsm0408/Makefile.am M tests/handover/Makefile.am M tests/nanobts_omlattr/Makefile.am 20 files changed, 244 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/50/24550/1 diff --git a/include/osmocom/bsc/Makefile.am b/include/osmocom/bsc/Makefile.am index be27dae..5e866cc 100644 --- a/include/osmocom/bsc/Makefile.am +++ b/include/osmocom/bsc/Makefile.am @@ -2,6 +2,7 @@ a_reset.h \ abis_nm.h \ abis_om2000.h \ + abis_osmo.h \ abis_rsl.h \ acc.h \ assignment_fsm.h \ diff --git a/include/osmocom/bsc/abis_osmo.h b/include/osmocom/bsc/abis_osmo.h new file mode 100644 index 0000000..6083e1e --- /dev/null +++ b/include/osmocom/bsc/abis_osmo.h @@ -0,0 +1,35 @@ +/* GSM Network Management messages on the A-bis interface + * 3GPP TS 12.21 version 8.0.0 Release 1999 / ETSI TS 100 623 V8.0.0 */ + +/* (C) 2008-2009 by Harald Welte + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#pragma once + +#include + +#include + +#include + +struct gsm_bts; + +int abis_osmo_rcvmsg(struct msgb *msg); +int abis_osmo_sendmsg(struct gsm_bts *bts, struct msgb *msg); + +int abis_osmo_pcu_measure_neighbours_req(struct gsm_bts *bts, const struct gsm48_cell_desc *cell_desc_li, unsigned int num_cells); diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 7a491d9..545f92f 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -284,6 +284,8 @@ /* Connected PCU version (if any) */ char pcu_version[MAX_VERSION_LENGTH]; + /* PCU sign_link, over OML line: */ + struct e1inp_sign_link *osmo_link; /* maximum Tx power that the MS is permitted to use in this cell */ int ms_max_power; @@ -650,6 +652,9 @@ #define BTS_STORE_UPTIME_INTERVAL 10 /* in seconds */ void bts_store_uptime(struct gsm_bts *bts); +#define ANR_REQUEST_INTERVAL 60 /* in seconds */ +int bts_anr_request(struct gsm_bts *bts, const struct gsm48_cell_desc *cell_desc_li, unsigned int num_cells); + unsigned long long bts_uptime(const struct gsm_bts *bts); char *get_model_oml_status(const struct gsm_bts *bts); diff --git a/include/osmocom/bsc/gsm_04_08_rr.h b/include/osmocom/bsc/gsm_04_08_rr.h index 5ddee7f..ebba0f8 100644 --- a/include/osmocom/bsc/gsm_04_08_rr.h +++ b/include/osmocom/bsc/gsm_04_08_rr.h @@ -12,6 +12,7 @@ struct gsm_meas_rep; struct gsm_network; struct gsm_subscriber_connection; +struct gsm_bts; void gsm_net_update_ctype(struct gsm_network *network); enum gsm_chan_t get_ctype_by_chreq(struct gsm_network *network, uint8_t ra); @@ -43,6 +44,8 @@ struct msgb *gsm48_create_rr_status(uint8_t cause); int gsm48_tx_rr_status(struct gsm_subscriber_connection *conn, uint8_t cause); +void gsm48_cell_desc(struct gsm48_cell_desc *cd, const struct gsm_bts *bts); + #define GSM48_ALLOC_SIZE 2048 #define GSM48_ALLOC_HEADROOM 256 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 831463a..5ebcccb 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1271,6 +1271,9 @@ /* Timer to write each BTS's uptime counter state to the stats system. */ struct osmo_timer_list bts_store_uptime_timer; + /* Timer to submit Measure Neighbours Request from time to time. */ + struct osmo_timer_list anr_request_timer; + struct { struct mgcp_client_conf *conf; struct mgcp_client *client; diff --git a/include/osmocom/bsc/pcuif_proto.h b/include/osmocom/bsc/pcuif_proto.h index 8f72602..771eb9c 100644 --- a/include/osmocom/bsc/pcuif_proto.h +++ b/include/osmocom/bsc/pcuif_proto.h @@ -23,6 +23,8 @@ #define PCU_IF_MSG_TIME_IND 0x52 /* GSM time indication */ #define PCU_IF_MSG_PAG_REQ 0x60 /* paging request */ #define PCU_IF_MSG_TXT_IND 0x70 /* Text indication for BTS */ +/* msg_type coming from BSC */ +#define PCU_IF_MSG_ANR_REQ 0x80 /* Automatic Neighbor Registration Request */ /* sapi */ #define PCU_IF_SAPI_RACH 0x01 /* channel request on CCCH */ @@ -208,6 +210,12 @@ uint8_t cause; } __attribute__ ((packed)); +/* BSC sends some message to PCU, potentially forwarded by BTS via IPA/PCU */ +struct gsm_pcu_if_anr_req { + uint8_t num_cells; + uint16_t cell_list[80]; /* struct gsm48_cell_desc */ +} __attribute__ ((packed)); + struct gsm_pcu_if { /* context based information */ uint8_t msg_type; /* message type */ @@ -228,6 +236,7 @@ struct gsm_pcu_if_time_ind time_ind; struct gsm_pcu_if_pag_req pag_req; struct gsm_pcu_if_app_info_req app_info_req; + struct gsm_pcu_if_anr_req anr_req; } u; } __attribute__ ((packed)); diff --git a/src/ipaccess/Makefile.am b/src/ipaccess/Makefile.am index e282c6f..351f618 100644 --- a/src/ipaccess/Makefile.am +++ b/src/ipaccess/Makefile.am @@ -50,6 +50,7 @@ $(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 \ @@ -74,6 +75,7 @@ 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 \ diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am index f91c6bf..df4e0c3 100644 --- a/src/osmo-bsc/Makefile.am +++ b/src/osmo-bsc/Makefile.am @@ -31,6 +31,7 @@ abis_nm_vty.c \ abis_om2000.c \ abis_om2000_vty.c \ + abis_osmo.c \ abis_rsl.c \ acc.c \ assignment_fsm.c \ diff --git a/src/osmo-bsc/abis_osmo.c b/src/osmo-bsc/abis_osmo.c new file mode 100644 index 0000000..7745ac5 --- /dev/null +++ b/src/osmo-bsc/abis_osmo.c @@ -0,0 +1,119 @@ +/* Osmocom specific protocols over Abis (IPA) */ + +/* (C) 2021 sysmocom - s.f.m.c. GmbH + * Author: Pau Espin Pedrol + * 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 + + +#define OM_ALLOC_SIZE 1024 +#define OM_HEADROOM_SIZE 128 +#define IPACC_SEGMENT_SIZE 245 + +//////////////////////////////////////// +// OSMO ABIS extensions (PCU) +/////////////////////////////////////// +static struct msgb *abis_osmo_pcu_msgb_alloc(uint8_t msg_type, uint8_t bts_nr) +{ + struct msgb *msg; + struct gsm_pcu_if *pcu_prim; + msg = msgb_alloc_headroom(sizeof(struct gsm_pcu_if) + OM_HEADROOM_SIZE, + OM_HEADROOM_SIZE, "IPA/ABIS/OSMO"); + msgb_put(msg, sizeof(struct gsm_pcu_if)); + pcu_prim = (struct gsm_pcu_if *) msg->data; + pcu_prim->msg_type = msg_type; + pcu_prim->bts_nr = bts_nr; + return msg; +} + +/* Send a OML NM Message from BSC to BTS */ +static int abis_osmo_pcu_sendmsg(struct gsm_bts *bts, struct msgb *msg) +{ + ipa_prepend_header_ext(msg, IPAC_PROTO_EXT_PCU); + return abis_osmo_sendmsg(bts, msg); +} + +int abis_osmo_pcu_measure_neighbours_req(struct gsm_bts *bts, const struct gsm48_cell_desc *cell_desc_li, unsigned int num_cells) +{ + struct msgb *msg = abis_osmo_pcu_msgb_alloc(PCU_IF_MSG_ANR_REQ, 0); + struct gsm_pcu_if *pcu_prim = (struct gsm_pcu_if *) msgb_data(msg); + struct gsm_pcu_if_anr_req *anr_req = &pcu_prim->u.anr_req; + + anr_req->num_cells = num_cells; + if (num_cells) + memcpy(anr_req->cell_list, cell_desc_li, sizeof(*cell_desc_li) * num_cells); + + return abis_osmo_pcu_sendmsg(bts, msg); +} + +static int rcvmsg_pcu(struct msgb *msg) +{ + return 0; +} + +//////////////////////////////////////// +// OSMO ABIS extensions (generic code) +/////////////////////////////////////// + +/* High-Level API */ +/* Entry-point where L2 OSMO from BTS enters the NM code */ +int abis_osmo_rcvmsg(struct msgb *msg) +{ + int rc; + uint8_t *osmo_type = msgb_l2(msg); + msg->l2h = osmo_type + 1; + + switch (*osmo_type) { + case IPAC_PROTO_EXT_PCU: + rc = rcvmsg_pcu(msg); + break; + default: + LOGP(DNM, LOGL_ERROR, "IPAC_PROTO_EXT 0x%x not supported!\n", + *osmo_type); + rc = -EINVAL; + } + + msgb_free(msg); + return rc; +} + + +/* Send a OML NM Message from BSC to BTS */ +int abis_osmo_sendmsg(struct gsm_bts *bts, struct msgb *msg) +{ + msg->dst = bts->osmo_link; + + msg->l2h = msg->data; + + return abis_sendmsg(msg); + +} diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index 24596f4..55a507b 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -97,6 +97,32 @@ osmo_timer_schedule(&net->bts_store_uptime_timer, BTS_STORE_UPTIME_INTERVAL, 0); } +static void bsc_anr_request(void *data) +{ + struct gsm_network *net = data; + struct gsm_bts *bts; + struct gsm48_cell_desc cell_desc[256]; + unsigned int num_cells = 0; + + /* Build list of ARFCN+BSIC: */ + llist_for_each_entry(bts, &net->bts_list, list) { + if (num_cells == ARRAY_SIZE(cell_desc)) { + LOGP(DNM, LOGL_ERROR, + "ANR Req: Unable to build list larger than %zu elements", + ARRAY_SIZE(cell_desc)); + break; + } + gsm48_cell_desc(&cell_desc[num_cells], bts); + num_cells++; + } + + llist_for_each_entry(bts, &net->bts_list, list) + bts_anr_request(bts, cell_desc, num_cells); + + /* Keep this timer ticking. */ + osmo_timer_schedule(&net->anr_request_timer, ANR_REQUEST_INTERVAL, 0); +} + static struct gsm_network *bsc_network_init(void *ctx) { struct gsm_network *net = gsm_network_init(ctx); @@ -144,6 +170,10 @@ osmo_timer_setup(&net->bts_store_uptime_timer, bsc_store_bts_uptime, net); osmo_timer_schedule(&net->bts_store_uptime_timer, BTS_STORE_UPTIME_INTERVAL, 0); + /* Init uptime tracking timer. */ + osmo_timer_setup(&net->anr_request_timer, bsc_anr_request, net); + osmo_timer_schedule(&net->anr_request_timer, ANR_REQUEST_INTERVAL, 0); + net->cbc->net = net; net->cbc->mode = BSC_CBC_LINK_MODE_DISABLED; net->cbc->server.local_addr = bsc_cbc_default_server_local_addr; diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index 857ddd2..87cfb9a 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -24,6 +24,7 @@ #include #include #include +#include const struct value_string bts_attribute_names[] = { OSMO_VALUE_STRING(BTS_TYPE_VARIANT), @@ -579,6 +580,20 @@ return difftime(tp.tv_sec, bts->uptime); } +int bts_anr_request(struct gsm_bts *bts, const struct gsm48_cell_desc *cell_desc_li, unsigned int num_cells) +{ + if (!bts->osmo_link) { + LOGP(DNM, LOGL_INFO, "BTS%u: ANR Req: OSMO link is down\n", bts->nr); + return 0; + } + if (!osmo_bts_has_feature(&bts->features, BTS_FEAT_ABIS_OSMO_PCU)) { + LOGP(DNM, LOGL_INFO, "BTS%u: ANR Req: Abis OSMO_PCU proto not supported\n", bts->nr); + return 0; + } + LOGP(DNM, LOGL_INFO, "BTS%u: ANR Req (%u cells)\n", bts->nr, num_cells); + return abis_osmo_pcu_measure_neighbours_req(bts, cell_desc_li, num_cells); +} + char *get_model_oml_status(const struct gsm_bts *bts) { if (bts->model->oml_status) diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c index 1e3e9c1..db91b01 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts.c @@ -37,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -557,6 +558,10 @@ bts->uptime = 0; osmo_stat_item_dec(bts->bts_statg->items[BTS_STAT_OML_CONNECTED], 1); + /* Also drop the associated OSMO link */ + e1inp_sign_link_destroy(bts->osmo_link); + bts->osmo_link = NULL; + /* we have issues reconnecting RSL, drop everything. */ llist_for_each_entry(trx, &bts->trx_list, list) { ipaccess_drop_rsl(trx, "OML link drop"); @@ -713,6 +718,10 @@ sign_link->trx->bts->ip_access.flags |= OML_UP; } osmo_stat_item_inc(bts->bts_statg->items[BTS_STAT_OML_CONNECTED], 1); + + /* Create link for E1INP_SIGN_OSMO */ + //SAPI must be 0, no IPAC_PROTO_EXT_PCU, see ipaccess_bts_read_cb + bts->osmo_link = e1inp_sign_link_create(sign_ts, E1INP_SIGN_OSMO, bts->c0, IPAC_PROTO_OSMO, 0); break; case E1INP_SIGN_RSL: { struct e1inp_ts *ts; @@ -785,6 +794,9 @@ case E1INP_SIGN_OML: ret = abis_nm_rcvmsg(msg); break; + case E1INP_SIGN_OSMO: + ret = abis_osmo_rcvmsg(msg); + break; default: LOGP(DLINP, LOGL_ERROR, "Unknown signal link type %d\n", link->type); diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 058a107..be1eadc 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -387,7 +387,7 @@ return rsl_encryption_cmd(msg); } -static void gsm48_cell_desc(struct gsm48_cell_desc *cd, +void gsm48_cell_desc(struct gsm48_cell_desc *cd, const struct gsm_bts *bts) { cd->ncc = (bts->bsic >> 3 & 0x7); diff --git a/src/utils/Makefile.am b/src/utils/Makefile.am index c180390..39d2417 100644 --- a/src/utils/Makefile.am +++ b/src/utils/Makefile.am @@ -48,6 +48,7 @@ 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 \ @@ -132,6 +133,7 @@ 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 \ diff --git a/tests/abis/Makefile.am b/tests/abis/Makefile.am index cb327fb..0612827 100644 --- a/tests/abis/Makefile.am +++ b/tests/abis/Makefile.am @@ -26,6 +26,7 @@ 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 \ diff --git a/tests/acc/Makefile.am b/tests/acc/Makefile.am index 9351545..e0044d0 100644 --- a/tests/acc/Makefile.am +++ b/tests/acc/Makefile.am @@ -26,6 +26,7 @@ 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 \ diff --git a/tests/bsc/Makefile.am b/tests/bsc/Makefile.am index d08ca18..a0bbb81 100644 --- a/tests/bsc/Makefile.am +++ b/tests/bsc/Makefile.am @@ -35,6 +35,7 @@ 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 \ diff --git a/tests/gsm0408/Makefile.am b/tests/gsm0408/Makefile.am index 271a0fd..186dc39 100644 --- a/tests/gsm0408/Makefile.am +++ b/tests/gsm0408/Makefile.am @@ -25,6 +25,7 @@ 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 \ diff --git a/tests/handover/Makefile.am b/tests/handover/Makefile.am index f0b2e7a..65eb6a8 100644 --- a/tests/handover/Makefile.am +++ b/tests/handover/Makefile.am @@ -45,6 +45,7 @@ $(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 \ diff --git a/tests/nanobts_omlattr/Makefile.am b/tests/nanobts_omlattr/Makefile.am index f2afa2b..e31b8e9 100644 --- a/tests/nanobts_omlattr/Makefile.am +++ b/tests/nanobts_omlattr/Makefile.am @@ -24,6 +24,7 @@ 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 \ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I21beb4e5c101157cd0977fd9a607c2fe5350befe Gerrit-Change-Number: 24550 Gerrit-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 Jun 4 15:47:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 15:47:10 +0000 Subject: Change in osmo-bsc[master]: Use new stat item/ctr getter APIs References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24551 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Use new stat item/ctr getter APIs Generated with following and similar spatch snippets: """ @@ expression E1, E2; @@ - &E2->ctr[E1] + rate_ctr_group_get_ctr(E2, E1) """ Change-Id: I0b43f922a595d694ac0aeda80107ef9bf4e755e7 --- M src/osmo-bsc/a_reset.c M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts.c M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/chan_alloc.c M src/osmo-bsc/gsm_08_08.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/lb.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lcs_loc_req.c M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_filter.c M src/osmo-bsc/osmo_bsc_main.c M src/osmo-bsc/osmo_bsc_sigtran.c M src/osmo-bsc/paging.c M src/osmo-bsc/timeslot_fsm.c 19 files changed, 179 insertions(+), 181 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/51/24551/1 diff --git a/src/osmo-bsc/a_reset.c b/src/osmo-bsc/a_reset.c index 2371499..0befd72 100644 --- a/src/osmo-bsc/a_reset.c +++ b/src/osmo-bsc/a_reset.c @@ -42,7 +42,7 @@ { struct bsc_msc_data *msc = data; LOGP(DMSC, LOGL_NOTICE, "(msc%d) BSSMAP assocation is up\n", msc->nr); - osmo_stat_item_inc(msc->msc_statg->items[MSC_STAT_MSC_LINKS_ACTIVE], 1); + osmo_stat_item_inc(osmo_stat_item_group_get_item(msc->msc_statg, MSC_STAT_MSC_LINKS_ACTIVE), 1); osmo_signal_dispatch(SS_MSC, S_MSC_CONNECTED, msc); } @@ -50,7 +50,7 @@ { struct bsc_msc_data *msc = data; LOGP(DMSC, LOGL_NOTICE, "(msc%d) BSSMAP assocation is down\n", msc->nr); - osmo_stat_item_dec(msc->msc_statg->items[MSC_STAT_MSC_LINKS_ACTIVE], 1); + osmo_stat_item_dec(osmo_stat_item_group_get_item(msc->msc_statg, MSC_STAT_MSC_LINKS_ACTIVE), 1); osmo_signal_dispatch(SS_MSC, S_MSC_LOST, msc); osmo_bsc_sigtran_reset(msc); } diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 9378ecb..5fa8ce2 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -72,10 +72,10 @@ if (lchan->type == GSM_LCHAN_TCH_H) { switch (gsm48_chan_mode_to_non_vamos(lchan->current_ch_mode_rate.chan_mode)) { case GSM48_CMODE_SPEECH_AMR: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CODEC_AMR_H]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CODEC_AMR_H)); break; case GSM48_CMODE_SPEECH_V1: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CODEC_V1_HR]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CODEC_V1_HR)); break; default: break; @@ -83,13 +83,13 @@ } else if (lchan->type == GSM_LCHAN_TCH_F) { switch (gsm48_chan_mode_to_non_vamos(lchan->current_ch_mode_rate.chan_mode)) { case GSM48_CMODE_SPEECH_AMR: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CODEC_AMR_F]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CODEC_AMR_F)); break; case GSM48_CMODE_SPEECH_V1: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CODEC_V1_FR]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CODEC_V1_FR)); break; case GSM48_CMODE_SPEECH_EFR: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CODEC_EFR]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CODEC_EFR)); break; default: break; @@ -607,14 +607,14 @@ msg->dst = rsl_chan_link(lchan); - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHAN_ACT_TOTAL]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHAN_ACT_TOTAL)); switch (lchan->type) { case GSM_LCHAN_SDCCH: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHAN_ACT_SDCCH]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHAN_ACT_SDCCH)); break; case GSM_LCHAN_TCH_H: case GSM_LCHAN_TCH_F: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHAN_ACT_TCH]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHAN_ACT_TCH)); break; default: break; @@ -954,7 +954,7 @@ struct gsm_lchan *lchan = msg->lchan; const uint8_t *cause_p; - rate_ctr_inc(&msg->lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_CHAN_ACT_NACK]); + rate_ctr_inc(rate_ctr_group_get_ctr(msg->lchan->ts->trx->bts->bts_ctrs, BTS_CTR_CHAN_ACT_NACK)); if (dh->ie_chan != RSL_IE_CHAN_NR) { LOG_LCHAN(msg->lchan, LOGL_ERROR, "Invalid IE: expected CHAN_NR IE (0x%x), got 0x%x\n", @@ -987,14 +987,14 @@ LOG_LCHAN(lchan, LOGL_ERROR, "CONNECTION FAIL%s\n", rsl_cause_name(&tp)); - rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_CHAN_RF_FAIL]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts_ctrs, BTS_CTR_CHAN_RF_FAIL)); switch (lchan->type) { case GSM_LCHAN_SDCCH: - rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_CHAN_RF_FAIL_SDCCH]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts_ctrs, BTS_CTR_CHAN_RF_FAIL_SDCCH)); break; case GSM_LCHAN_TCH_H: case GSM_LCHAN_TCH_F: - rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_CHAN_RF_FAIL_TCH]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts_ctrs, BTS_CTR_CHAN_RF_FAIL_TCH)); break; default: break; @@ -1276,7 +1276,7 @@ break; case RSL_MT_MODE_MODIFY_NACK: LOG_LCHAN(msg->lchan, LOGL_DEBUG, "CHANNEL MODE MODIFY NACK\n"); - rate_ctr_inc(&sign_link->trx->bts->bts_ctrs->ctr[BTS_CTR_MODE_MODIFY_NACK]); + rate_ctr_inc(rate_ctr_group_get_ctr(sign_link->trx->bts->bts_ctrs, BTS_CTR_MODE_MODIFY_NACK)); osmo_fsm_inst_dispatch(msg->lchan->fi, LCHAN_EV_RSL_CHAN_MODE_MODIFY_NACK, NULL); break; case RSL_MT_IPAC_PDCH_ACT_ACK: @@ -1301,12 +1301,12 @@ case RSL_MT_MR_CODEC_MOD_PER: LOG_LCHAN(msg->lchan, LOGL_NOTICE, "Unimplemented Abis RSL DChan msg 0x%02x\n", rslh->c.msg_type); - rate_ctr_inc(&sign_link->trx->bts->bts_ctrs->ctr[BTS_CTR_RSL_UNKNOWN]); + rate_ctr_inc(rate_ctr_group_get_ctr(sign_link->trx->bts->bts_ctrs, BTS_CTR_RSL_UNKNOWN)); break; default: LOG_LCHAN(msg->lchan, LOGL_NOTICE, "Unknown Abis RSL DChan msg 0x%02x\n", rslh->c.msg_type); - rate_ctr_inc(&sign_link->trx->bts->bts_ctrs->ctr[BTS_CTR_RSL_UNKNOWN]); + rate_ctr_inc(rate_ctr_group_get_ctr(sign_link->trx->bts->bts_ctrs, BTS_CTR_RSL_UNKNOWN)); return -EINVAL; } @@ -1355,7 +1355,7 @@ default: LOGP(DRSL, LOGL_NOTICE, "%s Unknown Abis RSL TRX message " "type 0x%02x\n", gsm_trx_name(sign_link->trx), rslh->msg_type); - rate_ctr_inc(&sign_link->trx->bts->bts_ctrs->ctr[BTS_CTR_RSL_UNKNOWN]); + rate_ctr_inc(rate_ctr_group_get_ctr(sign_link->trx->bts->bts_ctrs, BTS_CTR_RSL_UNKNOWN)); return -EINVAL; } return rc; @@ -1535,7 +1535,7 @@ if (rqd->ta > bts->rach_max_delay) { LOG_BTS(bts, DRSL, LOGL_INFO, "Ignoring CHAN RQD: Access Delay(%d) greater than %u\n", rqd->ta, bts->rach_max_delay); - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_MAX_DELAY_EXCEEDED]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_MAX_DELAY_EXCEEDED)); talloc_free(rqd); return -EINVAL; } @@ -1545,28 +1545,28 @@ LOG_BTS(bts, DRSL, LOGL_INFO, "CHAN RQD: reason: %s (ra=0x%02x, neci=0x%02x, chreq_reason=0x%02x)\n", get_value_string(gsm_chreq_descs, rqd->reason), rqd->ref.ra, bts->network->neci, rqd->reason); - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_TOTAL]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_TOTAL)); switch (rqd->reason) { case GSM_CHREQ_REASON_EMERG: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_ATTEMPTED_EMERG]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_ATTEMPTED_EMERG)); break; case GSM_CHREQ_REASON_CALL: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_ATTEMPTED_CALL]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_ATTEMPTED_CALL)); break; case GSM_CHREQ_REASON_LOCATION_UPD: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_ATTEMPTED_LOCATION_UPD]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_ATTEMPTED_LOCATION_UPD)); break; case GSM_CHREQ_REASON_PAG: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_ATTEMPTED_PAG]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_ATTEMPTED_PAG)); break; case GSM_CHREQ_REASON_PDCH: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_ATTEMPTED_PDCH]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_ATTEMPTED_PDCH)); break; case GSM_CHREQ_REASON_OTHER: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_ATTEMPTED_OTHER]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_ATTEMPTED_OTHER)); break; default: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_ATTEMPTED_UNKNOWN]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_ATTEMPTED_UNKNOWN)); break; } @@ -1757,7 +1757,7 @@ if (!lchan) { LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: no resources for %s 0x%x\n", gsm_lchant_name(lctype), rqd->ref.ra); - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_NO_CHANNEL]); + 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); talloc_free(rqd); @@ -1819,7 +1819,7 @@ rc = rsl_imm_assign_cmd(bts, sizeof(*ia)+ia->mob_alloc_len, (uint8_t *) ia); if (!rc) - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_SUCCESSFUL]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_SUCCESSFUL)); return rc; } @@ -1862,8 +1862,8 @@ busy_percent = 100; } - osmo_stat_item_set(sd.bts->bts_statg->items[BTS_STAT_RACH_BUSY], busy_percent); - osmo_stat_item_set(sd.bts->bts_statg->items[BTS_STAT_RACH_ACCESS], access_percent); + osmo_stat_item_set(osmo_stat_item_group_get_item(sd.bts->bts_statg, BTS_STAT_RACH_BUSY), busy_percent); + osmo_stat_item_set(osmo_stat_item_group_get_item(sd.bts->bts_statg, BTS_STAT_RACH_ACCESS), access_percent); /* dispatch signal */ osmo_signal_dispatch(SS_CCCH, S_CCCH_RACH_LOAD, &sd); } @@ -1950,7 +1950,7 @@ case RSL_MT_DELETE_IND: /* CCCH overloaded, IMM_ASSIGN was dropped */ LOGPLCHAN(msg->lchan, DRSL, LOGL_NOTICE, "DELETE INDICATION (Downlink CCCH overload)\n"); - rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_RSL_DELETE_IND]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts_ctrs, BTS_CTR_RSL_DELETE_IND)); break; case RSL_MT_CBCH_LOAD_IND: /* current load on the CBCH */ @@ -1962,7 +1962,7 @@ default: LOGP(DRSL, LOGL_NOTICE, "Unknown Abis RSL TRX message type " "0x%02x\n", rslh->c.msg_type); - rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_RSL_UNKNOWN]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts_ctrs, BTS_CTR_RSL_UNKNOWN)); return -EINVAL; } @@ -1986,7 +1986,7 @@ rll_indication(msg->lchan, rllh->link_id, BSC_RLLR_IND_ERR_IND); - rate_ctr_inc(&msg->lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_CHAN_RLL_ERR]); + rate_ctr_inc(rate_ctr_group_get_ctr(msg->lchan->ts->trx->bts->bts_ctrs, BTS_CTR_CHAN_RLL_ERR)); osmo_fsm_inst_dispatch(msg->lchan->fi, LCHAN_EV_RLL_ERR_IND, &rlm_cause); @@ -2087,7 +2087,7 @@ default: LOG_LCHAN(msg->lchan, LOGL_NOTICE, "SAPI=%u Unknown Abis RLL message type 0x%02x\n", sapi, rllh->c.msg_type); - rate_ctr_inc(&sign_link->trx->bts->bts_ctrs->ctr[BTS_CTR_RSL_UNKNOWN]); + rate_ctr_inc(rate_ctr_group_get_ctr(sign_link->trx->bts->bts_ctrs, BTS_CTR_RSL_UNKNOWN)); } return rc; } @@ -2346,7 +2346,7 @@ struct e1inp_sign_link *sign_link = msg->dst; struct gsm_lchan *lchan = msg->lchan; - rate_ctr_inc(&sign_link->trx->bts->bts_ctrs->ctr[BTS_CTR_RSL_IPA_NACK]); + rate_ctr_inc(rate_ctr_group_get_ctr(sign_link->trx->bts->bts_ctrs, BTS_CTR_RSL_IPA_NACK)); if (!lchan->fi_rtp) { LOG_LCHAN(msg->lchan, LOGL_ERROR, "Rx RSL IPACC: CRCX NACK message for unconfigured lchan\n"); @@ -2384,7 +2384,7 @@ struct e1inp_sign_link *sign_link = msg->dst; struct gsm_lchan *lchan = msg->lchan; - rate_ctr_inc(&sign_link->trx->bts->bts_ctrs->ctr[BTS_CTR_RSL_IPA_NACK]); + rate_ctr_inc(rate_ctr_group_get_ctr(sign_link->trx->bts->bts_ctrs, BTS_CTR_RSL_IPA_NACK)); if (!lchan->fi_rtp) { LOG_LCHAN(msg->lchan, LOGL_ERROR, "Rx RSL IPACC: MDCX NACK message for unconfigured lchan\n"); @@ -2453,7 +2453,7 @@ default: LOG_LCHAN(msg->lchan, LOGL_NOTICE, "Unknown ip.access msg_type 0x%02x\n", rllh->c.msg_type); - rate_ctr_inc(&sign_link->trx->bts->bts_ctrs->ctr[BTS_CTR_RSL_UNKNOWN]); + rate_ctr_inc(rate_ctr_group_get_ctr(sign_link->trx->bts->bts_ctrs, BTS_CTR_RSL_UNKNOWN)); break; } @@ -2582,7 +2582,7 @@ default: LOGP(DRSL, LOGL_NOTICE, "unknown RSL message discriminator " "0x%02x\n", rslh->msg_discr); - rate_ctr_inc(&sign_link->trx->bts->bts_ctrs->ctr[BTS_CTR_RSL_UNKNOWN]); + rate_ctr_inc(rate_ctr_group_get_ctr(sign_link->trx->bts->bts_ctrs, BTS_CTR_RSL_UNKNOWN)); rc = -EINVAL; } msgb_free(msg); diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 0f38eec..6a9eb81 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -81,17 +81,17 @@ LOG_ASSIGNMENT(conn, LOGL_DEBUG, "incrementing rate counter: %s %s\n", \ bsc_ctr_description[BSC_##counter].name, \ bsc_ctr_description[BSC_##counter].description); \ - rate_ctr_inc(&conn->network->bsc_ctrs->ctr[BSC_##counter]); \ + rate_ctr_inc(rate_ctr_group_get_ctr(conn->network->bsc_ctrs, BSC_##counter)); \ if (bts) { \ - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_##counter]); \ + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_##counter)); \ switch (gsm48_chan_mode_to_non_vamos(conn->assignment.req.ch_mode_rate_list[0].chan_mode)) { \ case GSM48_CMODE_SIGN: \ - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_##counter##_SIGN]); \ + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_##counter##_SIGN)); \ break; \ case GSM48_CMODE_SPEECH_V1: \ case GSM48_CMODE_SPEECH_EFR: \ case GSM48_CMODE_SPEECH_AMR: \ - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_##counter##_SPEECH]); \ + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_##counter##_SPEECH)); \ break; \ default: \ break; \ @@ -140,7 +140,7 @@ if (!resp) { LOG_ASSIGNMENT(conn, LOGL_ERROR, "Unable to compose BSSMAP Assignment Failure message\n"); } else { - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_FAILURE]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_FAILURE)); gscon_sigtran_send(conn, resp); } } @@ -230,7 +230,7 @@ conn->assignment.req.use_osmux) _gsm0808_ass_compl_extend_osmux(resp, osmux_cid); - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_COMPLETE]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_COMPLETE)); rc = gscon_sigtran_send(conn, resp); if (rc) { assignment_fail(GSM0808_CAUSE_EQUIPMENT_FAILURE, diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index aa9d536..8b89e1a 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -161,7 +161,7 @@ return; } - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_CLEAR_RQST]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_CLEAR_RQST)); rc = osmo_bsc_sigtran_send(conn, resp); if (rc < 0) LOGPFSML(conn->fi, LOGL_ERROR, "Unable to deliver BSSMAP Clear Request message\n"); @@ -176,7 +176,7 @@ OSMO_ASSERT(conn); resp = gsm0808_create_dtap(msg, OBSC_LINKID_CB(msg)); - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_DTAP]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_DTAP)); gscon_sigtran_send(conn, resp); } @@ -843,7 +843,7 @@ /* Close MGCP connections */ osmo_mgcpc_ep_clear(conn->user_plane.mgw_endpoint); - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_CLEAR_COMPLETE]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_CLEAR_COMPLETE)); gscon_sigtran_send(conn, gsm0808_create_clear_complete()); break; case GSCON_EV_A_DISC_IND: diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 6f4e2ec..5b1f503 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -536,16 +536,16 @@ bts_dump_vty_cbch(vty, &bts->cbch_extended); vty_out(vty, " Channel Requests : %"PRIu64" total, %"PRIu64" no channel%s", - bts->bts_ctrs->ctr[BTS_CTR_CHREQ_TOTAL].current, - bts->bts_ctrs->ctr[BTS_CTR_CHREQ_NO_CHANNEL].current, + rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_TOTAL)->current, + rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_NO_CHANNEL)->current, VTY_NEWLINE); vty_out(vty, " Channel Failures : %"PRIu64" rf_failures, %"PRIu64" rll failures%s", - bts->bts_ctrs->ctr[BTS_CTR_CHAN_RF_FAIL].current, - bts->bts_ctrs->ctr[BTS_CTR_CHAN_RLL_ERR].current, + rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHAN_RF_FAIL)->current, + rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHAN_RLL_ERR)->current, VTY_NEWLINE); vty_out(vty, " BTS failures : %"PRIu64" OML, %"PRIu64" RSL%s", - bts->bts_ctrs->ctr[BTS_CTR_BTS_OML_FAIL].current, - bts->bts_ctrs->ctr[BTS_CTR_BTS_RSL_FAIL].current, + rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_BTS_OML_FAIL)->current, + rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_BTS_RSL_FAIL)->current, VTY_NEWLINE); vty_out_stat_item_group(vty, " ", bts->bts_statg); @@ -2318,7 +2318,7 @@ /* allocate a new one */ bts = bsc_bts_alloc_register(gsmnet, GSM_BTS_TYPE_UNKNOWN, HARDCODED_BSIC); - osmo_stat_item_inc(gsmnet->bsc_statg->items[BSC_STAT_NUM_BTS_TOTAL], 1); + osmo_stat_item_inc(osmo_stat_item_group_get_item(gsmnet->bsc_statg, BSC_STAT_NUM_BTS_TOTAL), 1); } else bts = gsm_bts_num(gsmnet, bts_nr); @@ -6390,7 +6390,7 @@ } } else { if (lchan->fi->state == LCHAN_ST_BORKEN) { - rate_ctr_inc(&lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_LCHAN_BORKEN_EV_VTY]); + rate_ctr_inc(rate_ctr_group_get_ctr(lchan->ts->trx->bts->bts_ctrs, BTS_CTR_LCHAN_BORKEN_EV_VTY)); osmo_fsm_inst_state_chg(lchan->fi, LCHAN_ST_UNUSED, 0, 0); } else { vty_out(vty, diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index 87cfb9a..1c88194 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -559,7 +559,7 @@ void bts_store_uptime(struct gsm_bts *bts) { - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_UPTIME_SECONDS], bts_uptime(bts)); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_UPTIME_SECONDS), bts_uptime(bts)); } unsigned long long bts_uptime(const struct gsm_bts *bts) diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c index db91b01..26e2196 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts.c @@ -532,7 +532,7 @@ LOG_TRX(trx, DLINP, LOGL_NOTICE, "Dropping RSL link: %s\n", reason); e1inp_sign_link_destroy(trx->rsl_link_primary); trx->rsl_link_primary = NULL; - osmo_stat_item_dec(trx->bts->bts_statg->items[BTS_STAT_RSL_CONNECTED], 1); + osmo_stat_item_dec(osmo_stat_item_group_get_item(trx->bts->bts_statg, BTS_STAT_RSL_CONNECTED), 1); if (trx->bts->c0 == trx) paging_flush_bts(trx->bts, NULL); @@ -556,7 +556,7 @@ e1inp_sign_link_destroy(bts->oml_link); bts->oml_link = NULL; bts->uptime = 0; - osmo_stat_item_dec(bts->bts_statg->items[BTS_STAT_OML_CONNECTED], 1); + osmo_stat_item_dec(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_OML_CONNECTED), 1); /* Also drop the associated OSMO link */ e1inp_sign_link_destroy(bts->osmo_link); @@ -636,7 +636,7 @@ /* Write to log and increase counter */ LOGP(DLINP, LOGL_ERROR, "Unable to find BTS configuration for %u/%u/%u, disconnecting\n", site_id, bts_id, trx_id); - rate_ctr_inc(&bsc_gsmnet->bsc_ctrs->ctr[BSC_CTR_UNKNOWN_UNIT_ID]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->bsc_ctrs, BSC_CTR_UNKNOWN_UNIT_ID)); /* Get remote IP */ if (osmo_sock_get_remote_ip(ts->driver.ipaccess.fd.fd, ip, sizeof(ip))) @@ -717,7 +717,7 @@ sign_link->tei, sign_link->sapi); sign_link->trx->bts->ip_access.flags |= OML_UP; } - osmo_stat_item_inc(bts->bts_statg->items[BTS_STAT_OML_CONNECTED], 1); + osmo_stat_item_inc(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_OML_CONNECTED), 1); /* Create link for E1INP_SIGN_OSMO */ //SAPI must be 0, no IPAC_PROTO_EXT_PCU, see ipaccess_bts_read_cb @@ -749,7 +749,7 @@ sign_link->trx->bts->ip_access.flags |= (RSL_UP << sign_link->trx->nr); } - osmo_stat_item_inc(bts->bts_statg->items[BTS_STAT_RSL_CONNECTED], 1); + osmo_stat_item_inc(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_RSL_CONNECTED), 1); break; } default: diff --git a/src/osmo-bsc/chan_alloc.c b/src/osmo-bsc/chan_alloc.c index 402ca46..5915a93 100644 --- a/src/osmo-bsc/chan_alloc.c +++ b/src/osmo-bsc/chan_alloc.c @@ -121,36 +121,36 @@ case GSM_PCHAN_UNKNOWN: break; case GSM_PCHAN_CCCH_SDCCH4: - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_CCCH_SDCCH4_USED], lc->used); - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_CCCH_SDCCH4_TOTAL], lc->total); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_CCCH_SDCCH4_USED), lc->used); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_CCCH_SDCCH4_TOTAL), lc->total); break; case GSM_PCHAN_TCH_F: - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_F_USED], lc->used); - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_F_TOTAL], lc->total); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_F_USED), lc->used); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_F_TOTAL), lc->total); break; case GSM_PCHAN_TCH_H: - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_H_USED], lc->used); - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_H_TOTAL], lc->total); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_H_USED), lc->used); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_H_TOTAL), lc->total); break; case GSM_PCHAN_SDCCH8_SACCH8C: - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_SDCCH8_USED], lc->used); - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_SDCCH8_TOTAL], lc->total); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_SDCCH8_USED), lc->used); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_SDCCH8_TOTAL), lc->total); break; case GSM_PCHAN_TCH_F_PDCH: - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_F_PDCH_USED], lc->used); - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_F_PDCH_TOTAL], lc->total); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_F_PDCH_USED), lc->used); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_F_PDCH_TOTAL), lc->total); break; case GSM_PCHAN_CCCH_SDCCH4_CBCH: - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_USED], lc->used); - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_TOTAL], lc->total); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_USED), lc->used); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_TOTAL), lc->total); break; case GSM_PCHAN_SDCCH8_SACCH8C_CBCH: - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_SDCCH8_CBCH_USED], lc->used); - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_SDCCH8_CBCH_TOTAL], lc->total); + 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(bts->bts_statg->items[BTS_STAT_CHAN_TCH_F_TCH_H_PDCH_USED], lc->used); - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_F_TCH_H_PDCH_TOTAL], lc->total); + 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); break; default: LOG_BTS(bts, DRLL, LOGL_NOTICE, "Unknown channel type %d\n", pchan); @@ -232,7 +232,7 @@ (load & 0xffffff00) >> 8, (load & 0xff) / 10); bts->chan_load_avg = ((load & 0xffffff00) >> 8); OSMO_ASSERT(bts->chan_load_avg <= 100); - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_LOAD_AVERAGE], bts->chan_load_avg); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_LOAD_AVERAGE), bts->chan_load_avg); /* Calculate new T3122 wait indicator. */ wait_ind = ((used / total) * max_wait_ind); @@ -244,5 +244,5 @@ LOG_BTS(bts, DRLL, LOGL_DEBUG, "T3122 wait indicator set to %"PRIu64" seconds\n", wait_ind); bts->T3122 = (uint8_t)wait_ind; - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_T3122], wait_ind); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_T3122), wait_ind); } diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index e943ec1..80ed874 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -77,7 +77,7 @@ LOGP(DMSC, LOGL_NOTICE, "Tx MSC SAPI N REJECT (dlci=0x%02x, cause='%s')\n", dlci, gsm0808_cause_name(cause)); resp = gsm0808_create_sapi_reject_cause(dlci, cause); - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_SAPI_N_REJECT]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_SAPI_N_REJECT)); rc = osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); if (rc != 0) msgb_free(resp); @@ -94,7 +94,7 @@ LOGP(DMSC, LOGL_DEBUG, "CIPHER MODE COMPLETE from MS, forwarding to MSC\n"); resp = gsm0808_create_cipher_complete(msg, chosen_encr); - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_CIPHER_COMPLETE]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_CIPHER_COMPLETE)); rc = osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); if (rc != 0) msgb_free(resp); @@ -233,7 +233,7 @@ if (nri_matches_msc) { LOG_NRI(LOGL_DEBUG, "matches msc %d, but this MSC is currently not connected\n", msc->nr); - rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_MSCPOOL_SUBSCR_ATTACH_LOST]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc->msc_ctrs, MSC_CTR_MSCPOOL_SUBSCR_ATTACH_LOST)); } continue; } @@ -245,10 +245,10 @@ msc->nr); } else { LOG_NRI(LOGL_DEBUG, "matches msc %d\n", msc->nr); - rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_MSCPOOL_SUBSCR_KNOWN]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc->msc_ctrs, MSC_CTR_MSCPOOL_SUBSCR_KNOWN)); if (is_emerg) { - rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_MSCPOOL_EMERG_FORWARDED]); - rate_ctr_inc(&bsc_gsmnet->bsc_ctrs->ctr[BSC_CTR_MSCPOOL_EMERG_FORWARDED]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc->msc_ctrs, MSC_CTR_MSCPOOL_EMERG_FORWARDED)); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->bsc_ctrs, BSC_CTR_MSCPOOL_EMERG_FORWARDED)); } return msc; } @@ -283,9 +283,9 @@ * them are usable -- wrap to the start. */ msc_target = msc_round_robin_next ? : msc_round_robin_first; if (!msc_target) { - rate_ctr_inc(&bsc_gsmnet->bsc_ctrs->ctr[BSC_CTR_MSCPOOL_SUBSCR_NO_MSC]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->bsc_ctrs, BSC_CTR_MSCPOOL_SUBSCR_NO_MSC)); if (is_emerg) - rate_ctr_inc(&bsc_gsmnet->bsc_ctrs->ctr[BSC_CTR_MSCPOOL_EMERG_LOST]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->bsc_ctrs, BSC_CTR_MSCPOOL_EMERG_LOST)); return NULL; } @@ -293,13 +293,13 @@ osmo_mobile_identity_to_str_c(OTC_SELECT, mi), msc_target->nr); if (is_null_nri) - rate_ctr_inc(&msc_target->msc_ctrs->ctr[MSC_CTR_MSCPOOL_SUBSCR_REATTACH]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc_target->msc_ctrs, MSC_CTR_MSCPOOL_SUBSCR_REATTACH)); else - rate_ctr_inc(&msc_target->msc_ctrs->ctr[MSC_CTR_MSCPOOL_SUBSCR_NEW]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc_target->msc_ctrs, MSC_CTR_MSCPOOL_SUBSCR_NEW)); if (is_emerg) { - rate_ctr_inc(&msc_target->msc_ctrs->ctr[MSC_CTR_MSCPOOL_EMERG_FORWARDED]); - rate_ctr_inc(&bsc_gsmnet->bsc_ctrs->ctr[BSC_CTR_MSCPOOL_EMERG_FORWARDED]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc_target->msc_ctrs, MSC_CTR_MSCPOOL_EMERG_FORWARDED)); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->bsc_ctrs, BSC_CTR_MSCPOOL_EMERG_FORWARDED)); } /* An MSC was picked by round-robin, so update the next round-robin nr to pick */ @@ -457,12 +457,12 @@ "%s Unsolicited Paging Response, possibly an MT-CSFB call.\n", osmo_mobile_identity_to_str_c(OTC_SELECT, &mi)); - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_PAGING_NO_ACTIVE_PAGING]); - rate_ctr_inc(&bsc_gsmnet->bsc_ctrs->ctr[BSC_CTR_PAGING_NO_ACTIVE_PAGING]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_PAGING_NO_ACTIVE_PAGING)); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->bsc_ctrs, BSC_CTR_PAGING_NO_ACTIVE_PAGING)); } else if (is_msc_usable(paged_from_msc, is_emerg)) { LOG_COMPL_L3(pdisc, mtype, LOGL_DEBUG, "%s matches earlier Paging from msc %d\n", osmo_mobile_identity_to_str_c(OTC_SELECT, &mi), paged_from_msc->nr); - rate_ctr_inc(&paged_from_msc->msc_ctrs->ctr[MSC_CTR_MSCPOOL_SUBSCR_PAGED]); + rate_ctr_inc(rate_ctr_group_get_ctr(paged_from_msc->msc_ctrs, MSC_CTR_MSCPOOL_SUBSCR_PAGED)); } else { LOG_COMPL_L3(pdisc, mtype, LOGL_DEBUG, "%s matches earlier Paging from msc %d, but this MSC is not connected\n", @@ -617,7 +617,7 @@ if (!msc_connected(conn)) return; - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_CLASSMARK_UPDATE]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_CLASSMARK_UPDATE)); resp = gsm0808_create_classmark_update(cm2, cm2_len, cm3, cm3_len); rc = osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); if (rc != 0) diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index ec70be3..8141a5d 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -88,7 +88,7 @@ LOG_HO(conn, LOGL_DEBUG, "(BSC) incrementing rate counter: %s %s\n", \ bsc_ctr_description[counter].name, \ bsc_ctr_description[counter].description); \ - rate_ctr_inc(&conn->network->bsc_ctrs->ctr[counter]); \ + rate_ctr_inc(rate_ctr_group_get_ctr(conn->network->bsc_ctrs, counter)); \ } while(0) /* Assume presence of local var 'conn' as struct gsm_subscriber_connection. @@ -102,9 +102,9 @@ bts_ctr_description[counter].name, \ bts_ctr_description[counter].description); \ if (bts) \ - rate_ctr_inc(&bts->bts_ctrs->ctr[counter]); \ + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, counter)); \ else \ - rate_ctr_inc(&conn->network->bts_unknown_ctrs->ctr[counter]); \ + rate_ctr_inc(rate_ctr_group_get_ctr(conn->network->bts_unknown_ctrs, counter)); \ } while(0) #define ho_count(bts, counter) do { \ @@ -881,7 +881,7 @@ return; } - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_HANDOVER_PERFORMED]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_HANDOVER_PERFORMED)); rc = gscon_sigtran_send(conn, msg); if (rc < 0) { LOG_HO(conn, LOGL_ERROR, "message sending failed, can't send HANDOVER PERFORMED!\n"); diff --git a/src/osmo-bsc/lb.c b/src/osmo-bsc/lb.c index e23de93..7c35fa2 100644 --- a/src/osmo-bsc/lb.c +++ b/src/osmo-bsc/lb.c @@ -68,7 +68,7 @@ LOGP(DRESET, LOGL_INFO, "Sending RESET to SMLC: %s\n", osmo_sccp_addr_name(ss7, &bsc_gsmnet->smlc->smlc_addr)); msg = osmo_bssap_le_enc(&reset); - rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_UDT_RESET]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_UDT_RESET)); return osmo_sccp_tx_unitdata_msg(bsc_gsmnet->smlc->sccp_user, &bsc_gsmnet->smlc->bsc_addr, &bsc_gsmnet->smlc->smlc_addr, msg); } @@ -90,7 +90,7 @@ LOGP(DRESET, LOGL_NOTICE, "Sending RESET ACK to SMLC: %s\n", osmo_sccp_addr_name(ss7, &bsc_gsmnet->smlc->smlc_addr)); msg = osmo_bssap_le_enc(&reset_ack); - rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_UDT_RESET_ACK]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_UDT_RESET_ACK)); return osmo_sccp_tx_unitdata_msg(bsc_gsmnet->smlc->sccp_user, &bsc_gsmnet->smlc->bsc_addr, &bsc_gsmnet->smlc->smlc_addr, msg); } @@ -101,7 +101,7 @@ struct osmo_ss7_instance *ss7; struct bssap_le_pdu bssap_le; struct osmo_bssap_le_err *err; - struct rate_ctr *ctr = bsc_gsmnet->smlc->ctrs->ctr; + struct rate_ctr_group *ctrg = bsc_gsmnet->smlc->ctrs; ss7 = osmo_sccp_get_ss7(osmo_sccp_get_sccp(scu)); OSMO_ASSERT(ss7); @@ -109,13 +109,13 @@ if (osmo_sccp_addr_cmp(smlc_addr, &bsc_gsmnet->smlc->smlc_addr, OSMO_SCCP_ADDR_T_MASK)) { LOGP(DLCS, LOGL_ERROR, "Rx BSSMAP-LE UnitData from unknown remote address: %s\n", osmo_sccp_addr_name(ss7, smlc_addr)); - rate_ctr_inc(&ctr[SMLC_CTR_BSSMAP_LE_RX_UNKNOWN_PEER]); + rate_ctr_inc(rate_ctr_group_get_ctr(ctrg, SMLC_CTR_BSSMAP_LE_RX_UNKNOWN_PEER)); return -EINVAL; } if (osmo_bssap_le_dec(&bssap_le, &err, msg, msg)) { LOGP(DLCS, LOGL_ERROR, "Rx BSSAP-LE UnitData with error: %s\n", err->logmsg); - rate_ctr_inc(&ctr[SMLC_CTR_BSSMAP_LE_RX_UDT_ERR_INVALID_MSG]); + rate_ctr_inc(rate_ctr_group_get_ctr(ctrg, SMLC_CTR_BSSMAP_LE_RX_UDT_ERR_INVALID_MSG)); return -EINVAL; } @@ -126,17 +126,17 @@ switch (bssap_le.bssmap_le.msg_type) { case BSSMAP_LE_MSGT_RESET: - rate_ctr_inc(&ctr[SMLC_CTR_BSSMAP_LE_RX_UDT_RESET]); + rate_ctr_inc(rate_ctr_group_get_ctr(ctrg, SMLC_CTR_BSSMAP_LE_RX_UDT_RESET)); LOGP(DLCS, LOGL_NOTICE, "RESET from SMLC: %s\n", osmo_sccp_addr_name(ss7, smlc_addr)); return osmo_fsm_inst_dispatch(bsc_gsmnet->smlc->bssmap_reset->fi, BSSMAP_RESET_EV_RX_RESET, NULL); case BSSMAP_LE_MSGT_RESET_ACK: - rate_ctr_inc(&ctr[SMLC_CTR_BSSMAP_LE_RX_UDT_RESET_ACK]); + rate_ctr_inc(rate_ctr_group_get_ctr(ctrg, SMLC_CTR_BSSMAP_LE_RX_UDT_RESET_ACK)); LOGP(DLCS, LOGL_NOTICE, "RESET-ACK from SMLC: %s\n", osmo_sccp_addr_name(ss7, smlc_addr)); return osmo_fsm_inst_dispatch(bsc_gsmnet->smlc->bssmap_reset->fi, BSSMAP_RESET_EV_RX_RESET_ACK, NULL); default: - rate_ctr_inc(&ctr[SMLC_CTR_BSSMAP_LE_RX_UDT_ERR_INVALID_MSG]); + rate_ctr_inc(rate_ctr_group_get_ctr(ctrg, SMLC_CTR_BSSMAP_LE_RX_UDT_ERR_INVALID_MSG)); LOGP(DLCS, LOGL_ERROR, "Rx unimplemented UDT message type %s\n", osmo_bssap_le_pdu_to_str_c(OTC_SELECT, &bssap_le)); return -EINVAL; @@ -255,9 +255,9 @@ rc = osmo_sccp_tx_conn_req_msg(bsc_gsmnet->smlc->sccp_user, conn_id, &bsc_gsmnet->smlc->bsc_addr, &bsc_gsmnet->smlc->smlc_addr, msg); if (rc >= 0) - rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_SUCCESS]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_SUCCESS)); else - rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_ERR_SEND]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_ERR_SEND)); if (rc >= 0) conn->lcs.lb.state = SUBSCR_SCCP_ST_WAIT_CONN_CONF; @@ -304,9 +304,9 @@ LOGPFSMSL(conn->fi, DLCS, LOGL_DEBUG, "Tx %s\n", osmo_bssap_le_pdu_to_str_c(OTC_SELECT, bssap_le)); rc = osmo_sccp_tx_data_msg(bsc_gsmnet->smlc->sccp_user, conn->lcs.lb.conn_id, msg); if (rc >= 0) - rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_SUCCESS]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_SUCCESS)); else - rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_ERR_SEND]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_ERR_SEND)); count_tx: if (rc < 0) @@ -314,24 +314,24 @@ switch (bssap_le->bssmap_le.msg_type) { case BSSMAP_LE_MSGT_PERFORM_LOC_REQ: - rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_DT1_PERFORM_LOCATION_REQUEST]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_DT1_PERFORM_LOCATION_REQUEST)); break; case BSSMAP_LE_MSGT_PERFORM_LOC_ABORT: - rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_DT1_PERFORM_LOCATION_ABORT]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_DT1_PERFORM_LOCATION_ABORT)); break; case BSSMAP_LE_MSGT_CONN_ORIENTED_INFO: switch (bssap_le->bssmap_le.conn_oriented_info.apdu.msg_type) { case BSSLAP_MSGT_TA_RESPONSE: - rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_DT1_BSSLAP_TA_RESPONSE]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_DT1_BSSLAP_TA_RESPONSE)); break; case BSSLAP_MSGT_REJECT: - rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_DT1_BSSLAP_REJECT]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_DT1_BSSLAP_REJECT)); break; case BSSLAP_MSGT_RESET: - rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_DT1_BSSLAP_RESET]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_DT1_BSSLAP_RESET)); break; case BSSLAP_MSGT_ABORT: - rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_DT1_BSSLAP_ABORT]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_DT1_BSSLAP_ABORT)); break; default: break; diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index a29ddae..48cfbdf 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -1323,9 +1323,9 @@ default: ctr = BTS_CTR_LCHAN_BORKEN_FROM_UNKNOWN; } - rate_ctr_inc(&bts->bts_ctrs->ctr[ctr]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, ctr)); if (prev_state != LCHAN_ST_BORKEN) - osmo_stat_item_inc(bts->bts_statg->items[BTS_STAT_LCHAN_BORKEN], 1); + osmo_stat_item_inc(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_LCHAN_BORKEN), 1); /* The actual action besides all the beancounting above */ lchan_reset(lchan); @@ -1339,8 +1339,8 @@ case LCHAN_EV_RSL_CHAN_ACTIV_ACK: /* A late Chan Activ ACK? Release. */ - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_ACK]); - osmo_stat_item_dec(bts->bts_statg->items[BTS_STAT_LCHAN_BORKEN], 1); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_ACK)); + osmo_stat_item_dec(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_LCHAN_BORKEN), 1); 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); @@ -1349,15 +1349,15 @@ case LCHAN_EV_RSL_CHAN_ACTIV_NACK: /* A late Chan Activ NACK? Ok then, unused. */ - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_NACK]); - osmo_stat_item_dec(bts->bts_statg->items[BTS_STAT_LCHAN_BORKEN], 1); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_NACK)); + osmo_stat_item_dec(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_LCHAN_BORKEN), 1); lchan_fsm_state_chg(LCHAN_ST_UNUSED); return; case LCHAN_EV_RSL_RF_CHAN_REL_ACK: /* A late Release ACK? */ - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_LCHAN_BORKEN_EV_RF_CHAN_REL_ACK]); - osmo_stat_item_dec(bts->bts_statg->items[BTS_STAT_LCHAN_BORKEN], 1); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_LCHAN_BORKEN_EV_RF_CHAN_REL_ACK)); + osmo_stat_item_dec(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_LCHAN_BORKEN), 1); 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); @@ -1603,8 +1603,8 @@ { struct gsm_lchan *lchan = lchan_fi_lchan(fi); if (fi->state == LCHAN_ST_BORKEN) { - rate_ctr_inc(&lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_LCHAN_BORKEN_EV_TS_ERROR]); - osmo_stat_item_dec(lchan->ts->trx->bts->bts_statg->items[BTS_STAT_LCHAN_BORKEN], 1); + rate_ctr_inc(rate_ctr_group_get_ctr(lchan->ts->trx->bts->bts_ctrs, BTS_CTR_LCHAN_BORKEN_EV_TS_ERROR)); + osmo_stat_item_dec(osmo_stat_item_group_get_item(lchan->ts->trx->bts->bts_statg, BTS_STAT_LCHAN_BORKEN), 1); } lchan_fail_to(LCHAN_ST_UNUSED, "LCHAN_EV_TS_ERROR"); return; @@ -1713,8 +1713,8 @@ { struct gsm_lchan *lchan = lchan_fi_lchan(fi); if (lchan->fi->state == LCHAN_ST_BORKEN) { - rate_ctr_inc(&lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_LCHAN_BORKEN_EV_TEARDOWN]); - osmo_stat_item_dec(lchan->ts->trx->bts->bts_statg->items[BTS_STAT_LCHAN_BORKEN], 1); + rate_ctr_inc(rate_ctr_group_get_ctr(lchan->ts->trx->bts->bts_ctrs, BTS_CTR_LCHAN_BORKEN_EV_TEARDOWN)); + osmo_stat_item_dec(osmo_stat_item_group_get_item(lchan->ts->trx->bts->bts_statg, BTS_STAT_LCHAN_BORKEN), 1); } lchan_reset(lchan); if (lchan->last_error) { diff --git a/src/osmo-bsc/lcs_loc_req.c b/src/osmo-bsc/lcs_loc_req.c index ee85c91..1a68316 100644 --- a/src/osmo-bsc/lcs_loc_req.c +++ b/src/osmo-bsc/lcs_loc_req.c @@ -190,7 +190,7 @@ { switch (bssmap_le->conn_oriented_info.apdu.msg_type) { case BSSLAP_MSGT_TA_REQUEST: - rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_RX_DT1_BSSLAP_TA_REQUEST]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_RX_DT1_BSSLAP_TA_REQUEST)); LOG_LCS_LOC_REQ(lcs_loc_req, LOGL_DEBUG, "rx BSSLAP TA Request\n"); /* The TA Request message contains only the message type. */ return lcs_ta_req_start(lcs_loc_req); @@ -206,7 +206,7 @@ struct lcs_loc_req *lcs_loc_req = conn->lcs.loc_req; struct bssap_le_pdu bssap_le; struct osmo_bssap_le_err *err; - struct rate_ctr *ctr = bsc_gsmnet->smlc->ctrs->ctr; + struct rate_ctr_group *ctrg = bsc_gsmnet->smlc->ctrs; if (!lcs_loc_req) { LOGPFSMSL(conn->fi, DLCS, LOGL_ERROR, @@ -216,13 +216,13 @@ if (osmo_bssap_le_dec(&bssap_le, &err, msg, msg)) { LOG_LCS_LOC_REQ(lcs_loc_req, LOGL_ERROR, "Rx BSSAP-LE message with error: %s\n", err->logmsg); - rate_ctr_inc(&ctr[SMLC_CTR_BSSMAP_LE_RX_DT1_ERR_INVALID_MSG]); + rate_ctr_inc(rate_ctr_group_get_ctr(ctrg, SMLC_CTR_BSSMAP_LE_RX_DT1_ERR_INVALID_MSG)); return -EINVAL; } if (bssap_le.discr != BSSAP_LE_MSG_DISCR_BSSMAP_LE) { LOG_LCS_LOC_REQ(lcs_loc_req, LOGL_ERROR, "Rx BSSAP-LE: discr %d not implemented\n", bssap_le.discr); - rate_ctr_inc(&ctr[SMLC_CTR_BSSMAP_LE_RX_DT1_ERR_INVALID_MSG]); + rate_ctr_inc(rate_ctr_group_get_ctr(ctrg, SMLC_CTR_BSSMAP_LE_RX_DT1_ERR_INVALID_MSG)); return -ENOTSUP; } @@ -231,9 +231,9 @@ switch (bssap_le.bssmap_le.msg_type) { case BSSMAP_LE_MSGT_PERFORM_LOC_RESP: if (bssap_le.bssmap_le.perform_loc_resp.location_estimate_present) - rate_ctr_inc(&ctr[SMLC_CTR_BSSMAP_LE_RX_DT1_PERFORM_LOCATION_RESPONSE_SUCCESS]); + rate_ctr_inc(rate_ctr_group_get_ctr(ctrg, SMLC_CTR_BSSMAP_LE_RX_DT1_PERFORM_LOCATION_RESPONSE_SUCCESS)); else - rate_ctr_inc(&ctr[SMLC_CTR_BSSMAP_LE_RX_DT1_PERFORM_LOCATION_RESPONSE_FAILURE]); + rate_ctr_inc(rate_ctr_group_get_ctr(ctrg, SMLC_CTR_BSSMAP_LE_RX_DT1_PERFORM_LOCATION_RESPONSE_FAILURE)); return osmo_fsm_inst_dispatch(lcs_loc_req->fi, LCS_LOC_REQ_EV_RX_LB_PERFORM_LOCATION_RESPONSE, &bssap_le.bssmap_le); @@ -457,9 +457,7 @@ LOG_LCS_LOC_REQ(lcs_loc_req, LOGL_ERROR, "Failed to send Perform Location Response (A-interface)\n"); else - rate_ctr_inc(&lcs_loc_req->conn->sccp.msc->msc_ctrs->ctr[ - plr.location_estimate_present ? MSC_CTR_BSSMAP_TX_DT1_PERFORM_LOCATION_RESPONSE_SUCCESS - : MSC_CTR_BSSMAP_TX_DT1_PERFORM_LOCATION_RESPONSE_FAILURE]); + rate_ctr_inc(rate_ctr_group_get_ctr(lcs_loc_req->conn->sccp.msc->msc_ctrs, plr.location_estimate_present ? MSC_CTR_BSSMAP_TX_DT1_PERFORM_LOCATION_RESPONSE_SUCCESS : MSC_CTR_BSSMAP_TX_DT1_PERFORM_LOCATION_RESPONSE_FAILURE)); } osmo_fsm_inst_term(fi, OSMO_FSM_TERM_REGULAR, NULL); } @@ -498,7 +496,7 @@ LOG_LCS_LOC_REQ(lcs_loc_req, LOGL_ERROR, "Failed to send BSSMAP Perform Location Response (A-interface)\n"); else - rate_ctr_inc(&lcs_loc_req->conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_PERFORM_LOCATION_RESPONSE_FAILURE]); + rate_ctr_inc(rate_ctr_group_get_ctr(lcs_loc_req->conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_PERFORM_LOCATION_RESPONSE_FAILURE)); } osmo_fsm_inst_term(fi, OSMO_FSM_TERM_REGULAR, NULL); } diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index 239c2ca..d6048bf 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -343,7 +343,7 @@ int bsc_paging_start(struct bsc_paging_params *params) { - rate_ctr_inc(&bsc_gsmnet->bsc_ctrs->ctr[BSC_CTR_PAGING_ATTEMPTED]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->bsc_ctrs, BSC_CTR_PAGING_ATTEMPTED)); if (!params->bsub) { params->bsub = bsc_subscr_find_or_create_by_imsi(bsc_gsmnet->bsc_subscribers, params->imsi.imsi, @@ -569,7 +569,7 @@ return -1; } - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_CIPHER_REJECT]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_CIPHER_REJECT)); osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); return -1; } @@ -650,7 +650,7 @@ LOGPFSM(conn->fi, "Tx LCLS CONNECT CTRL ACK (%s)\n", gsm0808_lcls_status_name(lcls_get_status(conn))); resp = gsm0808_create_lcls_conn_ctrl_ack(lcls_get_status(conn)); - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_LCLS_CONNECT_CTRL_ACK]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_LCLS_CONNECT_CTRL_ACK)); osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); return 0; @@ -973,7 +973,7 @@ resp = gsm0808_create_assignment_failure(cause, NULL); OSMO_ASSERT(resp); - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_FAILURE]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_FAILURE)); osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); return -1; } @@ -1396,7 +1396,7 @@ return -EINVAL; } - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_HANDOVER_REQUIRED]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_HANDOVER_REQUIRED)); rc = gscon_sigtran_send(conn, msg); if (rc) { LOG_HO(conn, LOGL_ERROR, "Cannot send BSSMAP Handover Required message\n"); @@ -1443,7 +1443,7 @@ params.aoip_transport_layer = &ss; } - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_HANDOVER_RQST_ACKNOWLEDGE]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_HANDOVER_RQST_ACKNOWLEDGE)); LOG_HO(conn, LOGL_DEBUG, "Sending BSSMAP Handover Request Acknowledge\n"); msg = gsm0808_create_handover_request_ack2(¶ms); msgb_free(rr_ho_command); @@ -1459,7 +1459,7 @@ if (!msg) return -ENOMEM; - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_HANDOVER_DETECT]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_HANDOVER_DETECT)); return osmo_bsc_sigtran_send(conn, msg); } @@ -1499,7 +1499,7 @@ return HO_RESULT_ERROR; } - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_HANDOVER_COMPLETE]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_HANDOVER_COMPLETE)); rc = osmo_bsc_sigtran_send(conn, msg); if (rc) { LOG_HO(conn, LOGL_ERROR, "Cannot send BSSMAP Handover Complete message\n"); @@ -1521,7 +1521,7 @@ return; } - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_HANDOVER_FAILURE]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_HANDOVER_FAILURE)); rc = osmo_bsc_sigtran_send(conn, msg); if (rc) LOG_HO(conn, LOGL_ERROR, "Cannot send BSSMAP Handover Failure message (rc=%d %s)\n", diff --git a/src/osmo-bsc/osmo_bsc_filter.c b/src/osmo-bsc/osmo_bsc_filter.c index 19cdeee..2b58ccf 100644 --- a/src/osmo-bsc/osmo_bsc_filter.c +++ b/src/osmo-bsc/osmo_bsc_filter.c @@ -123,16 +123,16 @@ struct rate_ctr_group *bts_ctrs = conn->lchan->ts->trx->bts->bts_ctrs; switch (mtype) { case GSM48_MT_MM_LOC_UPD_ACCEPT: - rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_LOCATION_UPDATE_ACCEPT]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts_ctrs, BTS_CTR_LOCATION_UPDATE_ACCEPT)); break; case GSM48_MT_MM_LOC_UPD_REJECT: - rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_LOCATION_UPDATE_REJECT]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts_ctrs, BTS_CTR_LOCATION_UPDATE_REJECT)); break; case GSM48_MT_MM_IMSI_DETACH_IND: - rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_LOCATION_UPDATE_DETACH]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts_ctrs, BTS_CTR_LOCATION_UPDATE_DETACH)); break; default: - rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_LOCATION_UPDATE_UNKNOWN]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts_ctrs, BTS_CTR_LOCATION_UPDATE_UNKNOWN)); break; } } diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index 3069cc0..14475ff 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -405,10 +405,10 @@ LOG_TRX(trx, DLMI, LOGL_ERROR, "Lost E1 %s link\n", e1inp_signtype_name(isd->link_type)); if (isd->link_type == E1INP_SIGN_OML) { - rate_ctr_inc(&trx->bts->bts_ctrs->ctr[BTS_CTR_BTS_OML_FAIL]); + rate_ctr_inc(rate_ctr_group_get_ctr(trx->bts->bts_ctrs, BTS_CTR_BTS_OML_FAIL)); all_ts_dispatch_event(trx, TS_EV_OML_DOWN); } else if (isd->link_type == E1INP_SIGN_RSL) { - rate_ctr_inc(&trx->bts->bts_ctrs->ctr[BTS_CTR_BTS_RSL_FAIL]); + rate_ctr_inc(rate_ctr_group_get_ctr(trx->bts->bts_ctrs, BTS_CTR_BTS_RSL_FAIL)); acc_ramp_abort(&trx->bts->acc_ramp); all_ts_dispatch_event(trx, TS_EV_RSL_DOWN); if (trx->nr == 0) diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index 2cb7694..d3c636d 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -94,7 +94,7 @@ if (msc_is_aoip(msc) && msc->use_osmux != OSMUX_USAGE_OFF) _gsm0808_extend_announce_osmux(msg); - rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_UDT_RESET]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc->msc_ctrs, MSC_CTR_BSSMAP_TX_UDT_RESET)); osmo_sccp_tx_unitdata_msg(msc->a.sccp_user, &msc->a.bsc_addr, &msc->a.msc_addr, msg); } @@ -114,7 +114,7 @@ if (msc_is_aoip(msc) && msc->use_osmux != OSMUX_USAGE_OFF) _gsm0808_extend_announce_osmux(msg); - rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_UDT_RESET_ACK]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc->msc_ctrs, MSC_CTR_BSSMAP_TX_UDT_RESET_ACK)); osmo_sccp_tx_unitdata_msg(msc->a.sccp_user, &msc->a.bsc_addr, &msc->a.msc_addr, msg); } @@ -374,26 +374,26 @@ if (msg->len >= 3) { switch (msg->data[0]) { case BSSAP_MSG_BSS_MANAGEMENT: - rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_BSS_MANAGEMENT]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc->msc_ctrs, MSC_CTR_BSSMAP_TX_BSS_MANAGEMENT)); LOGP(DMSC, LOGL_INFO, "Tx MSC: BSSMAP: %s\n", gsm0808_bssmap_name(msg->data[2])); break; case BSSAP_MSG_DTAP: - rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DTAP]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DTAP)); LOGP(DMSC, LOGL_INFO, "Tx MSC: DTAP\n"); break; default: - rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_UNKNOWN]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc->msc_ctrs, MSC_CTR_BSSMAP_TX_UNKNOWN)); LOGP(DMSC, LOGL_ERROR, "Tx MSC: unknown message type: 0x%x\n", msg->data[0]); } } else { - rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_SHORT]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc->msc_ctrs, MSC_CTR_BSSMAP_TX_SHORT)); LOGP(DMSC, LOGL_ERROR, "Tx MSC: message too short: %u\n", msg->len); } if (a_reset_conn_ready(msc) == false) { - rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_ERR_CONN_NOT_READY]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc->msc_ctrs, MSC_CTR_BSSMAP_TX_ERR_CONN_NOT_READY)); LOGP(DMSC, LOGL_ERROR, "MSC is not connected. Dropping.\n"); msgb_free(msg); return -EINVAL; @@ -408,9 +408,9 @@ rc = osmo_sccp_tx_data_msg(msc->a.sccp_user, conn_id, msg); if (rc >= 0) - rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_SUCCESS]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc->msc_ctrs, MSC_CTR_BSSMAP_TX_SUCCESS)); else - rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_ERR_SEND]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc->msc_ctrs, MSC_CTR_BSSMAP_TX_ERR_SEND)); return rc; } diff --git a/src/osmo-bsc/paging.c b/src/osmo-bsc/paging.c index 15aca00..d2dd5ea 100644 --- a/src/osmo-bsc/paging.c +++ b/src/osmo-bsc/paging.c @@ -281,7 +281,7 @@ req, bsc_subscr_name(req->bsub)); /* must be destroyed before calling cbfn, to prevent double free */ - rate_ctr_inc(&req->bts->bts_ctrs->ctr[BTS_CTR_PAGING_EXPIRED]); + rate_ctr_inc(rate_ctr_group_get_ctr(req->bts->bts_ctrs, BTS_CTR_PAGING_EXPIRED)); /* destroy it now. Do not access req afterwards */ paging_remove_request(&req->bts->paging, req); @@ -331,11 +331,11 @@ struct gsm_paging_request *req; unsigned int t3113_timeout_s; - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_PAGING_ATTEMPTED]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_PAGING_ATTEMPTED)); if (paging_pending_request(bts_entry, params->bsub)) { LOG_PAGING_BTS(params, bts, DPAG, LOGL_INFO, "Paging request already pending for this subscriber\n"); - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_PAGING_ALREADY]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_PAGING_ALREADY)); return -EEXIST; } @@ -432,8 +432,8 @@ count = paging_request_stop_bts(&paged_from_msc, &reasons, bts, bsub); if (paged_from_msc) { count++; - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_PAGING_RESPONDED]); - rate_ctr_inc(&bts->network->bsc_ctrs->ctr[BSC_CTR_PAGING_RESPONDED]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_PAGING_RESPONDED)); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->network->bsc_ctrs, BSC_CTR_PAGING_RESPONDED)); } llist_for_each_entry(bts_i, &bsc_gsmnet->bts_list, list) { @@ -522,7 +522,7 @@ num_cancelled++; } - rate_ctr_add(&bts->bts_ctrs->ctr[BTS_CTR_PAGING_MSC_FLUSH], num_cancelled); + rate_ctr_add(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_PAGING_MSC_FLUSH), num_cancelled); } /*! Flush all paging requests issued by \a msc on any BTS in \a net */ diff --git a/src/osmo-bsc/timeslot_fsm.c b/src/osmo-bsc/timeslot_fsm.c index 001319e..0470972 100644 --- a/src/osmo-bsc/timeslot_fsm.c +++ b/src/osmo-bsc/timeslot_fsm.c @@ -383,9 +383,9 @@ case TS_EV_PDCH_ACT_NACK: if (ts->pchan_on_init == GSM_PCHAN_TCH_F_PDCH) - rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_RSL_IPA_NACK]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts_ctrs, BTS_CTR_RSL_IPA_NACK)); else - rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_CHAN_ACT_NACK]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts_ctrs, BTS_CTR_CHAN_ACT_NACK)); ts->pdch_act_allowed = false; ts_fsm_error(fi, TS_ST_UNUSED, "Received PDCH activation NACK"); return; @@ -520,7 +520,7 @@ case TS_EV_PDCH_DEACT_NACK: if (ts->pchan_on_init == GSM_PCHAN_TCH_F_PDCH) - rate_ctr_inc(&ts->trx->bts->bts_ctrs->ctr[BTS_CTR_RSL_IPA_NACK]); + rate_ctr_inc(rate_ctr_group_get_ctr(ts->trx->bts->bts_ctrs, BTS_CTR_RSL_IPA_NACK)); /* For Osmocom style dyn TS, there actually is no NACK, since there is no RF Channel * Release NACK message in RSL. */ ts_fsm_error(fi, TS_ST_BORKEN, "Received PDCH deactivation NACK"); @@ -695,8 +695,8 @@ default: ctr = BTS_CTR_TS_BORKEN_FROM_UNKNOWN; } - rate_ctr_inc(&bts->bts_ctrs->ctr[ctr]); - osmo_stat_item_inc(bts->bts_statg->items[BTS_STAT_TS_BORKEN], 1); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, ctr)); + osmo_stat_item_inc(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_TS_BORKEN), 1); } static void ts_fsm_borken(struct osmo_fsm_inst *fi, uint32_t event, void *data) @@ -720,8 +720,8 @@ struct gsm_bts *bts = ts->trx->bts; /* Late PDCH activation ACK/NACK is not a crime. * Just process them as normal. */ - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_TS_BORKEN_EV_PDCH_ACT_ACK_NACK]); - osmo_stat_item_dec(bts->bts_statg->items[BTS_STAT_TS_BORKEN], 1); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_TS_BORKEN_EV_PDCH_ACT_ACK_NACK)); + osmo_stat_item_dec(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_TS_BORKEN), 1); ts_fsm_wait_pdch_act(fi, event, data); return; } @@ -733,8 +733,8 @@ struct gsm_bts *bts = ts->trx->bts; /* Late PDCH deactivation ACK/NACK is also not a crime. * Just process them as normal. */ - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_TS_BORKEN_EV_PDCH_DEACT_ACK_NACK]); - osmo_stat_item_dec(bts->bts_statg->items[BTS_STAT_TS_BORKEN], 1); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_TS_BORKEN_EV_PDCH_DEACT_ACK_NACK)); + osmo_stat_item_dec(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_TS_BORKEN), 1); ts_fsm_wait_pdch_deact(fi, event, data); return; } @@ -796,8 +796,8 @@ struct gsm_bts_trx_ts *ts = ts_fi_ts(fi); struct gsm_bts *bts = ts->trx->bts; if (ts->fi->state == TS_ST_BORKEN) { - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_TS_BORKEN_EV_TEARDOWN]); - osmo_stat_item_dec(bts->bts_statg->items[BTS_STAT_TS_BORKEN], 1); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_TS_BORKEN_EV_TEARDOWN)); + osmo_stat_item_dec(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_TS_BORKEN), 1); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0b43f922a595d694ac0aeda80107ef9bf4e755e7 Gerrit-Change-Number: 24551 Gerrit-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 Jun 4 15:47:38 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Jun 2021 15:47:38 +0000 Subject: Change in osmo-bsc[master]: Make interference measurement parameters configurable In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24548 ) Change subject: Make interference measurement parameters configurable ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I99ebf57aac1f3ca7e0497c3b4f6b0738c6ed7e47 Gerrit-Change-Number: 24548 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 15:47:38 +0000 Gerrit-HasComments: 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 Jun 4 15:48:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 15:48:49 +0000 Subject: Change in osmo-bsc[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bsc/+/24551 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Use new stat item/ctr getter APIs Generated with following and similar spatch snippets: """ @@ expression E1, E2; @@ - &E2->ctr[E1] + rate_ctr_group_get_ctr(E2, E1) """ Change-Id: I0b43f922a595d694ac0aeda80107ef9bf4e755e7 --- M src/osmo-bsc/a_reset.c M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts.c M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/chan_alloc.c M src/osmo-bsc/gsm_08_08.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/lb.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lcs_loc_req.c M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_filter.c M src/osmo-bsc/osmo_bsc_main.c M src/osmo-bsc/osmo_bsc_sigtran.c M src/osmo-bsc/paging.c M src/osmo-bsc/timeslot_fsm.c 19 files changed, 179 insertions(+), 181 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/51/24551/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0b43f922a595d694ac0aeda80107ef9bf4e755e7 Gerrit-Change-Number: 24551 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 15:49:00 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Jun 2021 15:49:00 +0000 Subject: Change in osmo-bsc[master]: Make interference measurement parameters configurable In-Reply-To: References: Message-ID: Hello Jenkins Builder, neels, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24548 to look at the new patch set (#3). Change subject: Make interference measurement parameters configurable ...................................................................... Make interference measurement parameters configurable According to 3GPP TS 45.008, the BSS shall monitor the levels of interference on its IDLE traffic channels. The actual measurements are performed in the BTS and then reported to the BSC over the A-bis/RSL link(s) in RF RESource INDication messages. 3GPP TS 45.008 defines the following measurement parameters: * Intave: Interference Averaging period (see table A.1), * Interference level Boundaries (see table A.1). Both parameters are sent to the BTS over the A-bis/OML, and can now be configured via the VTY interface. Only those BTS models which 'speak' the OML protocol defined in 3GPP TS 52.021 will actually get the configured parameters, others will keep using the hard-coded parameters. Change-Id: I99ebf57aac1f3ca7e0497c3b4f6b0738c6ed7e47 Related: SYS#5313, OS#1866 --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h 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/gsm_data.c M tests/Makefile.am A tests/interf_meas.vty 8 files changed, 139 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/48/24548/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I99ebf57aac1f3ca7e0497c3b4f6b0738c6ed7e47 Gerrit-Change-Number: 24548 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 15:51:44 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Jun 2021 15:51:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Types: complete definition of RF RESOURCE INDICATION References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24552 ) Change subject: library/RSL_Types: complete definition of RF RESOURCE INDICATION ...................................................................... library/RSL_Types: complete definition of RF RESOURCE INDICATION Change-Id: If3eedfaea6de252b8dc3ca238f6ffd45448065d1 Related: SYS#5313, OS#1569, OS#1866 --- M library/RSL_Types.ttcn 1 file changed, 59 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/52/24552/1 diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index 2cbd668..16ce506 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -571,6 +571,34 @@ frame_nr := tr_RSL_IE_FrameNumber(frame_nr) } + /* 9.3.21 Resource Information */ + type record RSL_IE_ResourceInfo { + uint8_t len, + RSL_ResourceInfo info + } with { variant (len) "LENGTHTO(info)" }; + + type record of RSL_ResourceInfoItem RSL_ResourceInfo; + type record RSL_ResourceInfoItem { + RslChannelNr chan_nr, + uint3_t interf_band, + BIT5 rfu ('00000'B) + }; + + template (value) RSL_ResourceInfoItem + ts_RSL_ResourceInfoItem(template (value) RslChannelNr chan_nr, + template (value) uint3_t interf_band := 0) := { + chan_nr := chan_nr, + interf_band := interf_band, + rfu := '00000'B + } + template RSL_ResourceInfoItem + tr_RSL_ResourceInfoItem(template (present) RslChannelNr chan_nr := ?, + template (present) uint3_t interf_band := ?) := { + chan_nr := chan_nr, + interf_band := interf_band, + rfu := ? /* Tolerate unknown values */ + } + /* Osmocom Extension */ type record RSL_IE_UplinkMeasSuppMeasInfo { int16_t toa256_mean, @@ -869,6 +897,7 @@ RSL_IE_CbCommandType cb_cmd_type, RSL_LV smscb_message, RSL_IE_CbchLoadInfo cbch_load_info, + RSL_IE_ResourceInfo resource_info, RSL_SacchInfo sacch_info, RSL_IE_StartingTime starting_time, @@ -929,6 +958,7 @@ cb_cmd_type, iei = RSL_IE_CB_CMD_TYPE; smscb_message, iei = RSL_IE_SMSCB_MSG; cbch_load_info, iei = RSL_IE_CBCH_LOAD_INFO; + resource_info, iei = RSL_IE_RESOURCE_INFO; sacch_info, iei = RSL_IE_SACCH_INFO; starting_time, iei = RSL_IE_STARTNG_TIME; encr_info, iei = RSL_IE_ENCR_INFO; @@ -1778,12 +1808,6 @@ } } - template RSL_Message tr_RSL_RF_RES_IND := { - msg_disc := tr_RSL_MsgDisc(RSL_MDISC_TRX_MGMT, false), - msg_type := RSL_MT_RF_RES_IND, - ies := * - } - /* 8.5.8 BTS <- BSC SMS BROADCAST COMMAND */ template RSL_Message tr_RSL_SMSCB_CMD(template RSL_IE_CbCommandType cb_cmd := ?, template octetstring msg := ?, @@ -1856,6 +1880,35 @@ } + /* 8.6.1 BTS -> BSC */ + template (value) RSL_Message + ts_RSL_RF_RES_IND(template (value) RSL_ResourceInfo info) := { + msg_disc := ts_RSL_MsgDisc(RSL_MDISC_TRX_MGMT, false), + msg_type := RSL_MT_RF_RES_IND, + ies := { + t_RSL_IE(RSL_IE_RESOURCE_INFO, RSL_IE_Body:{ + resource_info := { + len := 0, /* overwritten */ + info := info + } + }) + } + } + template RSL_Message + tr_RSL_RF_RES_IND(template (present) RSL_ResourceInfo info := ?) := { + msg_disc := tr_RSL_MsgDisc(RSL_MDISC_TRX_MGMT, false), + msg_type := RSL_MT_RF_RES_IND, + ies := { + tr_RSL_IE(RSL_IE_Body:{ + resource_info := { + len := ?, + info := info + } + }) + } + } + + /* 8.6.2 BTS <- BSC */ template (value) RSL_Message ts_RSL_SACCH_FILL(RSL_IE_SysinfoType si_type, octetstring l3_info) := { msg_disc := ts_RSL_MsgDisc(RSL_MDISC_TRX_MGMT, false), -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If3eedfaea6de252b8dc3ca238f6ffd45448065d1 Gerrit-Change-Number: 24552 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 Jun 4 15:53:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 15:53:41 +0000 Subject: Change in libosmo-abis[master]: Use new stat item/ctr getter APIs References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24553 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Use new stat item/ctr getter APIs Generated with spatch: """ @@ expression E1, E2; @@ - &E2->ctr[E1] + rate_ctr_group_get_ctr(E2, E1) """ Change-Id: I064aae995975a379425d5f21221fa48efc6d05f9 --- M src/input/dahdi.c 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/53/24553/1 diff --git a/src/input/dahdi.c b/src/input/dahdi.c index cdaa8eb..6dee0d7 100644 --- a/src/input/dahdi.c +++ b/src/input/dahdi.c @@ -146,23 +146,23 @@ case DAHDI_EVENT_ALARM: /* we should notify the code that the line is gone */ osmo_signal_dispatch(SS_L_INPUT, S_L_INP_LINE_ALARM, &isd); - rate_ctr_inc(&line->rate_ctr->ctr[E1I_CTR_ALARM]); + rate_ctr_inc(rate_ctr_group_get_ctr(line->rate_ctr, E1I_CTR_ALARM)); break; case DAHDI_EVENT_NOALARM: /* alarm has gone, we should re-start the SABM requests */ osmo_signal_dispatch(SS_L_INPUT, S_L_INP_LINE_NOALARM, &isd); break; case DAHDI_EVENT_ABORT: - rate_ctr_inc(&line->rate_ctr->ctr[E1I_CTR_HDLC_ABORT]); + rate_ctr_inc(rate_ctr_group_get_ctr(line->rate_ctr, E1I_CTR_HDLC_ABORT)); break; case DAHDI_EVENT_OVERRUN: - rate_ctr_inc(&line->rate_ctr->ctr[E1I_CTR_HDLC_OVERR]); + rate_ctr_inc(rate_ctr_group_get_ctr(line->rate_ctr, E1I_CTR_HDLC_OVERR)); break; case DAHDI_EVENT_BADFCS: - rate_ctr_inc(&line->rate_ctr->ctr[E1I_CTR_HDLC_BADFCS]); + rate_ctr_inc(rate_ctr_group_get_ctr(line->rate_ctr, E1I_CTR_HDLC_BADFCS)); break; case DAHDI_EVENT_REMOVED: - rate_ctr_inc(&line->rate_ctr->ctr[E1I_CTR_REMOVED]); + rate_ctr_inc(rate_ctr_group_get_ctr(line->rate_ctr, E1I_CTR_REMOVED)); break; } } -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I064aae995975a379425d5f21221fa48efc6d05f9 Gerrit-Change-Number: 24553 Gerrit-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 Jun 4 15:58:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 15:58:08 +0000 Subject: Change in osmo-mgw[master]: Use new stat item/ctr getter APIs References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24554 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Use new stat item/ctr getter APIs Generated with spatch with this and similat snippets: """ @@ expression E1, E2; @@ - &E2->ctr[E1] + rate_c Change-Id: I53b75ea8a88bc1ae4ceb479ed272865054de9665 --- M src/libosmo-mgcp/mgcp_conn.c M src/libosmo-mgcp/mgcp_e1.c M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_stat.c M src/libosmo-mgcp/mgcp_vty.c M tests/mgcp/mgcp_test.c 7 files changed, 79 insertions(+), 79 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/54/24554/1 diff --git a/src/libosmo-mgcp/mgcp_conn.c b/src/libosmo-mgcp/mgcp_conn.c index 6424dcb..7988c48 100644 --- a/src/libosmo-mgcp/mgcp_conn.c +++ b/src/libosmo-mgcp/mgcp_conn.c @@ -114,8 +114,8 @@ if (!conn_rtp->rate_ctr_group) return -1; - conn_rtp->state.in_stream.err_ts_ctr = &conn_rtp->rate_ctr_group->ctr[IN_STREAM_ERR_TSTMP_CTR]; - conn_rtp->state.out_stream.err_ts_ctr = &conn_rtp->rate_ctr_group->ctr[OUT_STREAM_ERR_TSTMP_CTR]; + conn_rtp->state.in_stream.err_ts_ctr = rate_ctr_group_get_ctr(conn_rtp->rate_ctr_group, IN_STREAM_ERR_TSTMP_CTR); + conn_rtp->state.out_stream.err_ts_ctr = rate_ctr_group_get_ctr(conn_rtp->rate_ctr_group, OUT_STREAM_ERR_TSTMP_CTR); rate_ctr_index++; /* Make sure codec table is reset */ @@ -270,12 +270,12 @@ OSMO_ASSERT(conn_stats->desc->num_ctr + 1 == all_stats->desc->num_ctr); /* all other counters are [now] updated in real-time */ - rate_ctr_add(&all_stats->ctr[IN_STREAM_ERR_TSTMP_CTR], - conn_stats->ctr[IN_STREAM_ERR_TSTMP_CTR].current); - rate_ctr_add(&all_stats->ctr[OUT_STREAM_ERR_TSTMP_CTR], - conn_stats->ctr[OUT_STREAM_ERR_TSTMP_CTR].current); + rate_ctr_add(rate_ctr_group_get_ctr(all_stats, IN_STREAM_ERR_TSTMP_CTR), + rate_ctr_group_get_ctr(conn_stats, IN_STREAM_ERR_TSTMP_CTR)->current); + rate_ctr_add(rate_ctr_group_get_ctr(all_stats, OUT_STREAM_ERR_TSTMP_CTR), + rate_ctr_group_get_ctr(conn_stats, OUT_STREAM_ERR_TSTMP_CTR)->current); - rate_ctr_inc(&all_stats->ctr[RTP_NUM_CONNECTIONS]); + rate_ctr_inc(rate_ctr_group_get_ctr(all_stats, RTP_NUM_CONNECTIONS)); } /*! free a connection by its ID. diff --git a/src/libosmo-mgcp/mgcp_e1.c b/src/libosmo-mgcp/mgcp_e1.c index 7e810bc..effbe77 100644 --- a/src/libosmo-mgcp/mgcp_e1.c +++ b/src/libosmo-mgcp/mgcp_e1.c @@ -197,7 +197,7 @@ const uint8_t *ptr_ft; enum osmo_trau_frame_type ft; - rate_ctr_inc(&rate_ctrs->ctr[E1_I460_TRAU_MUX_EMPTY_CTR]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, E1_I460_TRAU_MUX_EMPTY_CTR)); /* Choose an appropiate idle frame type */ ft = endp->e1.trau_rtp_st->type; @@ -304,7 +304,7 @@ msgb_free(msg); return; skip: - rate_ctr_inc(&rate_ctrs->ctr[E1_I460_TRAU_RX_FAIL_CTR]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, E1_I460_TRAU_RX_FAIL_CTR)); msgb_free(msg); return; } @@ -679,7 +679,7 @@ return 0; skip: - rate_ctr_inc(&rate_ctrs->ctr[E1_I460_TRAU_TX_FAIL_CTR]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, E1_I460_TRAU_TX_FAIL_CTR)); msgb_free(msg_tf); return -1; } diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index e03c100..79ddf8a 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -66,8 +66,8 @@ struct rate_ctr_group *mgw_stats = endp->trunk->ratectr.all_rtp_conn_stats; /* add to both the per-connection and the global stats */ - rate_ctr_add(&conn_stats->ctr[id], inc); - rate_ctr_add(&mgw_stats->ctr[id], inc); + rate_ctr_add(rate_ctr_group_get_ctr(conn_stats, id), inc); + rate_ctr_add(rate_ctr_group_get_ctr(mgw_stats, id), inc); } static void rtpconn_rate_ctr_inc(struct mgcp_conn_rtp *conn_rtp, struct mgcp_endpoint *endp, int id) @@ -1475,8 +1475,8 @@ sizeof(struct sockaddr_in))); /* Increment RX statistics */ - rate_ctr_inc(&conn_src->rate_ctr_group->ctr[RTP_PACKETS_RX_CTR]); - rate_ctr_add(&conn_src->rate_ctr_group->ctr[RTP_OCTETS_RX_CTR], msgb_length(msg)); + rate_ctr_inc(rate_ctr_group_get_ctr(conn_src->rate_ctr_group, RTP_PACKETS_RX_CTR)); + rate_ctr_add(rate_ctr_group_get_ctr(conn_src->rate_ctr_group, RTP_OCTETS_RX_CTR), msgb_length(msg)); /* FIXME: count RTP and RTCP separately, also count IuUP payload-less separately */ /* Forward a copy of the RTP data to a debug ip/port */ diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 902c079..3014048 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -289,16 +289,16 @@ char *data; /* Count all messages, even incorect ones */ - rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_MSGS_TOTAL]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_MSGS_TOTAL)); if (msgb_l2len(msg) < 4) { LOGP(DLMGCP, LOGL_ERROR, "msg too short: %d\n", msg->len); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_FAIL_MSG_PARSE]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_FAIL_MSG_PARSE)); return NULL; } if (mgcp_msg_terminate_nul(msg)) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_FAIL_MSG_PARSE]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_FAIL_MSG_PARSE)); return NULL; } @@ -307,7 +307,7 @@ /* attempt to treat it as a response */ if (sscanf((const char *)&msg->l2h[0], "%3d %*s", &code) == 1) { LOGP(DLMGCP, LOGL_DEBUG, "Response: Code: %d\n", code); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_FAIL_MSG_PARSE]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_FAIL_MSG_PARSE)); return NULL; } @@ -323,14 +323,14 @@ if (pdata.endp && pdata.trans && pdata.endp->last_trans && strcmp(pdata.endp->last_trans, pdata.trans) == 0) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_MSGS_RETRANSMITTED]); + 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_ctrs->ctr[MGCP_GENERAL_RX_FAIL_NO_ENDPOINT]); + 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); } @@ -345,9 +345,9 @@ } if (handled) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_MSGS_HANDLED]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_MSGS_HANDLED)); } else { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_MSGS_UNHANDLED]); + 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]); } @@ -751,7 +751,7 @@ LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "CRCX: creating new connection ...\n"); if (!mgcp_endp_avail(endp)) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_AVAIL]); + 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); @@ -773,7 +773,7 @@ /* It is illegal to send a connection identifier * together with a CRCX, the MGW will assign the * connection identifier by itself on CRCX */ - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_BAD_ACTION]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_BAD_ACTION)); return create_err_response(NULL, 523, "CRCX", p->trans); break; case 'M': @@ -799,7 +799,7 @@ default: LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "CRCX: unhandled option: '%c'/%d\n", *line, *line); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_UNHANDLED_PARAM]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_UNHANDLED_PARAM)); return create_err_response(NULL, 539, "CRCX", p->trans); break; } @@ -810,14 +810,14 @@ if (!callid) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "CRCX: insufficient parameters, missing callid\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_MISSING_CALLID]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_MISSING_CALLID)); return create_err_response(endp, 516, "CRCX", p->trans); } if (!mode) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "CRCX: insufficient parameters, missing mode\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_INVALID_MODE]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_INVALID_MODE)); return create_err_response(endp, 517, "CRCX", p->trans); } @@ -834,7 +834,7 @@ } else { /* There is no more room for a connection, leave * everything as it is and return with an error */ - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_LIMIT_EXCEEDED]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_LIMIT_EXCEEDED)); return create_err_response(endp, 540, "CRCX", p->trans); } } @@ -852,7 +852,7 @@ else { /* This is not our call, leave everything as it is and * return with an error. */ - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_UNKNOWN_CALLID]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_UNKNOWN_CALLID)); return create_err_response(endp, 400, "CRCX", p->trans); } } @@ -863,7 +863,7 @@ * the callid matches up (see above). */ rc = mgcp_endp_claim(endp, callid); if (rc != 0) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_CLAIM]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_CLAIM)); return create_err_response(endp, 502, "CRCX", p->trans); } } @@ -873,7 +873,7 @@ if (!_conn) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "CRCX: unable to allocate RTP connection\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_ALLOC_CONN]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_ALLOC_CONN)); goto error2; } @@ -883,7 +883,7 @@ if (mgcp_parse_conn_mode(mode, endp, conn->conn) != 0) { error_code = 517; - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_INVALID_MODE]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_INVALID_MODE)); goto error2; } @@ -893,13 +893,13 @@ if (osmux_cid >= -1) { /* -1 is wilcard, alloc next avail CID */ conn->osmux.state = OSMUX_STATE_ACTIVATING; if (conn_osmux_allocate_cid(conn, osmux_cid) == -1) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_NO_OSMUX]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_NO_OSMUX)); goto error2; } } else if (endp->cfg->osmux == OSMUX_USAGE_ONLY) { LOGPCONN(_conn, DLMGCP, LOGL_ERROR, "CRCX: osmux only and no osmux offered\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_NO_OSMUX]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_NO_OSMUX)); goto error2; } @@ -911,7 +911,7 @@ LOGPCONN(_conn, DLMGCP, LOGL_ERROR, "CRCX: inavlid local connection options!\n"); error_code = rc; - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_INVALID_CONN_OPTIONS]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_INVALID_CONN_OPTIONS)); goto error2; } } @@ -921,7 +921,7 @@ mgcp_codec_summary(conn); if (rc) { error_code = rc; - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_CODEC_NEGOTIATION]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_CODEC_NEGOTIATION)); goto error2; } @@ -942,7 +942,7 @@ LOGPCONN(_conn, DLMGCP, LOGL_ERROR, "CRCX: selected connection mode type requires an opposite end!\n"); error_code = 527; - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_NO_REMOTE_CONN_DESC]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_NO_REMOTE_CONN_DESC)); goto error2; } @@ -950,14 +950,14 @@ information, then find a free port for it */ mgcp_get_local_addr(conn->end.local_addr, conn); if (allocate_port(endp, conn) != 0) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_BIND_PORT]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_BIND_PORT)); goto error2; } if (setup_rtp_processing(endp, conn) != 0) { LOGPCONN(_conn, DLMGCP, LOGL_ERROR, "CRCX: could not start RTP processing!\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_START_RTP]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_START_RTP)); goto error2; } @@ -970,7 +970,7 @@ LOGPCONN(_conn, DLMGCP, LOGL_NOTICE, "CRCX: CRCX rejected by policy\n"); mgcp_endp_release(endp); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_REJECTED_BY_POLICY]); + 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); break; case MGCP_POLICY_DEFER: @@ -996,7 +996,7 @@ LOGPCONN(_conn, DLMGCP, LOGL_NOTICE, "CRCX: connection successfully created\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_SUCCESS]); + 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); error2: @@ -1026,7 +1026,7 @@ LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "MDCX: modifying existing connection ...\n"); if (!mgcp_endp_avail(endp)) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_AVAIL]); + 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); @@ -1036,14 +1036,14 @@ if (endp->wildcarded_req) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "MDCX: wildcarded endpoint names not supported.\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_WILDCARD]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_WILDCARD)); return create_err_response(endp, 507, "MDCX", p->trans); } if (llist_count(&endp->conns) <= 0) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "MDCX: endpoint is not holding a connection.\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_NO_CONN]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_NO_CONN)); return create_err_response(endp, 400, "MDCX", p->trans); } @@ -1054,7 +1054,7 @@ switch (toupper(line[0])) { case 'C': if (mgcp_verify_call_id(endp, line + 3) != 0) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_INVALID_CALLID]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_INVALID_CALLID)); error_code = 516; goto error3; } @@ -1062,7 +1062,7 @@ case 'I': conn_id = (const char *)line + 3; if ((error_code = mgcp_verify_ci(endp, conn_id))) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_INVALID_CONNID]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_INVALID_CONNID)); goto error3; } break; @@ -1093,7 +1093,7 @@ LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "MDCX: Unhandled MGCP option: '%c'/%d\n", line[0], line[0]); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_UNHANDLED_PARAM]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_UNHANDLED_PARAM)); return create_err_response(NULL, 539, "MDCX", p->trans); break; } @@ -1103,13 +1103,13 @@ if (!conn_id) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "MDCX: insufficient parameters, missing ci (connectionIdentifier)\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_NO_CONNID]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_NO_CONNID)); return create_err_response(endp, 515, "MDCX", p->trans); } conn = mgcp_conn_get_rtp(endp, conn_id); if (!conn) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_CONN_NOT_FOUND]); + 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); } @@ -1117,7 +1117,7 @@ if (mode) { if (mgcp_parse_conn_mode(mode, endp, conn->conn) != 0) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_INVALID_MODE]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_INVALID_MODE)); error_code = 517; goto error3; } @@ -1132,7 +1132,7 @@ LOGPCONN(conn->conn, DLMGCP, LOGL_ERROR, "MDCX: invalid local connection options!\n"); error_code = rc; - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_INVALID_CONN_OPTIONS]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_INVALID_CONN_OPTIONS)); goto error3; } } @@ -1152,7 +1152,7 @@ LOGPCONN(conn->conn, DLMGCP, LOGL_ERROR, "MDCX: selected connection mode type requires an opposite end!\n"); error_code = 527; - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_NO_REMOTE_CONN_DESC]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_NO_REMOTE_CONN_DESC)); goto error3; } @@ -1185,13 +1185,13 @@ osmo_strlcpy(conn->end.local_addr, new_local_addr, sizeof(conn->end.local_addr)); mgcp_free_rtp_port(&conn->end); if (allocate_port(endp, conn) != 0) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_BIND_PORT]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_BIND_PORT)); goto error3; } } if (setup_rtp_processing(endp, conn) != 0) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_START_RTP]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_START_RTP)); goto error3; } @@ -1204,7 +1204,7 @@ case MGCP_POLICY_REJECT: LOGPCONN(conn->conn, DLMGCP, LOGL_NOTICE, "MDCX: rejected by policy\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_REJECTED_BY_POLICY]); + 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); @@ -1213,7 +1213,7 @@ /* stop processing */ LOGPCONN(conn->conn, DLMGCP, LOGL_DEBUG, "MDCX: deferred by policy\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_DEFERRED_BY_POLICY]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_DEFERRED_BY_POLICY)); return NULL; break; case MGCP_POLICY_CONT: @@ -1236,7 +1236,7 @@ && endp->trunk->keepalive_interval != MGCP_KEEPALIVE_NEVER) send_dummy(endp, conn); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_SUCCESS]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_SUCCESS)); if (silent) goto out_silent; @@ -1268,7 +1268,7 @@ "DLCX: deleting connection ...\n"); if (!mgcp_endp_avail(endp)) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_DLCX_FAIL_AVAIL]); + 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); @@ -1278,14 +1278,14 @@ if (endp->wildcarded_req) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "DLCX: wildcarded endpoint names not supported.\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_DLCX_FAIL_WILDCARD]); + 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) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "DLCX: endpoint is not holding a connection.\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_DLCX_FAIL_NO_CONN]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_NO_CONN)); return create_err_response(endp, 515, "DLCX", p->trans); } @@ -1297,14 +1297,14 @@ case 'C': if (mgcp_verify_call_id(endp, line + 3) != 0) { error_code = 516; - rate_ctr_inc(&rate_ctrs->ctr[MGCP_DLCX_FAIL_INVALID_CALLID]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_INVALID_CALLID)); goto error3; } break; case 'I': conn_id = (const char *)line + 3; if ((error_code = mgcp_verify_ci(endp, conn_id))) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_DLCX_FAIL_INVALID_CONNID]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_INVALID_CONNID)); goto error3; } break; @@ -1315,7 +1315,7 @@ LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "DLCX: Unhandled MGCP option: '%c'/%d\n", line[0], line[0]); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_DLCX_FAIL_UNHANDLED_PARAM]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_UNHANDLED_PARAM)); return create_err_response(NULL, 539, "DLCX", p->trans); break; } @@ -1328,14 +1328,14 @@ switch (rc) { case MGCP_POLICY_REJECT: LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "DLCX: rejected by policy\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_DLCX_FAIL_REJECTED_BY_POLICY]); + 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); break; case MGCP_POLICY_DEFER: /* stop processing */ - rate_ctr_inc(&rate_ctrs->ctr[MGCP_DLCX_DEFERRED_BY_POLICY]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_DEFERRED_BY_POLICY)); return NULL; break; case MGCP_POLICY_CONT: @@ -1354,7 +1354,7 @@ num_conns); if (num_conns > 0) - rate_ctr_add(&rate_ctrs->ctr[MGCP_DLCX_SUCCESS], num_conns); + rate_ctr_add(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_SUCCESS), num_conns); mgcp_endp_release(endp); @@ -1367,7 +1367,7 @@ /* Find the connection */ conn = mgcp_conn_get_rtp(endp, conn_id); if (!conn) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_DLCX_FAIL_INVALID_CONNID]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_INVALID_CONNID)); goto error3; } /* save the statistics of the current connection */ @@ -1390,7 +1390,7 @@ if (p->cfg->change_cb) p->cfg->change_cb(endp, MGCP_ENDP_DLCX); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_DLCX_SUCCESS]); + 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); diff --git a/src/libosmo-mgcp/mgcp_stat.c b/src/libosmo-mgcp/mgcp_stat.c index 2e74238..89891b5 100644 --- a/src/libosmo-mgcp/mgcp_stat.c +++ b/src/libosmo-mgcp/mgcp_stat.c @@ -33,7 +33,7 @@ void calc_loss(struct mgcp_conn_rtp *conn, uint32_t *expected, int *loss) { struct mgcp_rtp_state *state = &conn->state; - struct rate_ctr *packets_rx = &conn->rate_ctr_group->ctr[RTP_PACKETS_RX_CTR]; + struct rate_ctr *packets_rx = rate_ctr_group_get_ctr(conn->rate_ctr_group, RTP_PACKETS_RX_CTR); *expected = state->stats.cycles + state->stats.max_seq; *expected = *expected - state->stats.base_seq + 1; @@ -74,10 +74,10 @@ int ploss; int nchars; - struct rate_ctr *packets_rx = &conn->rate_ctr_group->ctr[RTP_PACKETS_RX_CTR]; - struct rate_ctr *octets_rx = &conn->rate_ctr_group->ctr[RTP_OCTETS_RX_CTR]; - struct rate_ctr *packets_tx = &conn->rate_ctr_group->ctr[RTP_PACKETS_TX_CTR]; - struct rate_ctr *octets_tx = &conn->rate_ctr_group->ctr[RTP_OCTETS_TX_CTR]; + struct rate_ctr *packets_rx = rate_ctr_group_get_ctr(conn->rate_ctr_group, RTP_PACKETS_RX_CTR); + struct rate_ctr *octets_rx = rate_ctr_group_get_ctr(conn->rate_ctr_group, RTP_OCTETS_RX_CTR); + struct rate_ctr *packets_tx = rate_ctr_group_get_ctr(conn->rate_ctr_group, RTP_PACKETS_TX_CTR); + struct rate_ctr *octets_tx = rate_ctr_group_get_ctr(conn->rate_ctr_group, RTP_OCTETS_TX_CTR); calc_loss(conn, &expected, &ploss); jitter = calc_jitter(&conn->state); diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index 5892df1..369c1c1 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -169,11 +169,11 @@ struct rate_ctr *rx_packets, *rx_bytes; struct rate_ctr *dropped_packets; - tx_packets = &conn->rate_ctr_group->ctr[RTP_PACKETS_TX_CTR]; - tx_bytes = &conn->rate_ctr_group->ctr[RTP_OCTETS_TX_CTR]; - rx_packets = &conn->rate_ctr_group->ctr[RTP_PACKETS_RX_CTR]; - rx_bytes = &conn->rate_ctr_group->ctr[RTP_OCTETS_RX_CTR]; - dropped_packets = &conn->rate_ctr_group->ctr[RTP_DROPPED_PACKETS_CTR]; + tx_packets = rate_ctr_group_get_ctr(conn->rate_ctr_group, RTP_PACKETS_TX_CTR); + tx_bytes = rate_ctr_group_get_ctr(conn->rate_ctr_group, RTP_OCTETS_TX_CTR); + rx_packets = rate_ctr_group_get_ctr(conn->rate_ctr_group, RTP_PACKETS_RX_CTR); + rx_bytes = rate_ctr_group_get_ctr(conn->rate_ctr_group, RTP_OCTETS_RX_CTR); + dropped_packets = rate_ctr_group_get_ctr(conn->rate_ctr_group, RTP_DROPPED_PACKETS_CTR); vty_out(vty, " Packets Sent: %" PRIu64 " (%" PRIu64 " bytes total)%s" diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index 620b0d1..74ecfe8 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -1071,7 +1071,7 @@ "test-connection"); conn = mgcp_conn_get_rtp(&endp, _conn->id); state = &conn->state; - packets_rx = &conn->rate_ctr_group->ctr[RTP_PACKETS_RX_CTR]; + packets_rx = rate_ctr_group_get_ctr(conn->rate_ctr_group, RTP_PACKETS_RX_CTR); state->stats.initialized = 1; state->stats.base_seq = pl_test_dat[i].base_seq; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I53b75ea8a88bc1ae4ceb479ed272865054de9665 Gerrit-Change-Number: 24554 Gerrit-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 Jun 4 15:59:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 15:59:53 +0000 Subject: Change in osmo-bts[master]: Use new stat item/ctr getter APIs References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24555 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Use new stat item/ctr getter APIs Generated with spatch: """ @@ expression E1, E2; @@ - &E2->ctr[E1] + rate_ctr_group_get_ctr(E2, E1) """ Change-Id: I9b8e31adcbb3142d3d09f1f0e0ae7e435bb2c5ca --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/55/24555/1 diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index fa5c719..4a23f11 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -88,7 +88,7 @@ br->fn, br->tn, SCHED_FH_PARAMS_VALS(ts)); struct bts_trx_priv *priv = (struct bts_trx_priv *) ts->trx->bts->model_priv; - rate_ctr_inc(&priv->ctrs->ctr[BTSTRX_CTR_SCHED_DL_FH_NO_CARRIER]); + rate_ctr_inc(rate_ctr_group_get_ctr(priv->ctrs, BTSTRX_CTR_SCHED_DL_FH_NO_CARRIER)); return NULL; } @@ -227,7 +227,7 @@ bi->fn, bi->tn, SCHED_FH_PARAMS_VALS(&src_trx->ts[bi->tn])); struct bts_trx_priv *priv = (struct bts_trx_priv *) src_trx->bts->model_priv; - rate_ctr_inc(&priv->ctrs->ctr[BTSTRX_CTR_SCHED_UL_FH_NO_CARRIER]); + rate_ctr_inc(rate_ctr_group_get_ctr(priv->ctrs, BTSTRX_CTR_SCHED_UL_FH_NO_CARRIER)); return NULL; } @@ -299,7 +299,7 @@ if (expire_count > 1) { LOGP(DL1C, LOGL_NOTICE, "FN timer expire_count=%"PRIu64": We missed %"PRIu64" timers\n", expire_count, expire_count - 1); - rate_ctr_add(&bts_trx->ctrs->ctr[BTSTRX_CTR_SCHED_DL_MISS_FN], expire_count - 1); + rate_ctr_add(rate_ctr_group_get_ctr(bts_trx->ctrs, BTSTRX_CTR_SCHED_DL_MISS_FN), expire_count - 1); } /* check if transceiver is still alive */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24555 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9b8e31adcbb3142d3d09f1f0e0ae7e435bb2c5ca Gerrit-Change-Number: 24555 Gerrit-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 Jun 4 16:01:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 16:01:17 +0000 Subject: Change in osmo-pcap[master]: Use new stat item/ctr getter APIs References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcap/+/24556 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Use new stat item/ctr getter APIs Generated with spatch: """ @@ expression E1, E2; @@ - &E2->ctr[E1] + rate_ctr_group_get_ctr(E2, E1) """ Change-Id: Ic860db04489e9ee7312edb008497186116f30bfc --- M src/osmo_client_core.c M src/osmo_client_network.c M src/osmo_server_network.c 3 files changed, 21 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcap refs/changes/56/24556/1 diff --git a/src/osmo_client_core.c b/src/osmo_client_core.c index 025e3a4..59a6777 100644 --- a/src/osmo_client_core.c +++ b/src/osmo_client_core.c @@ -161,7 +161,7 @@ data = pcap_next(client->handle, &hdr); if (!data) { - rate_ctr_inc(&client->ctrg->ctr[CLIENT_CTR_PERR]); + rate_ctr_inc(rate_ctr_group_get_ctr(client->ctrg, CLIENT_CTR_PERR)); return -1; } @@ -190,14 +190,14 @@ * Only issue is we don't know sizeof(u_int) */ if (*old_val > new_val) { - rate_ctr_add(&client->ctrg->ctr[ctr], P_CAP_UINT_MAX() - *old_val); - rate_ctr_add(&client->ctrg->ctr[ctr], new_val); + rate_ctr_add(rate_ctr_group_get_ctr(client->ctrg, ctr), P_CAP_UINT_MAX() - *old_val); + rate_ctr_add(rate_ctr_group_get_ctr(client->ctrg, ctr), new_val); *old_val = new_val; return; } /* Just increment it */ - rate_ctr_add(&client->ctrg->ctr[ctr], new_val - *old_val); + rate_ctr_add(rate_ctr_group_get_ctr(client->ctrg, ctr), new_val - *old_val); *old_val = new_val; } @@ -215,7 +215,7 @@ if (rc != 0) { LOGP(DCLIENT, LOGL_ERROR, "Failed to query pcap stats: %s\n", pcap_geterr(client->handle)); - rate_ctr_inc(&client->ctrg->ctr[CLIENT_CTR_PERR]); + rate_ctr_inc(rate_ctr_group_get_ctr(client->ctrg, CLIENT_CTR_PERR)); return; } diff --git a/src/osmo_client_network.c b/src/osmo_client_network.c index e5616af..a36a285 100644 --- a/src/osmo_client_network.c +++ b/src/osmo_client_network.c @@ -60,7 +60,7 @@ { if (osmo_wqueue_enqueue_quiet(&conn->wqueue, msg) != 0) { LOGP(DCLIENT, LOGL_ERROR, "Failed to enqueue conn=%s\n", conn->name); - rate_ctr_inc(&conn->client->ctrg->ctr[CLIENT_CTR_QERR]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->client->ctrg, CLIENT_CTR_QERR)); msgb_free(msg); return; } @@ -92,7 +92,7 @@ struct osmo_pcap_client_conn *conn = fd->data; LOGP(DCLIENT, LOGL_ERROR, "Lost connection on write to %s %s:%d.\n", conn->name, conn->srv_ip, conn->srv_port); - rate_ctr_inc(&conn->client->ctrg->ctr[CLIENT_CTR_WERR]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->client->ctrg, CLIENT_CTR_WERR)); lost_connection(conn); return -1; } @@ -173,13 +173,13 @@ LOGP(DCLIENT, LOGL_ERROR, "Recording truncated packet, len %zu > snaplen %zu\n", (size_t) in_hdr->len, (size_t) in_hdr->caplen); - rate_ctr_inc(&conn->client->ctrg->ctr[CLIENT_CTR_2BIG]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->client->ctrg, CLIENT_CTR_2BIG)); } msg = msgb_alloc(in_hdr->caplen + sizeof(*om_hdr) + sizeof(*hdr), "data-data"); if (!msg) { LOGP(DCLIENT, LOGL_ERROR, "Failed to allocate.\n"); - rate_ctr_inc(&conn->client->ctrg->ctr[CLIENT_CTR_NOMEM]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->client->ctrg, CLIENT_CTR_NOMEM)); return; } @@ -199,8 +199,8 @@ memcpy(msg->l3h, data, in_hdr->caplen); om_hdr->len = htons(msgb_l2len(msg)); - rate_ctr_add(&conn->client->ctrg->ctr[CLIENT_CTR_BYTES], hdr->caplen); - rate_ctr_inc(&conn->client->ctrg->ctr[CLIENT_CTR_PKTS]); + rate_ctr_add(rate_ctr_group_get_ctr(conn->client->ctrg, CLIENT_CTR_BYTES), hdr->caplen); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->client->ctrg, CLIENT_CTR_PKTS)); break; case PROTOCOL_IPIP: offset = get_iphdr_offset(pcap_datalink(conn->client->handle)); @@ -305,7 +305,7 @@ osmo_fd_setup(&conn->wqueue.bfd, rc, when, conn_cb, conn, 0); osmo_fd_register(&conn->wqueue.bfd); - rate_ctr_inc(&conn->client->ctrg->ctr[CLIENT_CTR_CONNECT]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->client->ctrg, CLIENT_CTR_CONNECT)); } void osmo_client_reconnect(struct osmo_pcap_client_conn *conn) diff --git a/src/osmo_server_network.c b/src/osmo_server_network.c index 164b161..47ede72 100644 --- a/src/osmo_server_network.c +++ b/src/osmo_server_network.c @@ -120,8 +120,8 @@ if (conn->curr_filename) { client_event(conn, "closingtracefile", conn->curr_filename); - rate_ctr_inc(&conn->ctrg->ctr[PEER_CTR_PROTATE]); - rate_ctr_inc(&conn->server->ctrg->ctr[SERVER_CTR_PROTATE]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->ctrg, PEER_CTR_PROTATE)); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->server->ctrg, SERVER_CTR_PROTATE)); talloc_free(conn->curr_filename); conn->curr_filename = NULL; } @@ -422,12 +422,12 @@ conn->pend = sizeof(*conn->data); /* count the full packet we got */ - rate_ctr_inc(&conn->ctrg->ctr[PEER_CTR_PKTS]); - rate_ctr_inc(&conn->server->ctrg->ctr[SERVER_CTR_PKTS]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->ctrg, PEER_CTR_PKTS)); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->server->ctrg, SERVER_CTR_PKTS)); /* count the bytes of it */ - rate_ctr_add(&conn->ctrg->ctr[PEER_CTR_BYTES], conn->data->len); - rate_ctr_add(&conn->server->ctrg->ctr[SERVER_CTR_BYTES], conn->data->len); + rate_ctr_add(rate_ctr_group_get_ctr(conn->ctrg, PEER_CTR_BYTES), conn->data->len); + rate_ctr_add(rate_ctr_group_get_ctr(conn->server->ctrg, SERVER_CTR_BYTES), conn->data->len); switch (conn->data->type) { case PKT_LINK_HDR: @@ -520,7 +520,7 @@ return; } - rate_ctr_inc(&client->ctrg->ctr[PEER_CTR_CONNECT]); + rate_ctr_inc(rate_ctr_group_get_ctr(client->ctrg, PEER_CTR_CONNECT)); client->state = STATE_INITIAL; client->pend = sizeof(*client->data); @@ -565,7 +565,7 @@ server = fd->data; /* count any accept to see no clients */ - rate_ctr_inc(&server->ctrg->ctr[SERVER_CTR_CONNECT]); + rate_ctr_inc(rate_ctr_group_get_ctr(server->ctrg, SERVER_CTR_CONNECT)); llist_for_each_entry(conn, &server->conn, entry) { if (conn->remote_addr.s_addr == addr.sin_addr.s_addr) { @@ -577,7 +577,7 @@ } } - rate_ctr_inc(&server->ctrg->ctr[SERVER_CTR_NOCLIENT]); + rate_ctr_inc(rate_ctr_group_get_ctr(server->ctrg, SERVER_CTR_NOCLIENT)); /* * TODO: In the future start with a tls handshake and see if we know -- To view, visit https://gerrit.osmocom.org/c/osmo-pcap/+/24556 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcap Gerrit-Branch: master Gerrit-Change-Id: Ic860db04489e9ee7312edb008497186116f30bfc Gerrit-Change-Number: 24556 Gerrit-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 Jun 4 16:04:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 16:04:11 +0000 Subject: Change in osmo-gbproxy[master]: Use new stat item/ctr getter APIs References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24557 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Use new stat item/ctr getter APIs Generated with spatch: """ @@ expression E1, E2; @@ - &E2->ctr[E1] + rate_ctr_group_get_ctr(E2, E1) """ Change-Id: Ibc17979c171b6efa522cfd80fddf3f3c593dbd0b --- M src/gb_proxy.c 1 file changed, 17 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/57/24557/1 diff --git a/src/gb_proxy.c b/src/gb_proxy.c index b8bbc9a..8c8faf7 100644 --- a/src/gb_proxy.c +++ b/src/gb_proxy.c @@ -145,7 +145,7 @@ PRIM_OP_REQUEST, msg); rc = gprs_ns2_recv_prim(nsi, &nsp.oph); if (rc < 0) - rate_ctr_inc(&cfg->ctrg->ctr[GBPROX_GLOB_CTR_TX_ERR_SGSN]); + rate_ctr_inc(rate_ctr_group_get_ctr(cfg->ctrg, GBPROX_GLOB_CTR_TX_ERR_SGSN)); return rc; } #endif @@ -221,7 +221,7 @@ rc = bssgp2_nsi_tx_ptp(nsi, nse->nsei, ns_bvci, msg, tlli); /* FIXME: We need a counter group for gbproxy_nse */ //if (rc < 0) - // rate_ctr_inc(&bvc->ctrg->ctr[GBPROX_PEER_CTR_TX_ERR]); + // rate_ctr_inc(rate_ctr_group_get_ctr(bvc->ctrg, GBPROX_PEER_CTR_TX_ERR)); return rc; } @@ -236,7 +236,7 @@ rc = gbprox_relay2nse(old_msg, nse, ns_bvci); if (rc < 0) - rate_ctr_inc(&bvc->ctrg->ctr[GBPROX_PEER_CTR_TX_ERR]); + rate_ctr_inc(rate_ctr_group_get_ctr(bvc->ctrg, GBPROX_PEER_CTR_TX_ERR)); return rc; } @@ -434,7 +434,7 @@ msgb_bssgp_len(msg) - sizeof(*bgph), 0, 0, DGPRS, log_pfx); } if (rc < 0) { - rate_ctr_inc(&nse->cfg->ctrg->ctr[GBPROX_GLOB_CTR_PROTO_ERR_BSS]); + rate_ctr_inc(rate_ctr_group_get_ctr(nse->cfg->ctrg, GBPROX_GLOB_CTR_PROTO_ERR_BSS)); return tx_status_from_tlvp(nse, rc, msg); } /* hack to get both msg + tlv_parsed passed via osmo_fsm_inst_dispatch */ @@ -540,13 +540,13 @@ if (!sgsn_bvc) { LOGP(DGPRS, LOGL_NOTICE, "%s %s - Didn't find BVC for for PTP message, discarding\n", log_pfx, pdut_name); - rate_ctr_inc(&nse->cfg->ctrg-> ctr[GBPROX_GLOB_CTR_INV_BVCI]); + rate_ctr_inc(rate_ctr_group_get_ctr(nse->cfg->ctrg, GBPROX_GLOB_CTR_INV_BVCI)); return tx_status(nse, ns_bvci, BSSGP_CAUSE_UNKNOWN_BVCI, &ns_bvci, msg); } if (!bssgp_bvc_fsm_is_unblocked(sgsn_bvc->fi)) { LOGPBVC(sgsn_bvc, LOGL_NOTICE, "Rx %s: Dropping on blocked BVC\n", pdut_name); - rate_ctr_inc(&sgsn_bvc->ctrg->ctr[GBPROX_PEER_CTR_DROPPED]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn_bvc->ctrg, GBPROX_PEER_CTR_DROPPED)); return tx_status(nse, ns_bvci, BSSGP_CAUSE_BVCI_BLOCKED, &ns_bvci, msg); } @@ -566,7 +566,7 @@ msgb_bssgp_len(msg) - sizeof(*bgph), 0, 0, DGPRS, log_pfx); } if (rc < 0) { - rate_ctr_inc(&nse->cfg->ctrg->ctr[GBPROX_GLOB_CTR_PROTO_ERR_BSS]); + rate_ctr_inc(rate_ctr_group_get_ctr(nse->cfg->ctrg, GBPROX_GLOB_CTR_PROTO_ERR_BSS)); return tx_status_from_tlvp(nse, rc, msg); } /* hack to get both msg + tlv_parsed passed via osmo_fsm_inst_dispatch */ @@ -1024,7 +1024,7 @@ rc = osmo_tlv_prot_parse(&osmo_pdef_bssgp, tp, ARRAY_SIZE(tp), pdu_type, bgph->data, data_len, 0, 0, DGPRS, log_pfx); if (rc < 0) { - rate_ctr_inc(&nse->cfg->ctrg->ctr[GBPROX_GLOB_CTR_PROTO_ERR_BSS]); + rate_ctr_inc(rate_ctr_group_get_ctr(nse->cfg->ctrg, GBPROX_GLOB_CTR_PROTO_ERR_BSS)); return tx_status_from_tlvp(nse, rc, msg); } /* hack to get both msg + tlv_parsed passed via osmo_fsm_inst_dispatch */ @@ -1122,7 +1122,7 @@ return rc; err_no_bvc: LOGPNSE(nse, LOGL_ERROR, "Rx %s: cannot find BVC for BVCI=%05u\n", pdut_name, ptp_bvci); - rate_ctr_inc(&nse->cfg->ctrg->ctr[GBPROX_GLOB_CTR_INV_NSEI]); + rate_ctr_inc(rate_ctr_group_get_ctr(nse->cfg->ctrg, GBPROX_GLOB_CTR_INV_NSEI)); return tx_status(nse, ns_bvci, BSSGP_CAUSE_INV_MAND_INF, NULL, msg); } @@ -1144,7 +1144,7 @@ if (!sgsn_bvc) { LOGPNSE(sgsn_nse, LOGL_NOTICE, "Rx %s: unable to route: BVCI=%05u unknown\n", pdut_name, bvci); - rate_ctr_inc(&cfg->ctrg->ctr[errctr]); + rate_ctr_inc(rate_ctr_group_get_ctr(cfg->ctrg, errctr)); return -EINVAL; } LOGPBVC(sgsn_bvc, LOGL_INFO, "Rx %s: routing by BVCI\n", pdut_name); @@ -1196,12 +1196,12 @@ } } else { LOGPNSE(sgsn_nse, LOGL_ERROR, "BSSGP PAGING: unable to route, missing IE\n"); - rate_ctr_inc(&cfg->ctrg->ctr[errctr]); + rate_ctr_inc(rate_ctr_group_get_ctr(cfg->ctrg, errctr)); } if (n_nses == 0) { LOGPNSE(sgsn_nse, LOGL_ERROR, "BSSGP PAGING: unable to route, no destination found\n"); - rate_ctr_inc(&cfg->ctrg->ctr[errctr]); + rate_ctr_inc(rate_ctr_group_get_ctr(cfg->ctrg, errctr)); return -EINVAL; } return 0; @@ -1224,7 +1224,7 @@ from_bvc = gbproxy_bvc_by_bvci(nse, ptp_bvci); if (!from_bvc) { LOGPNSE(nse, LOGL_ERROR, "Rx BVC-RESET BVCI=%05u: Cannot find BVC\n", ptp_bvci); - rate_ctr_inc(&nse->cfg->ctrg->ctr[GBPROX_GLOB_CTR_INV_BVCI]); + rate_ctr_inc(rate_ctr_group_get_ctr(nse->cfg->ctrg, GBPROX_GLOB_CTR_INV_BVCI)); return tx_status(nse, ns_bvci, BSSGP_CAUSE_UNKNOWN_BVCI, &ptp_bvci, msg); } osmo_fsm_inst_dispatch(from_bvc->fi, BSSGP_BVCFSM_E_RX_RESET, msg); @@ -1332,7 +1332,7 @@ DGPRS, log_pfx); if (rc < 0) { rc = tx_status_from_tlvp(nse, rc, msg); - rate_ctr_inc(&cfg->ctrg->ctr[GBPROX_GLOB_CTR_PROTO_ERR_SGSN]); + rate_ctr_inc(rate_ctr_group_get_ctr(cfg->ctrg, GBPROX_GLOB_CTR_PROTO_ERR_SGSN)); return rc; } /* hack to get both msg + tlv_parsed passed via osmo_fsm_inst_dispatch */ @@ -1446,7 +1446,7 @@ break; default: LOGPNSE(nse, LOGL_NOTICE, "Rx %s: Not supported\n", pdut_name); - rate_ctr_inc(&cfg->ctrg->ctr[GBPROX_GLOB_CTR_PROTO_ERR_SGSN]); + rate_ctr_inc(rate_ctr_group_get_ctr(cfg->ctrg, GBPROX_GLOB_CTR_PROTO_ERR_SGSN)); rc = tx_status(nse, ns_bvci, BSSGP_CAUSE_PROTO_ERR_UNSPEC, NULL, msg); break; } @@ -1455,7 +1455,7 @@ err_no_bvc: LOGPNSE(nse, LOGL_ERROR, "Rx %s: Cannot find BVC\n", pdut_name); - rate_ctr_inc(&cfg->ctrg-> ctr[GBPROX_GLOB_CTR_INV_RAI]); + rate_ctr_inc(rate_ctr_group_get_ctr(cfg->ctrg, GBPROX_GLOB_CTR_INV_RAI)); return tx_status(nse, ns_bvci, BSSGP_CAUSE_INV_MAND_INF, NULL, msg); } @@ -1571,8 +1571,7 @@ continue; gbproxy_bvc_free(bvc); } - rate_ctr_inc(&cfg->ctrg-> - ctr[GBPROX_GLOB_CTR_RESTART_RESET_SGSN]); + rate_ctr_inc(rate_ctr_group_get_ctr(cfg->ctrg, GBPROX_GLOB_CTR_RESTART_RESET_SGSN)); } else { /* BSS became unavailable * Block matching PtP-BVCs on SGSN-side */ -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24557 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Ibc17979c171b6efa522cfd80fddf3f3c593dbd0b Gerrit-Change-Number: 24557 Gerrit-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 Jun 4 16:05:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 16:05:59 +0000 Subject: Change in osmo-e1d[master]: Use new stat item/ctr getter APIs References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-e1d/+/24558 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Use new stat item/ctr getter APIs Change-Id: Ib1bf9a6e5d2743522f888e7ef4815283b82ef809 --- M src/e1d.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-e1d refs/changes/58/24558/1 diff --git a/src/e1d.h b/src/e1d.h index 70bca38..e824f8f 100644 --- a/src/e1d.h +++ b/src/e1d.h @@ -35,7 +35,7 @@ LINE_NODE }; -#define line_ctr_add(line, idx, add) rate_ctr_add(&(line)->ctrs->ctr[idx], add) +#define line_ctr_add(line, idx, add) rate_ctr_add(rate_ctr_group_get_ctr((line)->ctrs, idx), add) enum e1d_line_ctr { LINE_CTR_LOS, -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/24558 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: Ib1bf9a6e5d2743522f888e7ef4815283b82ef809 Gerrit-Change-Number: 24558 Gerrit-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 Jun 4 16:05:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 16:05:59 +0000 Subject: Change in osmo-e1d[master]: gitignore: Add configure~ References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-e1d/+/24559 ) Change subject: gitignore: Add configure~ ...................................................................... gitignore: Add configure~ Change-Id: Iadcf4db79eef567781459cee5e7487984f3cfc54 --- M .gitignore 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-e1d refs/changes/59/24559/1 diff --git a/.gitignore b/.gitignore index 3e31435..7816fd5 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ autom4te.cache compile configure +configure~ depcomp install-sh libtool -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/24559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: Iadcf4db79eef567781459cee5e7487984f3cfc54 Gerrit-Change-Number: 24559 Gerrit-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 Jun 4 16:07:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 16:07:16 +0000 Subject: Change in osmo-smlc[master]: Use new stat item/ctr getter APIs References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-smlc/+/24560 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Use new stat item/ctr getter APIs Generated with spatch: """ @@ expression E1, E2; @@ - &E2->ctr[E1] + rate_ctr_group_get_ctr(E2, E1) """ Change-Id: I594c08b8fe0ed54a31353d8c6c911cc7293ae7c0 --- M src/osmo-smlc/sccp_lb_inst.c M src/osmo-smlc/smlc_loc_req.c 2 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-smlc refs/changes/60/24560/1 diff --git a/src/osmo-smlc/sccp_lb_inst.c b/src/osmo-smlc/sccp_lb_inst.c index 5a5c5e9..1e325f5 100644 --- a/src/osmo-smlc/sccp_lb_inst.c +++ b/src/osmo-smlc/sccp_lb_inst.c @@ -186,14 +186,14 @@ { int rc; if (!sli->scu) { - rate_ctr_inc(&g_smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_ERR_CONN_NOT_READY]); + rate_ctr_inc(rate_ctr_group_get_ctr(g_smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_ERR_CONN_NOT_READY)); return -EIO; } rc = osmo_sccp_user_sap_down_nofree(sli->scu, oph); if (rc >= 0) - rate_ctr_inc(&g_smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_SUCCESS]); + rate_ctr_inc(rate_ctr_group_get_ctr(g_smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_SUCCESS)); else - rate_ctr_inc(&g_smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_ERR_SEND]); + rate_ctr_inc(rate_ctr_group_get_ctr(g_smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_ERR_SEND)); return rc; } diff --git a/src/osmo-smlc/smlc_loc_req.c b/src/osmo-smlc/smlc_loc_req.c index 1365bfa..392e247 100644 --- a/src/osmo-smlc/smlc_loc_req.c +++ b/src/osmo-smlc/smlc_loc_req.c @@ -96,7 +96,7 @@ { struct smlc_loc_req *smlc_loc_req; - rate_ctr_inc(&g_smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_RX_DT1_PERFORM_LOCATION_REQUEST]); + rate_ctr_inc(rate_ctr_group_get_ctr(g_smlc->ctrs, SMLC_CTR_BSSMAP_LE_RX_DT1_PERFORM_LOCATION_REQUEST)); if (lb_conn->smlc_loc_req) { /* Another request is already pending. If we send Perform Location Abort, the peer doesn't know which -- To view, visit https://gerrit.osmocom.org/c/osmo-smlc/+/24560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-smlc Gerrit-Branch: master Gerrit-Change-Id: I594c08b8fe0ed54a31353d8c6c911cc7293ae7c0 Gerrit-Change-Number: 24560 Gerrit-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 Jun 4 16:09:09 2021 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 4 Jun 2021 16:09:09 +0000 Subject: Change in osmo-e1d[master]: gitignore: Add configure~ In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/24559 ) Change subject: gitignore: Add configure~ ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/24559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: Iadcf4db79eef567781459cee5e7487984f3cfc54 Gerrit-Change-Number: 24559 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 04 Jun 2021 16:09: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 Jun 4 16:09:43 2021 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 4 Jun 2021 16:09:43 +0000 Subject: Change in osmo-e1d[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/24558 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/24558 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: Ib1bf9a6e5d2743522f888e7ef4815283b82ef809 Gerrit-Change-Number: 24558 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 04 Jun 2021 16:09:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 16:20:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 16:20:02 +0000 Subject: Change in libosmocore[master]: Use new stat item/ctr getter APIs References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24561 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Use new stat item/ctr getter APIs Generated with spatch: """ @@ expression E1, E2; @@ - &E2->ctr[E1] + rate_ctr_group_get_ctr(E2, E1) """ """ @@ expression E1, E2, E3; @@ - E2->items[E1] + osmo_stat_item_group_get_item(E2, E1) """ Change-Id: I41297a8df68e28dfc6016330ac82b0ed5dd0ebc1 --- M src/ctrl/control_if.c M src/gb/gprs_bssgp.c M src/gb/gprs_bssgp_bss.c M src/gb/gprs_ns.c M src/gb/gprs_ns2.c M src/gb/gprs_ns2_fr.c M src/gb/gprs_ns2_message.c M src/gb/gprs_ns2_vc_fsm.c M tests/gb/gprs_ns_test.c M tests/stats/stats_test.c 10 files changed, 93 insertions(+), 93 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/61/24561/1 diff --git a/src/ctrl/control_if.c b/src/ctrl/control_if.c index 5eb81c7..d117fcf 100644 --- a/src/ctrl/control_if.c +++ b/src/ctrl/control_if.c @@ -589,12 +589,12 @@ } } -static int get_rate_ctr_group_idx(const struct rate_ctr_group *ctrg, int intv, struct ctrl_cmd *cmd) +static int get_rate_ctr_group_idx(struct rate_ctr_group *ctrg, int intv, struct ctrl_cmd *cmd) { unsigned int i; for (i = 0; i < ctrg->desc->num_ctr; i++) { ctrl_cmd_reply_printf(cmd, "%s %"PRIu64";", ctrg->desc->ctr_desc[i].name, - get_rate_ctr_value(&ctrg->ctr[i], intv, ctrg->desc->group_name_prefix)); + get_rate_ctr_value(rate_ctr_group_get_ctr(ctrg, i), intv, ctrg->desc->group_name_prefix)); if (!cmd->reply) { cmd->reply = "OOM"; return CTRL_CMD_ERROR; diff --git a/src/gb/gprs_bssgp.c b/src/gb/gprs_bssgp.c index 207c9a8..14a5e9d 100644 --- a/src/gb/gprs_bssgp.c +++ b/src/gb/gprs_bssgp.c @@ -441,7 +441,7 @@ return bssgp_tx_status(BSSGP_CAUSE_UNKNOWN_BVCI, &bvci, msg); ptp_ctx->state |= BVC_S_BLOCKED; - rate_ctr_inc(&ptp_ctx->ctrg->ctr[BSSGP_CTR_BLOCKED]); + rate_ctr_inc(rate_ctr_group_get_ctr(ptp_ctx->ctrg, BSSGP_CTR_BLOCKED)); /* Send NM_BVC_BLOCK.ind to NM */ memset(&nmp, 0, sizeof(nmp)); @@ -634,7 +634,7 @@ DEBUGP(DLBSSGP, "BSSGP BVCI=%u TLLI=%08x Rx LLC DISCARDED\n", ctx->bvci, tlli); - rate_ctr_inc(&ctx->ctrg->ctr[BSSGP_CTR_DISCARDED]); + rate_ctr_inc(rate_ctr_group_get_ctr(ctx->ctrg, BSSGP_CTR_DISCARDED)); /* send NM_LLC_DISCARDED to NM */ memset(&nmp, 0, sizeof(nmp)); @@ -675,7 +675,7 @@ } if (bctx) - rate_ctr_inc(&bctx->ctrg->ctr[BSSGP_CTR_STATUS]); + rate_ctr_inc(rate_ctr_group_get_ctr(bctx->ctrg, BSSGP_CTR_STATUS)); /* send NM_STATUS to NM */ memset(&nmp, 0, sizeof(nmp)); @@ -1194,8 +1194,8 @@ if (bctx) { log_set_context(LOG_CTX_GB_BVC, bctx); - rate_ctr_inc(&bctx->ctrg->ctr[BSSGP_CTR_PKTS_IN]); - rate_ctr_add(&bctx->ctrg->ctr[BSSGP_CTR_BYTES_IN], + rate_ctr_inc(rate_ctr_group_get_ctr(bctx->ctrg, BSSGP_CTR_PKTS_IN)); + rate_ctr_add(rate_ctr_group_get_ctr(bctx->ctrg, BSSGP_CTR_BYTES_IN), msgb_bssgp_len(msg)); } @@ -1319,8 +1319,8 @@ budh->tlli = osmo_htonl(msgb_tlli(msg)); budh->pdu_type = BSSGP_PDUT_DL_UNITDATA; - rate_ctr_inc(&bctx->ctrg->ctr[BSSGP_CTR_PKTS_OUT]); - rate_ctr_add(&bctx->ctrg->ctr[BSSGP_CTR_BYTES_OUT], msg->len); + rate_ctr_inc(rate_ctr_group_get_ctr(bctx->ctrg, BSSGP_CTR_PKTS_OUT)); + rate_ctr_add(rate_ctr_group_get_ctr(bctx->ctrg, BSSGP_CTR_BYTES_OUT), msg->len); /* Identifiers down: BVCI, NSEI (in msgb->cb) */ diff --git a/src/gb/gprs_bssgp_bss.c b/src/gb/gprs_bssgp_bss.c index a066e91..8230d87 100644 --- a/src/gb/gprs_bssgp_bss.c +++ b/src/gb/gprs_bssgp_bss.c @@ -466,8 +466,8 @@ msgb_nsei(msg) = bctx->nsei; msgb_bvci(msg) = bctx->bvci; - rate_ctr_inc(&bctx->ctrg->ctr[BSSGP_CTR_PKTS_OUT]); - rate_ctr_add(&bctx->ctrg->ctr[BSSGP_CTR_BYTES_OUT], msg->len); + rate_ctr_inc(rate_ctr_group_get_ctr(bctx->ctrg, BSSGP_CTR_PKTS_OUT)); + rate_ctr_add(rate_ctr_group_get_ctr(bctx->ctrg, BSSGP_CTR_BYTES_OUT), msg->len); return bssgp_ns_send(bssgp_ns_send_data, msg); } diff --git a/src/gb/gprs_ns.c b/src/gb/gprs_ns.c index f486333..6046dea 100644 --- a/src/gb/gprs_ns.c +++ b/src/gb/gprs_ns.c @@ -486,8 +486,8 @@ } /* Increment number of Uplink bytes */ - rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_PKTS_OUT]); - rate_ctr_add(&nsvc->ctrg->ctr[NS_CTR_BYTES_OUT], msgb_l2len(msg)); + 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), msgb_l2len(msg)); switch (nsvc->ll) { case GPRS_NS_LL_UDP: @@ -643,7 +643,7 @@ /* be conservative and mark it as blocked even now! */ ns_mark_blocked(nsvc); - rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_BLOCKED]); + rate_ctr_inc(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_BLOCKED)); msg->l2h = msgb_put(msg, sizeof(*nsh)); nsh = (struct gprs_ns_hdr *) msg->l2h; @@ -781,15 +781,15 @@ switch (nsvc->timer_mode) { case NSVC_TIMER_TNS_ALIVE: /* Tns-alive case: we expired without response ! */ - rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_LOST_ALIVE]); + rate_ctr_inc(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_LOST_ALIVE)); nsvc->alive_retries++; if (nsvc->alive_retries > nsvc->nsi->timeout[NS_TOUT_TNS_ALIVE_RETRIES]) { /* mark as dead (and blocked unless IP-SNS) */ - rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_DEAD]); + rate_ctr_inc(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_DEAD)); if (!nsvc->nsi->bss_sns_fi && nsvc->nsi->nsip.use_reset_block_unblock) { ns_set_state(nsvc, NSE_S_BLOCKED); - rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_BLOCKED]); + rate_ctr_inc(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_BLOCKED)); } else ns_set_state(nsvc, 0); LOGP(DNS, LOGL_NOTICE, @@ -816,7 +816,7 @@ nsvc_start_timer(nsvc, NSVC_TIMER_TNS_ALIVE); break; case NSVC_TIMER_TNS_RESET: - rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_LOST_RESET]); + rate_ctr_inc(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_LOST_RESET)); if (!(nsvc->state & NSE_S_RESET)) LOGP(DNS, LOGL_NOTICE, "NSEI=%u Reset timed out but RESET flag is not set\n", @@ -1251,7 +1251,7 @@ ns_osmo_signal_dispatch_mismatch(*nsvc, msg, NS_PDUT_RESET, NS_IE_VCI); - rate_ctr_inc(&(*nsvc)->ctrg->ctr[NS_CTR_INV_VCI]); + rate_ctr_inc(rate_ctr_group_get_ctr((*nsvc)->ctrg, NS_CTR_INV_VCI)); gprs_ns_tx_reset_ack(*nsvc); return 0; } @@ -1277,14 +1277,14 @@ ns_osmo_signal_dispatch_mismatch(*nsvc, msg, NS_PDUT_RESET, NS_IE_NSEI); - rate_ctr_inc(&(*nsvc)->ctrg->ctr[NS_CTR_INV_NSEI]); + rate_ctr_inc(rate_ctr_group_get_ctr((*nsvc)->ctrg, NS_CTR_INV_NSEI)); rc = gprs_ns_tx_reset_ack(*nsvc); CHECK_TX_RC(rc, *nsvc); return 0; } /* NSEI has changed */ - rate_ctr_inc(&(*nsvc)->ctrg->ctr[NS_CTR_NSEI_CHG]); + rate_ctr_inc(rate_ctr_group_get_ctr((*nsvc)->ctrg, NS_CTR_NSEI_CHG)); (*nsvc)->nsei = nsei; } @@ -1292,7 +1292,7 @@ ns_set_state(*nsvc, NSE_S_BLOCKED | NSE_S_ALIVE); if (orig_nsvc) { - rate_ctr_inc(&(*nsvc)->ctrg->ctr[NS_CTR_REPLACED]); + rate_ctr_inc(rate_ctr_group_get_ctr((*nsvc)->ctrg, NS_CTR_REPLACED)); ns_osmo_signal_dispatch_replaced(*nsvc, orig_nsvc); /* Update the ll info fields */ @@ -1390,7 +1390,7 @@ ns_osmo_signal_dispatch_mismatch(*nsvc, msg, NS_PDUT_RESET_ACK, NS_IE_VCI); - rate_ctr_inc(&(*nsvc)->ctrg->ctr[NS_CTR_INV_VCI]); + rate_ctr_inc(rate_ctr_group_get_ctr((*nsvc)->ctrg, NS_CTR_INV_VCI)); LOGP(DNS, LOGL_ERROR, "NS RESET ACK Unknown NS-VCI %d (%s NSEI=%d) " "from %s\n", @@ -1401,7 +1401,7 @@ } /* Notify others */ - rate_ctr_inc(&(*nsvc)->ctrg->ctr[NS_CTR_REPLACED]); + rate_ctr_inc(rate_ctr_group_get_ctr((*nsvc)->ctrg, NS_CTR_REPLACED)); ns_osmo_signal_dispatch_replaced(*nsvc, orig_nsvc); /* Update the ll info fields */ @@ -1415,7 +1415,7 @@ ns_osmo_signal_dispatch_mismatch(*nsvc, msg, NS_PDUT_RESET_ACK, NS_IE_NSEI); - rate_ctr_inc(&(*nsvc)->ctrg->ctr[NS_CTR_INV_NSEI]); + rate_ctr_inc(rate_ctr_group_get_ctr((*nsvc)->ctrg, NS_CTR_INV_NSEI)); LOGP(DNS, LOGL_ERROR, "NS RESET ACK Unknown NSEI %d (NS-VCI=%u) from %s\n", nsei, nsvci, gprs_ns_ll_str(*nsvc)); @@ -1423,14 +1423,14 @@ } /* NSEI has changed */ - rate_ctr_inc(&(*nsvc)->ctrg->ctr[NS_CTR_NSEI_CHG]); + rate_ctr_inc(rate_ctr_group_get_ctr((*nsvc)->ctrg, NS_CTR_NSEI_CHG)); (*nsvc)->nsei = nsei; } /* Mark NS-VC as blocked and alive */ ns_set_state(*nsvc, NSE_S_BLOCKED | NSE_S_ALIVE); ns_set_remote_state(*nsvc, NSE_S_BLOCKED | NSE_S_ALIVE); - rate_ctr_inc(&(*nsvc)->ctrg->ctr[NS_CTR_BLOCKED]); + rate_ctr_inc(rate_ctr_group_get_ctr((*nsvc)->ctrg, NS_CTR_BLOCKED)); if ((*nsvc)->persistent || (*nsvc)->remote_end_is_sgsn) { /* stop RESET timer */ osmo_timer_del(&(*nsvc)->timer); @@ -1471,7 +1471,7 @@ //nsvci = (uint16_t *) TLVP_VAL(&tp, NS_IE_VCI); ns_osmo_signal_dispatch(nsvc, S_NS_BLOCK, *cause); - rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_BLOCKED]); + rate_ctr_inc(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_BLOCKED)); return gprs_ns_tx_block_ack(nsvc); } @@ -1705,7 +1705,7 @@ existing_nsvc->nsei = nsei; /* Do statistics */ - rate_ctr_inc(&existing_nsvc->ctrg->ctr[NS_CTR_NSEI_CHG]); + rate_ctr_inc(rate_ctr_group_get_ctr(existing_nsvc->ctrg, NS_CTR_NSEI_CHG)); } *new_nsvc = existing_nsvc; @@ -1734,8 +1734,8 @@ log_set_context(LOG_CTX_GB_NSVC, *nsvc); /* Increment number of Incoming bytes */ - rate_ctr_inc(&(*nsvc)->ctrg->ctr[NS_CTR_PKTS_IN]); - rate_ctr_add(&(*nsvc)->ctrg->ctr[NS_CTR_BYTES_IN], msgb_l2len(msg)); + 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), msgb_l2len(msg)); if (nsvc_is_not_used(*nsvc) && !ns_is_sns(nsh->pdu_type) && nsh->pdu_type != NS_PDUT_STATUS) { LOGP(DNS, LOGL_NOTICE, "NSEI=%u Rx %s on unused/pre-configured endpoint, discarding\n", @@ -1762,7 +1762,7 @@ case NS_PDUT_ALIVE_ACK: ns_mark_alive(*nsvc); if ((*nsvc)->timer_mode == NSVC_TIMER_TNS_ALIVE) - osmo_stat_item_set((*nsvc)->statg->items[NS_STAT_ALIVE_DELAY], + osmo_stat_item_set(osmo_stat_item_group_get_item((*nsvc)->statg, NS_STAT_ALIVE_DELAY), nsvc_timer_elapsed_ms(*nsvc)); /* stop Tns-alive and start Tns-test */ nsvc_start_timer(*nsvc, NSVC_TIMER_TNS_TEST); diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 1148d6f..d72f34e 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -1255,8 +1255,8 @@ log_set_context(LOG_CTX_GB_NSE, nsvc->nse); log_set_context(LOG_CTX_GB_NSVC, nsvc); - rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_PKTS_IN]); - rate_ctr_add(&nsvc->ctrg->ctr[NS_CTR_BYTES_IN], msg->len); + 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); if (msg->len < sizeof(struct gprs_ns_hdr)) { rc = -EINVAL; diff --git a/src/gb/gprs_ns2_fr.c b/src/gb/gprs_ns2_fr.c index 84f3784..7791094 100644 --- a/src/gb/gprs_ns2_fr.c +++ b/src/gb/gprs_ns2_fr.c @@ -347,7 +347,7 @@ { struct priv_bind *priv = bind->priv; llist_add(&msg->list, &priv->backlog.list); - osmo_stat_item_inc(bind->statg->items[NS2_BIND_STAT_BACKLOG_LEN], 1); + osmo_stat_item_inc(osmo_stat_item_group_get_item(bind->statg, NS2_BIND_STAT_BACKLOG_LEN), 1); osmo_timer_schedule(&priv->backlog.timer, 0, priv->backlog.retry_us); } @@ -355,7 +355,7 @@ { struct priv_bind *priv = bind->priv; llist_add_tail(&msg->list, &priv->backlog.list); - osmo_stat_item_inc(bind->statg->items[NS2_BIND_STAT_BACKLOG_LEN], 1); + osmo_stat_item_inc(osmo_stat_item_group_get_item(bind->statg, NS2_BIND_STAT_BACKLOG_LEN), 1); osmo_timer_schedule(&priv->backlog.timer, 0, priv->backlog.retry_us); } @@ -439,7 +439,7 @@ llist_add(&msg->list, &priv->backlog.list); break; } - osmo_stat_item_dec(bind->statg->items[NS2_BIND_STAT_BACKLOG_LEN], 1); + osmo_stat_item_dec(osmo_stat_item_group_get_item(bind->statg, NS2_BIND_STAT_BACKLOG_LEN), 1); } restart_timer: diff --git a/src/gb/gprs_ns2_message.c b/src/gb/gprs_ns2_message.c index 93341bb..ad115ef 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(&nsvc->ctrg->ctr[NS_CTR_PKTS_OUT_DROP]); - rate_ctr_add(&nsvc->ctrg->ctr[NS_CTR_BYTES_OUT_DROP], bytes); + 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); } else { - rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_PKTS_OUT]); - rate_ctr_add(&nsvc->ctrg->ctr[NS_CTR_BYTES_OUT], bytes); + 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); } return rc; @@ -223,7 +223,7 @@ if (!msg) return -ENOMEM; - rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_BLOCKED]); + rate_ctr_inc(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_BLOCKED)); msg->l2h = msgb_put(msg, sizeof(*nsh)); nsh = (struct gprs_ns_hdr *) msg->l2h; diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c index 7ed8299..341a5a1 100644 --- a/src/gb/gprs_ns2_vc_fsm.c +++ b/src/gb/gprs_ns2_vc_fsm.c @@ -209,7 +209,7 @@ priv->alive.mode = NS_TOUT_TNS_TEST; osmo_timer_schedule(&priv->alive.timer, nsi->timeout[NS_TOUT_TNS_TEST], 0); - osmo_stat_item_set(nsvc->statg->items[NS_STAT_ALIVE_DELAY], + osmo_stat_item_set(osmo_stat_item_group_get_item(nsvc->statg, NS_STAT_ALIVE_DELAY), alive_timer_elapsed_ms(priv)); } @@ -229,7 +229,7 @@ osmo_timer_schedule(&priv->alive.timer, nsi->timeout[NS_TOUT_TNS_ALIVE], 0); break; case NS_TOUT_TNS_ALIVE: - rate_ctr_inc(&priv->nsvc->ctrg->ctr[NS_CTR_LOST_ALIVE]); + rate_ctr_inc(rate_ctr_group_get_ctr(priv->nsvc->ctrg, NS_CTR_LOST_ALIVE)); priv->alive.N++; if (priv->alive.N <= nsi->timeout[NS_TOUT_TNS_ALIVE_RETRIES]) { @@ -335,7 +335,7 @@ if (old_state != GPRS_NS2_ST_BLOCKED) { priv->N = 0; - rate_ctr_inc(&priv->nsvc->ctrg->ctr[NS_CTR_BLOCKED]); + rate_ctr_inc(rate_ctr_group_get_ctr(priv->nsvc->ctrg, NS_CTR_BLOCKED)); } if (priv->om_blocked) { @@ -410,7 +410,7 @@ struct gprs_ns2_nse *nse = nsvc->nse; if (old_state != GPRS_NS2_ST_UNBLOCKED) - rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_UNBLOCKED]); + rate_ctr_inc(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_UNBLOCKED)); priv->accept_unitdata = true; ns2_nse_notify_unblocked(nsvc, true); @@ -525,7 +525,7 @@ switch (fi->state) { case GPRS_NS2_ST_RESET: if (priv->initiate_reset) { - rate_ctr_inc(&priv->nsvc->ctrg->ctr[NS_CTR_LOST_RESET]); + rate_ctr_inc(rate_ctr_group_get_ctr(priv->nsvc->ctrg, 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); diff --git a/tests/gb/gprs_ns_test.c b/tests/gb/gprs_ns_test.c index 454a29e..6ced6a3 100644 --- a/tests/gb/gprs_ns_test.c +++ b/tests/gb/gprs_ns_test.c @@ -262,7 +262,7 @@ unsigned int i; for (i = 0; i < ctrg->desc->num_ctr; i++) { - struct rate_ctr *ctr = &ctrg->ctr[i]; + struct rate_ctr *ctr = rate_ctr_group_get_ctr(ctrg, i); if (ctr->current && !strchr(ctrg->desc->ctr_desc[i].name, ':')) fprintf(stream, " %s%s: %llu%s", prefix, ctrg->desc->ctr_desc[i].description, diff --git a/tests/stats/stats_test.c b/tests/stats/stats_test.c index a4aedd3..15f50d2 100644 --- a/tests/stats/stats_test.c +++ b/tests/stats/stats_test.c @@ -110,130 +110,130 @@ sitem1 = osmo_stat_item_get_by_name(statg, "item.a"); OSMO_ASSERT(sitem1 != NULL); - OSMO_ASSERT(sitem1 == statg->items[TEST_A_ITEM]); + OSMO_ASSERT(sitem1 == osmo_stat_item_group_get_item(statg, TEST_A_ITEM)); sitem2 = osmo_stat_item_get_by_name(statg, "item.b"); OSMO_ASSERT(sitem2 != NULL); OSMO_ASSERT(sitem2 != sitem1); - OSMO_ASSERT(sitem2 == statg->items[TEST_B_ITEM]); + OSMO_ASSERT(sitem2 == osmo_stat_item_group_get_item(statg, TEST_B_ITEM)); - value = osmo_stat_item_get_last(statg->items[TEST_A_ITEM]); + value = osmo_stat_item_get_last(osmo_stat_item_group_get_item(statg, TEST_A_ITEM)); OSMO_ASSERT(value == -1); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 0); - osmo_stat_item_set(statg->items[TEST_A_ITEM], 1); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), 1); - value = osmo_stat_item_get_last(statg->items[TEST_A_ITEM]); + value = osmo_stat_item_get_last(osmo_stat_item_group_get_item(statg, TEST_A_ITEM)); OSMO_ASSERT(value == 1); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 1); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 0); for (i = 2; i <= 32; i++) { - osmo_stat_item_set(statg->items[TEST_A_ITEM], i); - osmo_stat_item_set(statg->items[TEST_B_ITEM], 1000 + i); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), i); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg, TEST_B_ITEM), 1000 + i); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == i); - rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_B_ITEM), &next_id_b, &value); OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 1000 + i); } /* check if dec & inc is working */ - osmo_stat_item_set(statg->items[TEST_A_ITEM], 42); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), 42); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 42); - osmo_stat_item_dec(statg->items[TEST_A_ITEM], 21); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + osmo_stat_item_dec(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), 21); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 21); - osmo_stat_item_inc(statg->items[TEST_A_ITEM], 21); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + osmo_stat_item_inc(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), 21); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 42); /* Keep 2 in FIFO */ - osmo_stat_item_set(statg->items[TEST_A_ITEM], 33); - osmo_stat_item_set(statg->items[TEST_B_ITEM], 1000 + 33); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), 33); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg, TEST_B_ITEM), 1000 + 33); for (i = 34; i <= 64; i++) { - osmo_stat_item_set(statg->items[TEST_A_ITEM], i); - osmo_stat_item_set(statg->items[TEST_B_ITEM], 1000 + i); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), i); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg, TEST_B_ITEM), 1000 + i); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == i-1); - rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_B_ITEM), &next_id_b, &value); OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 1000 + i-1); } - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 64); - rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_B_ITEM), &next_id_b, &value); OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 1000 + 64); /* Overrun FIFOs */ for (i = 65; i <= 96; i++) { - osmo_stat_item_set(statg->items[TEST_A_ITEM], i); - osmo_stat_item_set(statg->items[TEST_B_ITEM], 1000 + i); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), i); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg, TEST_B_ITEM), 1000 + i); } fprintf(stderr, "Skipping %d values\n", 93 - 65); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 93 - 65 + 1); OSMO_ASSERT(value == 93); for (i = 94; i <= 96; i++) { - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == i); } fprintf(stderr, "Skipping %d values\n", 90 - 65); - rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_B_ITEM), &next_id_b, &value); OSMO_ASSERT(rc == 90 - 65 + 1); OSMO_ASSERT(value == 1000 + 90); for (i = 91; i <= 96; i++) { - rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_B_ITEM), &next_id_b, &value); OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 1000 + i); } /* Test Discard (single item) */ - osmo_stat_item_set(statg->items[TEST_A_ITEM], 97); - rc = osmo_stat_item_discard(statg->items[TEST_A_ITEM], &next_id_a); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), 97); + rc = osmo_stat_item_discard(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a); OSMO_ASSERT(rc == 1); - rc = osmo_stat_item_discard(statg->items[TEST_A_ITEM], &next_id_a); + rc = osmo_stat_item_discard(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a); OSMO_ASSERT(rc == 0); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 0); - osmo_stat_item_set(statg->items[TEST_A_ITEM], 98); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), 98); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 98); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 0); osmo_stat_item_group_free(statg); @@ -417,27 +417,27 @@ OSMO_ASSERT(send_count == 0); fprintf(stderr, "report (group 1, counter 1 update):\n"); - rate_ctr_inc(&ctrg1->ctr[TEST_A_CTR]); + rate_ctr_inc(rate_ctr_group_get_ctr(ctrg1, TEST_A_CTR)); send_count = 0; osmo_stats_report(); OSMO_ASSERT(send_count == 2); fprintf(stderr, "report (group 1, item 1 update):\n"); - osmo_stat_item_set(statg1->items[TEST_A_ITEM], 10); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg1, TEST_A_ITEM), 10); send_count = 0; osmo_stats_report(); OSMO_ASSERT(send_count == 2); fprintf(stderr, "report (group 1, item 1 update twice):\n"); - osmo_stat_item_set(statg1->items[TEST_A_ITEM], 10); - osmo_stat_item_set(statg1->items[TEST_A_ITEM], 10); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg1, TEST_A_ITEM), 10); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg1, TEST_A_ITEM), 10); send_count = 0; osmo_stats_report(); OSMO_ASSERT(send_count == 2); fprintf(stderr, "report (group 1, item 1 update twice, check max):\n"); - osmo_stat_item_set(statg1->items[TEST_A_ITEM], 20); - osmo_stat_item_set(statg1->items[TEST_A_ITEM], 10); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg1, TEST_A_ITEM), 20); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg1, TEST_A_ITEM), 10); send_count = 0; osmo_stats_report(); OSMO_ASSERT(send_count == 2); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24561 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I41297a8df68e28dfc6016330ac82b0ed5dd0ebc1 Gerrit-Change-Number: 24561 Gerrit-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 Jun 4 17:19:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 17:19:35 +0000 Subject: Change in osmo-bsc[master]: Make interference measurement parameters configurable In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24548 ) Change subject: Make interference measurement parameters configurable ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I99ebf57aac1f3ca7e0497c3b4f6b0738c6ed7e47 Gerrit-Change-Number: 24548 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 17:19:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 17:20:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Jun 2021 17:20:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Types: complete definition of RF RESOURCE INDICATION In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24552 ) Change subject: library/RSL_Types: complete definition of RF RESOURCE INDICATION ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If3eedfaea6de252b8dc3ca238f6ffd45448065d1 Gerrit-Change-Number: 24552 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 17:20: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 Jun 4 17:41:42 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 4 Jun 2021 17:41:42 +0000 Subject: Change in osmo-asf4-dfu[master]: usb serial number descriptor In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/17024 ) Change subject: usb serial number descriptor ...................................................................... Patch Set 3: I am inclined to resubmit this without the ifdefs, at the time there was confusion because we had a old octsim branch and a master branch, and I was not really aware of the differences (octsim branch is old and unused) - the branch is tied to the samd/e series anyway so this should always work, and I am not aware (even now, a year later) of any attempts to regenerate the asf source for other projects targetting other chips while trying to reuse this bootloader. -- To view, visit https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/17024 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-asf4-dfu Gerrit-Branch: master Gerrit-Change-Id: I4a23682cee0849c788e5f6c611df4ed1f1cac3da Gerrit-Change-Number: 17024 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: roh Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 04 Jun 2021 17:41: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 Jun 4 19:36:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:36:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Types: complete definition of RF RESOURCE INDICATION In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24552 ) Change subject: library/RSL_Types: complete definition of RF RESOURCE INDICATION ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If3eedfaea6de252b8dc3ca238f6ffd45448065d1 Gerrit-Change-Number: 24552 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 19: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 Fri Jun 4 19:36:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:36:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Types: complete definition of RF RESOURCE INDICATION In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24552 ) Change subject: library/RSL_Types: complete definition of RF RESOURCE INDICATION ...................................................................... library/RSL_Types: complete definition of RF RESOURCE INDICATION Change-Id: If3eedfaea6de252b8dc3ca238f6ffd45448065d1 Related: SYS#5313, OS#1569, OS#1866 --- M library/RSL_Types.ttcn 1 file changed, 59 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index 2cbd668..16ce506 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -571,6 +571,34 @@ frame_nr := tr_RSL_IE_FrameNumber(frame_nr) } + /* 9.3.21 Resource Information */ + type record RSL_IE_ResourceInfo { + uint8_t len, + RSL_ResourceInfo info + } with { variant (len) "LENGTHTO(info)" }; + + type record of RSL_ResourceInfoItem RSL_ResourceInfo; + type record RSL_ResourceInfoItem { + RslChannelNr chan_nr, + uint3_t interf_band, + BIT5 rfu ('00000'B) + }; + + template (value) RSL_ResourceInfoItem + ts_RSL_ResourceInfoItem(template (value) RslChannelNr chan_nr, + template (value) uint3_t interf_band := 0) := { + chan_nr := chan_nr, + interf_band := interf_band, + rfu := '00000'B + } + template RSL_ResourceInfoItem + tr_RSL_ResourceInfoItem(template (present) RslChannelNr chan_nr := ?, + template (present) uint3_t interf_band := ?) := { + chan_nr := chan_nr, + interf_band := interf_band, + rfu := ? /* Tolerate unknown values */ + } + /* Osmocom Extension */ type record RSL_IE_UplinkMeasSuppMeasInfo { int16_t toa256_mean, @@ -869,6 +897,7 @@ RSL_IE_CbCommandType cb_cmd_type, RSL_LV smscb_message, RSL_IE_CbchLoadInfo cbch_load_info, + RSL_IE_ResourceInfo resource_info, RSL_SacchInfo sacch_info, RSL_IE_StartingTime starting_time, @@ -929,6 +958,7 @@ cb_cmd_type, iei = RSL_IE_CB_CMD_TYPE; smscb_message, iei = RSL_IE_SMSCB_MSG; cbch_load_info, iei = RSL_IE_CBCH_LOAD_INFO; + resource_info, iei = RSL_IE_RESOURCE_INFO; sacch_info, iei = RSL_IE_SACCH_INFO; starting_time, iei = RSL_IE_STARTNG_TIME; encr_info, iei = RSL_IE_ENCR_INFO; @@ -1778,12 +1808,6 @@ } } - template RSL_Message tr_RSL_RF_RES_IND := { - msg_disc := tr_RSL_MsgDisc(RSL_MDISC_TRX_MGMT, false), - msg_type := RSL_MT_RF_RES_IND, - ies := * - } - /* 8.5.8 BTS <- BSC SMS BROADCAST COMMAND */ template RSL_Message tr_RSL_SMSCB_CMD(template RSL_IE_CbCommandType cb_cmd := ?, template octetstring msg := ?, @@ -1856,6 +1880,35 @@ } + /* 8.6.1 BTS -> BSC */ + template (value) RSL_Message + ts_RSL_RF_RES_IND(template (value) RSL_ResourceInfo info) := { + msg_disc := ts_RSL_MsgDisc(RSL_MDISC_TRX_MGMT, false), + msg_type := RSL_MT_RF_RES_IND, + ies := { + t_RSL_IE(RSL_IE_RESOURCE_INFO, RSL_IE_Body:{ + resource_info := { + len := 0, /* overwritten */ + info := info + } + }) + } + } + template RSL_Message + tr_RSL_RF_RES_IND(template (present) RSL_ResourceInfo info := ?) := { + msg_disc := tr_RSL_MsgDisc(RSL_MDISC_TRX_MGMT, false), + msg_type := RSL_MT_RF_RES_IND, + ies := { + tr_RSL_IE(RSL_IE_Body:{ + resource_info := { + len := ?, + info := info + } + }) + } + } + + /* 8.6.2 BTS <- BSC */ template (value) RSL_Message ts_RSL_SACCH_FILL(RSL_IE_SysinfoType si_type, octetstring l3_info) := { msg_disc := ts_RSL_MsgDisc(RSL_MDISC_TRX_MGMT, false), -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If3eedfaea6de252b8dc3ca238f6ffd45448065d1 Gerrit-Change-Number: 24552 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 Jun 4 19:37:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:37:20 +0000 Subject: Change in libosmocore[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24561 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Patch Set 1: Code-Review+2 bonus points for spatch! I want a +3! -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24561 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I41297a8df68e28dfc6016330ac82b0ed5dd0ebc1 Gerrit-Change-Number: 24561 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Jun 2021 19:37: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 Jun 4 19:37:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:37:26 +0000 Subject: Change in libosmocore[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24561 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Use new stat item/ctr getter APIs Generated with spatch: """ @@ expression E1, E2; @@ - &E2->ctr[E1] + rate_ctr_group_get_ctr(E2, E1) """ """ @@ expression E1, E2, E3; @@ - E2->items[E1] + osmo_stat_item_group_get_item(E2, E1) """ Change-Id: I41297a8df68e28dfc6016330ac82b0ed5dd0ebc1 --- M src/ctrl/control_if.c M src/gb/gprs_bssgp.c M src/gb/gprs_bssgp_bss.c M src/gb/gprs_ns.c M src/gb/gprs_ns2.c M src/gb/gprs_ns2_fr.c M src/gb/gprs_ns2_message.c M src/gb/gprs_ns2_vc_fsm.c M tests/gb/gprs_ns_test.c M tests/stats/stats_test.c 10 files changed, 93 insertions(+), 93 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/ctrl/control_if.c b/src/ctrl/control_if.c index 5eb81c7..d117fcf 100644 --- a/src/ctrl/control_if.c +++ b/src/ctrl/control_if.c @@ -589,12 +589,12 @@ } } -static int get_rate_ctr_group_idx(const struct rate_ctr_group *ctrg, int intv, struct ctrl_cmd *cmd) +static int get_rate_ctr_group_idx(struct rate_ctr_group *ctrg, int intv, struct ctrl_cmd *cmd) { unsigned int i; for (i = 0; i < ctrg->desc->num_ctr; i++) { ctrl_cmd_reply_printf(cmd, "%s %"PRIu64";", ctrg->desc->ctr_desc[i].name, - get_rate_ctr_value(&ctrg->ctr[i], intv, ctrg->desc->group_name_prefix)); + get_rate_ctr_value(rate_ctr_group_get_ctr(ctrg, i), intv, ctrg->desc->group_name_prefix)); if (!cmd->reply) { cmd->reply = "OOM"; return CTRL_CMD_ERROR; diff --git a/src/gb/gprs_bssgp.c b/src/gb/gprs_bssgp.c index 207c9a8..14a5e9d 100644 --- a/src/gb/gprs_bssgp.c +++ b/src/gb/gprs_bssgp.c @@ -441,7 +441,7 @@ return bssgp_tx_status(BSSGP_CAUSE_UNKNOWN_BVCI, &bvci, msg); ptp_ctx->state |= BVC_S_BLOCKED; - rate_ctr_inc(&ptp_ctx->ctrg->ctr[BSSGP_CTR_BLOCKED]); + rate_ctr_inc(rate_ctr_group_get_ctr(ptp_ctx->ctrg, BSSGP_CTR_BLOCKED)); /* Send NM_BVC_BLOCK.ind to NM */ memset(&nmp, 0, sizeof(nmp)); @@ -634,7 +634,7 @@ DEBUGP(DLBSSGP, "BSSGP BVCI=%u TLLI=%08x Rx LLC DISCARDED\n", ctx->bvci, tlli); - rate_ctr_inc(&ctx->ctrg->ctr[BSSGP_CTR_DISCARDED]); + rate_ctr_inc(rate_ctr_group_get_ctr(ctx->ctrg, BSSGP_CTR_DISCARDED)); /* send NM_LLC_DISCARDED to NM */ memset(&nmp, 0, sizeof(nmp)); @@ -675,7 +675,7 @@ } if (bctx) - rate_ctr_inc(&bctx->ctrg->ctr[BSSGP_CTR_STATUS]); + rate_ctr_inc(rate_ctr_group_get_ctr(bctx->ctrg, BSSGP_CTR_STATUS)); /* send NM_STATUS to NM */ memset(&nmp, 0, sizeof(nmp)); @@ -1194,8 +1194,8 @@ if (bctx) { log_set_context(LOG_CTX_GB_BVC, bctx); - rate_ctr_inc(&bctx->ctrg->ctr[BSSGP_CTR_PKTS_IN]); - rate_ctr_add(&bctx->ctrg->ctr[BSSGP_CTR_BYTES_IN], + rate_ctr_inc(rate_ctr_group_get_ctr(bctx->ctrg, BSSGP_CTR_PKTS_IN)); + rate_ctr_add(rate_ctr_group_get_ctr(bctx->ctrg, BSSGP_CTR_BYTES_IN), msgb_bssgp_len(msg)); } @@ -1319,8 +1319,8 @@ budh->tlli = osmo_htonl(msgb_tlli(msg)); budh->pdu_type = BSSGP_PDUT_DL_UNITDATA; - rate_ctr_inc(&bctx->ctrg->ctr[BSSGP_CTR_PKTS_OUT]); - rate_ctr_add(&bctx->ctrg->ctr[BSSGP_CTR_BYTES_OUT], msg->len); + rate_ctr_inc(rate_ctr_group_get_ctr(bctx->ctrg, BSSGP_CTR_PKTS_OUT)); + rate_ctr_add(rate_ctr_group_get_ctr(bctx->ctrg, BSSGP_CTR_BYTES_OUT), msg->len); /* Identifiers down: BVCI, NSEI (in msgb->cb) */ diff --git a/src/gb/gprs_bssgp_bss.c b/src/gb/gprs_bssgp_bss.c index a066e91..8230d87 100644 --- a/src/gb/gprs_bssgp_bss.c +++ b/src/gb/gprs_bssgp_bss.c @@ -466,8 +466,8 @@ msgb_nsei(msg) = bctx->nsei; msgb_bvci(msg) = bctx->bvci; - rate_ctr_inc(&bctx->ctrg->ctr[BSSGP_CTR_PKTS_OUT]); - rate_ctr_add(&bctx->ctrg->ctr[BSSGP_CTR_BYTES_OUT], msg->len); + rate_ctr_inc(rate_ctr_group_get_ctr(bctx->ctrg, BSSGP_CTR_PKTS_OUT)); + rate_ctr_add(rate_ctr_group_get_ctr(bctx->ctrg, BSSGP_CTR_BYTES_OUT), msg->len); return bssgp_ns_send(bssgp_ns_send_data, msg); } diff --git a/src/gb/gprs_ns.c b/src/gb/gprs_ns.c index f486333..6046dea 100644 --- a/src/gb/gprs_ns.c +++ b/src/gb/gprs_ns.c @@ -486,8 +486,8 @@ } /* Increment number of Uplink bytes */ - rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_PKTS_OUT]); - rate_ctr_add(&nsvc->ctrg->ctr[NS_CTR_BYTES_OUT], msgb_l2len(msg)); + 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), msgb_l2len(msg)); switch (nsvc->ll) { case GPRS_NS_LL_UDP: @@ -643,7 +643,7 @@ /* be conservative and mark it as blocked even now! */ ns_mark_blocked(nsvc); - rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_BLOCKED]); + rate_ctr_inc(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_BLOCKED)); msg->l2h = msgb_put(msg, sizeof(*nsh)); nsh = (struct gprs_ns_hdr *) msg->l2h; @@ -781,15 +781,15 @@ switch (nsvc->timer_mode) { case NSVC_TIMER_TNS_ALIVE: /* Tns-alive case: we expired without response ! */ - rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_LOST_ALIVE]); + rate_ctr_inc(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_LOST_ALIVE)); nsvc->alive_retries++; if (nsvc->alive_retries > nsvc->nsi->timeout[NS_TOUT_TNS_ALIVE_RETRIES]) { /* mark as dead (and blocked unless IP-SNS) */ - rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_DEAD]); + rate_ctr_inc(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_DEAD)); if (!nsvc->nsi->bss_sns_fi && nsvc->nsi->nsip.use_reset_block_unblock) { ns_set_state(nsvc, NSE_S_BLOCKED); - rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_BLOCKED]); + rate_ctr_inc(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_BLOCKED)); } else ns_set_state(nsvc, 0); LOGP(DNS, LOGL_NOTICE, @@ -816,7 +816,7 @@ nsvc_start_timer(nsvc, NSVC_TIMER_TNS_ALIVE); break; case NSVC_TIMER_TNS_RESET: - rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_LOST_RESET]); + rate_ctr_inc(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_LOST_RESET)); if (!(nsvc->state & NSE_S_RESET)) LOGP(DNS, LOGL_NOTICE, "NSEI=%u Reset timed out but RESET flag is not set\n", @@ -1251,7 +1251,7 @@ ns_osmo_signal_dispatch_mismatch(*nsvc, msg, NS_PDUT_RESET, NS_IE_VCI); - rate_ctr_inc(&(*nsvc)->ctrg->ctr[NS_CTR_INV_VCI]); + rate_ctr_inc(rate_ctr_group_get_ctr((*nsvc)->ctrg, NS_CTR_INV_VCI)); gprs_ns_tx_reset_ack(*nsvc); return 0; } @@ -1277,14 +1277,14 @@ ns_osmo_signal_dispatch_mismatch(*nsvc, msg, NS_PDUT_RESET, NS_IE_NSEI); - rate_ctr_inc(&(*nsvc)->ctrg->ctr[NS_CTR_INV_NSEI]); + rate_ctr_inc(rate_ctr_group_get_ctr((*nsvc)->ctrg, NS_CTR_INV_NSEI)); rc = gprs_ns_tx_reset_ack(*nsvc); CHECK_TX_RC(rc, *nsvc); return 0; } /* NSEI has changed */ - rate_ctr_inc(&(*nsvc)->ctrg->ctr[NS_CTR_NSEI_CHG]); + rate_ctr_inc(rate_ctr_group_get_ctr((*nsvc)->ctrg, NS_CTR_NSEI_CHG)); (*nsvc)->nsei = nsei; } @@ -1292,7 +1292,7 @@ ns_set_state(*nsvc, NSE_S_BLOCKED | NSE_S_ALIVE); if (orig_nsvc) { - rate_ctr_inc(&(*nsvc)->ctrg->ctr[NS_CTR_REPLACED]); + rate_ctr_inc(rate_ctr_group_get_ctr((*nsvc)->ctrg, NS_CTR_REPLACED)); ns_osmo_signal_dispatch_replaced(*nsvc, orig_nsvc); /* Update the ll info fields */ @@ -1390,7 +1390,7 @@ ns_osmo_signal_dispatch_mismatch(*nsvc, msg, NS_PDUT_RESET_ACK, NS_IE_VCI); - rate_ctr_inc(&(*nsvc)->ctrg->ctr[NS_CTR_INV_VCI]); + rate_ctr_inc(rate_ctr_group_get_ctr((*nsvc)->ctrg, NS_CTR_INV_VCI)); LOGP(DNS, LOGL_ERROR, "NS RESET ACK Unknown NS-VCI %d (%s NSEI=%d) " "from %s\n", @@ -1401,7 +1401,7 @@ } /* Notify others */ - rate_ctr_inc(&(*nsvc)->ctrg->ctr[NS_CTR_REPLACED]); + rate_ctr_inc(rate_ctr_group_get_ctr((*nsvc)->ctrg, NS_CTR_REPLACED)); ns_osmo_signal_dispatch_replaced(*nsvc, orig_nsvc); /* Update the ll info fields */ @@ -1415,7 +1415,7 @@ ns_osmo_signal_dispatch_mismatch(*nsvc, msg, NS_PDUT_RESET_ACK, NS_IE_NSEI); - rate_ctr_inc(&(*nsvc)->ctrg->ctr[NS_CTR_INV_NSEI]); + rate_ctr_inc(rate_ctr_group_get_ctr((*nsvc)->ctrg, NS_CTR_INV_NSEI)); LOGP(DNS, LOGL_ERROR, "NS RESET ACK Unknown NSEI %d (NS-VCI=%u) from %s\n", nsei, nsvci, gprs_ns_ll_str(*nsvc)); @@ -1423,14 +1423,14 @@ } /* NSEI has changed */ - rate_ctr_inc(&(*nsvc)->ctrg->ctr[NS_CTR_NSEI_CHG]); + rate_ctr_inc(rate_ctr_group_get_ctr((*nsvc)->ctrg, NS_CTR_NSEI_CHG)); (*nsvc)->nsei = nsei; } /* Mark NS-VC as blocked and alive */ ns_set_state(*nsvc, NSE_S_BLOCKED | NSE_S_ALIVE); ns_set_remote_state(*nsvc, NSE_S_BLOCKED | NSE_S_ALIVE); - rate_ctr_inc(&(*nsvc)->ctrg->ctr[NS_CTR_BLOCKED]); + rate_ctr_inc(rate_ctr_group_get_ctr((*nsvc)->ctrg, NS_CTR_BLOCKED)); if ((*nsvc)->persistent || (*nsvc)->remote_end_is_sgsn) { /* stop RESET timer */ osmo_timer_del(&(*nsvc)->timer); @@ -1471,7 +1471,7 @@ //nsvci = (uint16_t *) TLVP_VAL(&tp, NS_IE_VCI); ns_osmo_signal_dispatch(nsvc, S_NS_BLOCK, *cause); - rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_BLOCKED]); + rate_ctr_inc(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_BLOCKED)); return gprs_ns_tx_block_ack(nsvc); } @@ -1705,7 +1705,7 @@ existing_nsvc->nsei = nsei; /* Do statistics */ - rate_ctr_inc(&existing_nsvc->ctrg->ctr[NS_CTR_NSEI_CHG]); + rate_ctr_inc(rate_ctr_group_get_ctr(existing_nsvc->ctrg, NS_CTR_NSEI_CHG)); } *new_nsvc = existing_nsvc; @@ -1734,8 +1734,8 @@ log_set_context(LOG_CTX_GB_NSVC, *nsvc); /* Increment number of Incoming bytes */ - rate_ctr_inc(&(*nsvc)->ctrg->ctr[NS_CTR_PKTS_IN]); - rate_ctr_add(&(*nsvc)->ctrg->ctr[NS_CTR_BYTES_IN], msgb_l2len(msg)); + 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), msgb_l2len(msg)); if (nsvc_is_not_used(*nsvc) && !ns_is_sns(nsh->pdu_type) && nsh->pdu_type != NS_PDUT_STATUS) { LOGP(DNS, LOGL_NOTICE, "NSEI=%u Rx %s on unused/pre-configured endpoint, discarding\n", @@ -1762,7 +1762,7 @@ case NS_PDUT_ALIVE_ACK: ns_mark_alive(*nsvc); if ((*nsvc)->timer_mode == NSVC_TIMER_TNS_ALIVE) - osmo_stat_item_set((*nsvc)->statg->items[NS_STAT_ALIVE_DELAY], + osmo_stat_item_set(osmo_stat_item_group_get_item((*nsvc)->statg, NS_STAT_ALIVE_DELAY), nsvc_timer_elapsed_ms(*nsvc)); /* stop Tns-alive and start Tns-test */ nsvc_start_timer(*nsvc, NSVC_TIMER_TNS_TEST); diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 1148d6f..d72f34e 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -1255,8 +1255,8 @@ log_set_context(LOG_CTX_GB_NSE, nsvc->nse); log_set_context(LOG_CTX_GB_NSVC, nsvc); - rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_PKTS_IN]); - rate_ctr_add(&nsvc->ctrg->ctr[NS_CTR_BYTES_IN], msg->len); + 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); if (msg->len < sizeof(struct gprs_ns_hdr)) { rc = -EINVAL; diff --git a/src/gb/gprs_ns2_fr.c b/src/gb/gprs_ns2_fr.c index 84f3784..7791094 100644 --- a/src/gb/gprs_ns2_fr.c +++ b/src/gb/gprs_ns2_fr.c @@ -347,7 +347,7 @@ { struct priv_bind *priv = bind->priv; llist_add(&msg->list, &priv->backlog.list); - osmo_stat_item_inc(bind->statg->items[NS2_BIND_STAT_BACKLOG_LEN], 1); + osmo_stat_item_inc(osmo_stat_item_group_get_item(bind->statg, NS2_BIND_STAT_BACKLOG_LEN), 1); osmo_timer_schedule(&priv->backlog.timer, 0, priv->backlog.retry_us); } @@ -355,7 +355,7 @@ { struct priv_bind *priv = bind->priv; llist_add_tail(&msg->list, &priv->backlog.list); - osmo_stat_item_inc(bind->statg->items[NS2_BIND_STAT_BACKLOG_LEN], 1); + osmo_stat_item_inc(osmo_stat_item_group_get_item(bind->statg, NS2_BIND_STAT_BACKLOG_LEN), 1); osmo_timer_schedule(&priv->backlog.timer, 0, priv->backlog.retry_us); } @@ -439,7 +439,7 @@ llist_add(&msg->list, &priv->backlog.list); break; } - osmo_stat_item_dec(bind->statg->items[NS2_BIND_STAT_BACKLOG_LEN], 1); + osmo_stat_item_dec(osmo_stat_item_group_get_item(bind->statg, NS2_BIND_STAT_BACKLOG_LEN), 1); } restart_timer: diff --git a/src/gb/gprs_ns2_message.c b/src/gb/gprs_ns2_message.c index 93341bb..ad115ef 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(&nsvc->ctrg->ctr[NS_CTR_PKTS_OUT_DROP]); - rate_ctr_add(&nsvc->ctrg->ctr[NS_CTR_BYTES_OUT_DROP], bytes); + 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); } else { - rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_PKTS_OUT]); - rate_ctr_add(&nsvc->ctrg->ctr[NS_CTR_BYTES_OUT], bytes); + 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); } return rc; @@ -223,7 +223,7 @@ if (!msg) return -ENOMEM; - rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_BLOCKED]); + rate_ctr_inc(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_BLOCKED)); msg->l2h = msgb_put(msg, sizeof(*nsh)); nsh = (struct gprs_ns_hdr *) msg->l2h; diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c index 7ed8299..341a5a1 100644 --- a/src/gb/gprs_ns2_vc_fsm.c +++ b/src/gb/gprs_ns2_vc_fsm.c @@ -209,7 +209,7 @@ priv->alive.mode = NS_TOUT_TNS_TEST; osmo_timer_schedule(&priv->alive.timer, nsi->timeout[NS_TOUT_TNS_TEST], 0); - osmo_stat_item_set(nsvc->statg->items[NS_STAT_ALIVE_DELAY], + osmo_stat_item_set(osmo_stat_item_group_get_item(nsvc->statg, NS_STAT_ALIVE_DELAY), alive_timer_elapsed_ms(priv)); } @@ -229,7 +229,7 @@ osmo_timer_schedule(&priv->alive.timer, nsi->timeout[NS_TOUT_TNS_ALIVE], 0); break; case NS_TOUT_TNS_ALIVE: - rate_ctr_inc(&priv->nsvc->ctrg->ctr[NS_CTR_LOST_ALIVE]); + rate_ctr_inc(rate_ctr_group_get_ctr(priv->nsvc->ctrg, NS_CTR_LOST_ALIVE)); priv->alive.N++; if (priv->alive.N <= nsi->timeout[NS_TOUT_TNS_ALIVE_RETRIES]) { @@ -335,7 +335,7 @@ if (old_state != GPRS_NS2_ST_BLOCKED) { priv->N = 0; - rate_ctr_inc(&priv->nsvc->ctrg->ctr[NS_CTR_BLOCKED]); + rate_ctr_inc(rate_ctr_group_get_ctr(priv->nsvc->ctrg, NS_CTR_BLOCKED)); } if (priv->om_blocked) { @@ -410,7 +410,7 @@ struct gprs_ns2_nse *nse = nsvc->nse; if (old_state != GPRS_NS2_ST_UNBLOCKED) - rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_UNBLOCKED]); + rate_ctr_inc(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_UNBLOCKED)); priv->accept_unitdata = true; ns2_nse_notify_unblocked(nsvc, true); @@ -525,7 +525,7 @@ switch (fi->state) { case GPRS_NS2_ST_RESET: if (priv->initiate_reset) { - rate_ctr_inc(&priv->nsvc->ctrg->ctr[NS_CTR_LOST_RESET]); + rate_ctr_inc(rate_ctr_group_get_ctr(priv->nsvc->ctrg, 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); diff --git a/tests/gb/gprs_ns_test.c b/tests/gb/gprs_ns_test.c index 454a29e..6ced6a3 100644 --- a/tests/gb/gprs_ns_test.c +++ b/tests/gb/gprs_ns_test.c @@ -262,7 +262,7 @@ unsigned int i; for (i = 0; i < ctrg->desc->num_ctr; i++) { - struct rate_ctr *ctr = &ctrg->ctr[i]; + struct rate_ctr *ctr = rate_ctr_group_get_ctr(ctrg, i); if (ctr->current && !strchr(ctrg->desc->ctr_desc[i].name, ':')) fprintf(stream, " %s%s: %llu%s", prefix, ctrg->desc->ctr_desc[i].description, diff --git a/tests/stats/stats_test.c b/tests/stats/stats_test.c index a4aedd3..15f50d2 100644 --- a/tests/stats/stats_test.c +++ b/tests/stats/stats_test.c @@ -110,130 +110,130 @@ sitem1 = osmo_stat_item_get_by_name(statg, "item.a"); OSMO_ASSERT(sitem1 != NULL); - OSMO_ASSERT(sitem1 == statg->items[TEST_A_ITEM]); + OSMO_ASSERT(sitem1 == osmo_stat_item_group_get_item(statg, TEST_A_ITEM)); sitem2 = osmo_stat_item_get_by_name(statg, "item.b"); OSMO_ASSERT(sitem2 != NULL); OSMO_ASSERT(sitem2 != sitem1); - OSMO_ASSERT(sitem2 == statg->items[TEST_B_ITEM]); + OSMO_ASSERT(sitem2 == osmo_stat_item_group_get_item(statg, TEST_B_ITEM)); - value = osmo_stat_item_get_last(statg->items[TEST_A_ITEM]); + value = osmo_stat_item_get_last(osmo_stat_item_group_get_item(statg, TEST_A_ITEM)); OSMO_ASSERT(value == -1); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 0); - osmo_stat_item_set(statg->items[TEST_A_ITEM], 1); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), 1); - value = osmo_stat_item_get_last(statg->items[TEST_A_ITEM]); + value = osmo_stat_item_get_last(osmo_stat_item_group_get_item(statg, TEST_A_ITEM)); OSMO_ASSERT(value == 1); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 1); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 0); for (i = 2; i <= 32; i++) { - osmo_stat_item_set(statg->items[TEST_A_ITEM], i); - osmo_stat_item_set(statg->items[TEST_B_ITEM], 1000 + i); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), i); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg, TEST_B_ITEM), 1000 + i); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == i); - rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_B_ITEM), &next_id_b, &value); OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 1000 + i); } /* check if dec & inc is working */ - osmo_stat_item_set(statg->items[TEST_A_ITEM], 42); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), 42); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 42); - osmo_stat_item_dec(statg->items[TEST_A_ITEM], 21); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + osmo_stat_item_dec(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), 21); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 21); - osmo_stat_item_inc(statg->items[TEST_A_ITEM], 21); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + osmo_stat_item_inc(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), 21); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 42); /* Keep 2 in FIFO */ - osmo_stat_item_set(statg->items[TEST_A_ITEM], 33); - osmo_stat_item_set(statg->items[TEST_B_ITEM], 1000 + 33); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), 33); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg, TEST_B_ITEM), 1000 + 33); for (i = 34; i <= 64; i++) { - osmo_stat_item_set(statg->items[TEST_A_ITEM], i); - osmo_stat_item_set(statg->items[TEST_B_ITEM], 1000 + i); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), i); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg, TEST_B_ITEM), 1000 + i); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == i-1); - rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_B_ITEM), &next_id_b, &value); OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 1000 + i-1); } - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 64); - rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_B_ITEM), &next_id_b, &value); OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 1000 + 64); /* Overrun FIFOs */ for (i = 65; i <= 96; i++) { - osmo_stat_item_set(statg->items[TEST_A_ITEM], i); - osmo_stat_item_set(statg->items[TEST_B_ITEM], 1000 + i); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), i); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg, TEST_B_ITEM), 1000 + i); } fprintf(stderr, "Skipping %d values\n", 93 - 65); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 93 - 65 + 1); OSMO_ASSERT(value == 93); for (i = 94; i <= 96; i++) { - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == i); } fprintf(stderr, "Skipping %d values\n", 90 - 65); - rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_B_ITEM), &next_id_b, &value); OSMO_ASSERT(rc == 90 - 65 + 1); OSMO_ASSERT(value == 1000 + 90); for (i = 91; i <= 96; i++) { - rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_B_ITEM), &next_id_b, &value); OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 1000 + i); } /* Test Discard (single item) */ - osmo_stat_item_set(statg->items[TEST_A_ITEM], 97); - rc = osmo_stat_item_discard(statg->items[TEST_A_ITEM], &next_id_a); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), 97); + rc = osmo_stat_item_discard(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a); OSMO_ASSERT(rc == 1); - rc = osmo_stat_item_discard(statg->items[TEST_A_ITEM], &next_id_a); + rc = osmo_stat_item_discard(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a); OSMO_ASSERT(rc == 0); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 0); - osmo_stat_item_set(statg->items[TEST_A_ITEM], 98); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), 98); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 98); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); + rc = osmo_stat_item_get_next(osmo_stat_item_group_get_item(statg, TEST_A_ITEM), &next_id_a, &value); OSMO_ASSERT(rc == 0); osmo_stat_item_group_free(statg); @@ -417,27 +417,27 @@ OSMO_ASSERT(send_count == 0); fprintf(stderr, "report (group 1, counter 1 update):\n"); - rate_ctr_inc(&ctrg1->ctr[TEST_A_CTR]); + rate_ctr_inc(rate_ctr_group_get_ctr(ctrg1, TEST_A_CTR)); send_count = 0; osmo_stats_report(); OSMO_ASSERT(send_count == 2); fprintf(stderr, "report (group 1, item 1 update):\n"); - osmo_stat_item_set(statg1->items[TEST_A_ITEM], 10); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg1, TEST_A_ITEM), 10); send_count = 0; osmo_stats_report(); OSMO_ASSERT(send_count == 2); fprintf(stderr, "report (group 1, item 1 update twice):\n"); - osmo_stat_item_set(statg1->items[TEST_A_ITEM], 10); - osmo_stat_item_set(statg1->items[TEST_A_ITEM], 10); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg1, TEST_A_ITEM), 10); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg1, TEST_A_ITEM), 10); send_count = 0; osmo_stats_report(); OSMO_ASSERT(send_count == 2); fprintf(stderr, "report (group 1, item 1 update twice, check max):\n"); - osmo_stat_item_set(statg1->items[TEST_A_ITEM], 20); - osmo_stat_item_set(statg1->items[TEST_A_ITEM], 10); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg1, TEST_A_ITEM), 20); + osmo_stat_item_set(osmo_stat_item_group_get_item(statg1, TEST_A_ITEM), 10); send_count = 0; osmo_stats_report(); OSMO_ASSERT(send_count == 2); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24561 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I41297a8df68e28dfc6016330ac82b0ed5dd0ebc1 Gerrit-Change-Number: 24561 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 Jun 4 19:38:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:38:23 +0000 Subject: Change in osmo-smlc[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-smlc/+/24560 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-smlc/+/24560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-smlc Gerrit-Branch: master Gerrit-Change-Id: I594c08b8fe0ed54a31353d8c6c911cc7293ae7c0 Gerrit-Change-Number: 24560 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Jun 2021 19:38: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 Jun 4 19:38:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:38:25 +0000 Subject: Change in osmo-smlc[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-smlc/+/24560 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Use new stat item/ctr getter APIs Generated with spatch: """ @@ expression E1, E2; @@ - &E2->ctr[E1] + rate_ctr_group_get_ctr(E2, E1) """ Change-Id: I594c08b8fe0ed54a31353d8c6c911cc7293ae7c0 --- M src/osmo-smlc/sccp_lb_inst.c M src/osmo-smlc/smlc_loc_req.c 2 files changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-smlc/sccp_lb_inst.c b/src/osmo-smlc/sccp_lb_inst.c index 5a5c5e9..1e325f5 100644 --- a/src/osmo-smlc/sccp_lb_inst.c +++ b/src/osmo-smlc/sccp_lb_inst.c @@ -186,14 +186,14 @@ { int rc; if (!sli->scu) { - rate_ctr_inc(&g_smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_ERR_CONN_NOT_READY]); + rate_ctr_inc(rate_ctr_group_get_ctr(g_smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_ERR_CONN_NOT_READY)); return -EIO; } rc = osmo_sccp_user_sap_down_nofree(sli->scu, oph); if (rc >= 0) - rate_ctr_inc(&g_smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_SUCCESS]); + rate_ctr_inc(rate_ctr_group_get_ctr(g_smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_SUCCESS)); else - rate_ctr_inc(&g_smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_ERR_SEND]); + rate_ctr_inc(rate_ctr_group_get_ctr(g_smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_ERR_SEND)); return rc; } diff --git a/src/osmo-smlc/smlc_loc_req.c b/src/osmo-smlc/smlc_loc_req.c index 1365bfa..392e247 100644 --- a/src/osmo-smlc/smlc_loc_req.c +++ b/src/osmo-smlc/smlc_loc_req.c @@ -96,7 +96,7 @@ { struct smlc_loc_req *smlc_loc_req; - rate_ctr_inc(&g_smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_RX_DT1_PERFORM_LOCATION_REQUEST]); + rate_ctr_inc(rate_ctr_group_get_ctr(g_smlc->ctrs, SMLC_CTR_BSSMAP_LE_RX_DT1_PERFORM_LOCATION_REQUEST)); if (lb_conn->smlc_loc_req) { /* Another request is already pending. If we send Perform Location Abort, the peer doesn't know which -- To view, visit https://gerrit.osmocom.org/c/osmo-smlc/+/24560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-smlc Gerrit-Branch: master Gerrit-Change-Id: I594c08b8fe0ed54a31353d8c6c911cc7293ae7c0 Gerrit-Change-Number: 24560 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 Jun 4 19:38:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:38:28 +0000 Subject: Change in osmo-e1d[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/24558 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/24558 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: Ib1bf9a6e5d2743522f888e7ef4815283b82ef809 Gerrit-Change-Number: 24558 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 04 Jun 2021 19: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 Fri Jun 4 19:38:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:38:30 +0000 Subject: Change in osmo-e1d[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/24558 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Use new stat item/ctr getter APIs Change-Id: Ib1bf9a6e5d2743522f888e7ef4815283b82ef809 --- M src/e1d.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified tnt: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/e1d.h b/src/e1d.h index 70bca38..e824f8f 100644 --- a/src/e1d.h +++ b/src/e1d.h @@ -35,7 +35,7 @@ LINE_NODE }; -#define line_ctr_add(line, idx, add) rate_ctr_add(&(line)->ctrs->ctr[idx], add) +#define line_ctr_add(line, idx, add) rate_ctr_add(rate_ctr_group_get_ctr((line)->ctrs, idx), add) enum e1d_line_ctr { LINE_CTR_LOS, -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/24558 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: Ib1bf9a6e5d2743522f888e7ef4815283b82ef809 Gerrit-Change-Number: 24558 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 19:38:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:38:33 +0000 Subject: Change in osmo-e1d[master]: gitignore: Add configure~ In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/24559 ) Change subject: gitignore: Add configure~ ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/24559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: Iadcf4db79eef567781459cee5e7487984f3cfc54 Gerrit-Change-Number: 24559 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 04 Jun 2021 19:38: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 Jun 4 19:38:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:38:39 +0000 Subject: Change in osmo-e1d[master]: gitignore: Add configure~ In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/24559 ) Change subject: gitignore: Add configure~ ...................................................................... gitignore: Add configure~ Change-Id: Iadcf4db79eef567781459cee5e7487984f3cfc54 --- M .gitignore 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified tnt: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/.gitignore b/.gitignore index 3e31435..7816fd5 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ autom4te.cache compile configure +configure~ depcomp install-sh libtool -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/24559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: Iadcf4db79eef567781459cee5e7487984f3cfc54 Gerrit-Change-Number: 24559 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 19:38:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:38:43 +0000 Subject: Change in osmo-bts[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24555 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24555 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9b8e31adcbb3142d3d09f1f0e0ae7e435bb2c5ca Gerrit-Change-Number: 24555 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Jun 2021 19:38:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 19:38:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:38:46 +0000 Subject: Change in osmo-bts[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24555 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Use new stat item/ctr getter APIs Generated with spatch: """ @@ expression E1, E2; @@ - &E2->ctr[E1] + rate_ctr_group_get_ctr(E2, E1) """ Change-Id: I9b8e31adcbb3142d3d09f1f0e0ae7e435bb2c5ca --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index fa5c719..4a23f11 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -88,7 +88,7 @@ br->fn, br->tn, SCHED_FH_PARAMS_VALS(ts)); struct bts_trx_priv *priv = (struct bts_trx_priv *) ts->trx->bts->model_priv; - rate_ctr_inc(&priv->ctrs->ctr[BTSTRX_CTR_SCHED_DL_FH_NO_CARRIER]); + rate_ctr_inc(rate_ctr_group_get_ctr(priv->ctrs, BTSTRX_CTR_SCHED_DL_FH_NO_CARRIER)); return NULL; } @@ -227,7 +227,7 @@ bi->fn, bi->tn, SCHED_FH_PARAMS_VALS(&src_trx->ts[bi->tn])); struct bts_trx_priv *priv = (struct bts_trx_priv *) src_trx->bts->model_priv; - rate_ctr_inc(&priv->ctrs->ctr[BTSTRX_CTR_SCHED_UL_FH_NO_CARRIER]); + rate_ctr_inc(rate_ctr_group_get_ctr(priv->ctrs, BTSTRX_CTR_SCHED_UL_FH_NO_CARRIER)); return NULL; } @@ -299,7 +299,7 @@ if (expire_count > 1) { LOGP(DL1C, LOGL_NOTICE, "FN timer expire_count=%"PRIu64": We missed %"PRIu64" timers\n", expire_count, expire_count - 1); - rate_ctr_add(&bts_trx->ctrs->ctr[BTSTRX_CTR_SCHED_DL_MISS_FN], expire_count - 1); + rate_ctr_add(rate_ctr_group_get_ctr(bts_trx->ctrs, BTSTRX_CTR_SCHED_DL_MISS_FN), expire_count - 1); } /* check if transceiver is still alive */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24555 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9b8e31adcbb3142d3d09f1f0e0ae7e435bb2c5ca Gerrit-Change-Number: 24555 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 Jun 4 19:38:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:38:50 +0000 Subject: Change in osmo-gbproxy[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24557 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24557 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Ibc17979c171b6efa522cfd80fddf3f3c593dbd0b Gerrit-Change-Number: 24557 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Jun 2021 19:38:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 19:38:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:38:52 +0000 Subject: Change in osmo-gbproxy[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24557 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Use new stat item/ctr getter APIs Generated with spatch: """ @@ expression E1, E2; @@ - &E2->ctr[E1] + rate_ctr_group_get_ctr(E2, E1) """ Change-Id: Ibc17979c171b6efa522cfd80fddf3f3c593dbd0b --- M src/gb_proxy.c 1 file changed, 17 insertions(+), 18 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/gb_proxy.c b/src/gb_proxy.c index b8bbc9a..8c8faf7 100644 --- a/src/gb_proxy.c +++ b/src/gb_proxy.c @@ -145,7 +145,7 @@ PRIM_OP_REQUEST, msg); rc = gprs_ns2_recv_prim(nsi, &nsp.oph); if (rc < 0) - rate_ctr_inc(&cfg->ctrg->ctr[GBPROX_GLOB_CTR_TX_ERR_SGSN]); + rate_ctr_inc(rate_ctr_group_get_ctr(cfg->ctrg, GBPROX_GLOB_CTR_TX_ERR_SGSN)); return rc; } #endif @@ -221,7 +221,7 @@ rc = bssgp2_nsi_tx_ptp(nsi, nse->nsei, ns_bvci, msg, tlli); /* FIXME: We need a counter group for gbproxy_nse */ //if (rc < 0) - // rate_ctr_inc(&bvc->ctrg->ctr[GBPROX_PEER_CTR_TX_ERR]); + // rate_ctr_inc(rate_ctr_group_get_ctr(bvc->ctrg, GBPROX_PEER_CTR_TX_ERR)); return rc; } @@ -236,7 +236,7 @@ rc = gbprox_relay2nse(old_msg, nse, ns_bvci); if (rc < 0) - rate_ctr_inc(&bvc->ctrg->ctr[GBPROX_PEER_CTR_TX_ERR]); + rate_ctr_inc(rate_ctr_group_get_ctr(bvc->ctrg, GBPROX_PEER_CTR_TX_ERR)); return rc; } @@ -434,7 +434,7 @@ msgb_bssgp_len(msg) - sizeof(*bgph), 0, 0, DGPRS, log_pfx); } if (rc < 0) { - rate_ctr_inc(&nse->cfg->ctrg->ctr[GBPROX_GLOB_CTR_PROTO_ERR_BSS]); + rate_ctr_inc(rate_ctr_group_get_ctr(nse->cfg->ctrg, GBPROX_GLOB_CTR_PROTO_ERR_BSS)); return tx_status_from_tlvp(nse, rc, msg); } /* hack to get both msg + tlv_parsed passed via osmo_fsm_inst_dispatch */ @@ -540,13 +540,13 @@ if (!sgsn_bvc) { LOGP(DGPRS, LOGL_NOTICE, "%s %s - Didn't find BVC for for PTP message, discarding\n", log_pfx, pdut_name); - rate_ctr_inc(&nse->cfg->ctrg-> ctr[GBPROX_GLOB_CTR_INV_BVCI]); + rate_ctr_inc(rate_ctr_group_get_ctr(nse->cfg->ctrg, GBPROX_GLOB_CTR_INV_BVCI)); return tx_status(nse, ns_bvci, BSSGP_CAUSE_UNKNOWN_BVCI, &ns_bvci, msg); } if (!bssgp_bvc_fsm_is_unblocked(sgsn_bvc->fi)) { LOGPBVC(sgsn_bvc, LOGL_NOTICE, "Rx %s: Dropping on blocked BVC\n", pdut_name); - rate_ctr_inc(&sgsn_bvc->ctrg->ctr[GBPROX_PEER_CTR_DROPPED]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn_bvc->ctrg, GBPROX_PEER_CTR_DROPPED)); return tx_status(nse, ns_bvci, BSSGP_CAUSE_BVCI_BLOCKED, &ns_bvci, msg); } @@ -566,7 +566,7 @@ msgb_bssgp_len(msg) - sizeof(*bgph), 0, 0, DGPRS, log_pfx); } if (rc < 0) { - rate_ctr_inc(&nse->cfg->ctrg->ctr[GBPROX_GLOB_CTR_PROTO_ERR_BSS]); + rate_ctr_inc(rate_ctr_group_get_ctr(nse->cfg->ctrg, GBPROX_GLOB_CTR_PROTO_ERR_BSS)); return tx_status_from_tlvp(nse, rc, msg); } /* hack to get both msg + tlv_parsed passed via osmo_fsm_inst_dispatch */ @@ -1024,7 +1024,7 @@ rc = osmo_tlv_prot_parse(&osmo_pdef_bssgp, tp, ARRAY_SIZE(tp), pdu_type, bgph->data, data_len, 0, 0, DGPRS, log_pfx); if (rc < 0) { - rate_ctr_inc(&nse->cfg->ctrg->ctr[GBPROX_GLOB_CTR_PROTO_ERR_BSS]); + rate_ctr_inc(rate_ctr_group_get_ctr(nse->cfg->ctrg, GBPROX_GLOB_CTR_PROTO_ERR_BSS)); return tx_status_from_tlvp(nse, rc, msg); } /* hack to get both msg + tlv_parsed passed via osmo_fsm_inst_dispatch */ @@ -1122,7 +1122,7 @@ return rc; err_no_bvc: LOGPNSE(nse, LOGL_ERROR, "Rx %s: cannot find BVC for BVCI=%05u\n", pdut_name, ptp_bvci); - rate_ctr_inc(&nse->cfg->ctrg->ctr[GBPROX_GLOB_CTR_INV_NSEI]); + rate_ctr_inc(rate_ctr_group_get_ctr(nse->cfg->ctrg, GBPROX_GLOB_CTR_INV_NSEI)); return tx_status(nse, ns_bvci, BSSGP_CAUSE_INV_MAND_INF, NULL, msg); } @@ -1144,7 +1144,7 @@ if (!sgsn_bvc) { LOGPNSE(sgsn_nse, LOGL_NOTICE, "Rx %s: unable to route: BVCI=%05u unknown\n", pdut_name, bvci); - rate_ctr_inc(&cfg->ctrg->ctr[errctr]); + rate_ctr_inc(rate_ctr_group_get_ctr(cfg->ctrg, errctr)); return -EINVAL; } LOGPBVC(sgsn_bvc, LOGL_INFO, "Rx %s: routing by BVCI\n", pdut_name); @@ -1196,12 +1196,12 @@ } } else { LOGPNSE(sgsn_nse, LOGL_ERROR, "BSSGP PAGING: unable to route, missing IE\n"); - rate_ctr_inc(&cfg->ctrg->ctr[errctr]); + rate_ctr_inc(rate_ctr_group_get_ctr(cfg->ctrg, errctr)); } if (n_nses == 0) { LOGPNSE(sgsn_nse, LOGL_ERROR, "BSSGP PAGING: unable to route, no destination found\n"); - rate_ctr_inc(&cfg->ctrg->ctr[errctr]); + rate_ctr_inc(rate_ctr_group_get_ctr(cfg->ctrg, errctr)); return -EINVAL; } return 0; @@ -1224,7 +1224,7 @@ from_bvc = gbproxy_bvc_by_bvci(nse, ptp_bvci); if (!from_bvc) { LOGPNSE(nse, LOGL_ERROR, "Rx BVC-RESET BVCI=%05u: Cannot find BVC\n", ptp_bvci); - rate_ctr_inc(&nse->cfg->ctrg->ctr[GBPROX_GLOB_CTR_INV_BVCI]); + rate_ctr_inc(rate_ctr_group_get_ctr(nse->cfg->ctrg, GBPROX_GLOB_CTR_INV_BVCI)); return tx_status(nse, ns_bvci, BSSGP_CAUSE_UNKNOWN_BVCI, &ptp_bvci, msg); } osmo_fsm_inst_dispatch(from_bvc->fi, BSSGP_BVCFSM_E_RX_RESET, msg); @@ -1332,7 +1332,7 @@ DGPRS, log_pfx); if (rc < 0) { rc = tx_status_from_tlvp(nse, rc, msg); - rate_ctr_inc(&cfg->ctrg->ctr[GBPROX_GLOB_CTR_PROTO_ERR_SGSN]); + rate_ctr_inc(rate_ctr_group_get_ctr(cfg->ctrg, GBPROX_GLOB_CTR_PROTO_ERR_SGSN)); return rc; } /* hack to get both msg + tlv_parsed passed via osmo_fsm_inst_dispatch */ @@ -1446,7 +1446,7 @@ break; default: LOGPNSE(nse, LOGL_NOTICE, "Rx %s: Not supported\n", pdut_name); - rate_ctr_inc(&cfg->ctrg->ctr[GBPROX_GLOB_CTR_PROTO_ERR_SGSN]); + rate_ctr_inc(rate_ctr_group_get_ctr(cfg->ctrg, GBPROX_GLOB_CTR_PROTO_ERR_SGSN)); rc = tx_status(nse, ns_bvci, BSSGP_CAUSE_PROTO_ERR_UNSPEC, NULL, msg); break; } @@ -1455,7 +1455,7 @@ err_no_bvc: LOGPNSE(nse, LOGL_ERROR, "Rx %s: Cannot find BVC\n", pdut_name); - rate_ctr_inc(&cfg->ctrg-> ctr[GBPROX_GLOB_CTR_INV_RAI]); + rate_ctr_inc(rate_ctr_group_get_ctr(cfg->ctrg, GBPROX_GLOB_CTR_INV_RAI)); return tx_status(nse, ns_bvci, BSSGP_CAUSE_INV_MAND_INF, NULL, msg); } @@ -1571,8 +1571,7 @@ continue; gbproxy_bvc_free(bvc); } - rate_ctr_inc(&cfg->ctrg-> - ctr[GBPROX_GLOB_CTR_RESTART_RESET_SGSN]); + rate_ctr_inc(rate_ctr_group_get_ctr(cfg->ctrg, GBPROX_GLOB_CTR_RESTART_RESET_SGSN)); } else { /* BSS became unavailable * Block matching PtP-BVCs on SGSN-side */ -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24557 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Ibc17979c171b6efa522cfd80fddf3f3c593dbd0b Gerrit-Change-Number: 24557 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 Jun 4 19:38:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:38:55 +0000 Subject: Change in osmo-pcap[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcap/+/24556 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcap/+/24556 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcap Gerrit-Branch: master Gerrit-Change-Id: Ic860db04489e9ee7312edb008497186116f30bfc Gerrit-Change-Number: 24556 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Jun 2021 19:38: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 Jun 4 19:38:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:38:57 +0000 Subject: Change in osmo-pcap[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcap/+/24556 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Use new stat item/ctr getter APIs Generated with spatch: """ @@ expression E1, E2; @@ - &E2->ctr[E1] + rate_ctr_group_get_ctr(E2, E1) """ Change-Id: Ic860db04489e9ee7312edb008497186116f30bfc --- M src/osmo_client_core.c M src/osmo_client_network.c M src/osmo_server_network.c 3 files changed, 21 insertions(+), 21 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo_client_core.c b/src/osmo_client_core.c index 025e3a4..59a6777 100644 --- a/src/osmo_client_core.c +++ b/src/osmo_client_core.c @@ -161,7 +161,7 @@ data = pcap_next(client->handle, &hdr); if (!data) { - rate_ctr_inc(&client->ctrg->ctr[CLIENT_CTR_PERR]); + rate_ctr_inc(rate_ctr_group_get_ctr(client->ctrg, CLIENT_CTR_PERR)); return -1; } @@ -190,14 +190,14 @@ * Only issue is we don't know sizeof(u_int) */ if (*old_val > new_val) { - rate_ctr_add(&client->ctrg->ctr[ctr], P_CAP_UINT_MAX() - *old_val); - rate_ctr_add(&client->ctrg->ctr[ctr], new_val); + rate_ctr_add(rate_ctr_group_get_ctr(client->ctrg, ctr), P_CAP_UINT_MAX() - *old_val); + rate_ctr_add(rate_ctr_group_get_ctr(client->ctrg, ctr), new_val); *old_val = new_val; return; } /* Just increment it */ - rate_ctr_add(&client->ctrg->ctr[ctr], new_val - *old_val); + rate_ctr_add(rate_ctr_group_get_ctr(client->ctrg, ctr), new_val - *old_val); *old_val = new_val; } @@ -215,7 +215,7 @@ if (rc != 0) { LOGP(DCLIENT, LOGL_ERROR, "Failed to query pcap stats: %s\n", pcap_geterr(client->handle)); - rate_ctr_inc(&client->ctrg->ctr[CLIENT_CTR_PERR]); + rate_ctr_inc(rate_ctr_group_get_ctr(client->ctrg, CLIENT_CTR_PERR)); return; } diff --git a/src/osmo_client_network.c b/src/osmo_client_network.c index e5616af..a36a285 100644 --- a/src/osmo_client_network.c +++ b/src/osmo_client_network.c @@ -60,7 +60,7 @@ { if (osmo_wqueue_enqueue_quiet(&conn->wqueue, msg) != 0) { LOGP(DCLIENT, LOGL_ERROR, "Failed to enqueue conn=%s\n", conn->name); - rate_ctr_inc(&conn->client->ctrg->ctr[CLIENT_CTR_QERR]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->client->ctrg, CLIENT_CTR_QERR)); msgb_free(msg); return; } @@ -92,7 +92,7 @@ struct osmo_pcap_client_conn *conn = fd->data; LOGP(DCLIENT, LOGL_ERROR, "Lost connection on write to %s %s:%d.\n", conn->name, conn->srv_ip, conn->srv_port); - rate_ctr_inc(&conn->client->ctrg->ctr[CLIENT_CTR_WERR]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->client->ctrg, CLIENT_CTR_WERR)); lost_connection(conn); return -1; } @@ -173,13 +173,13 @@ LOGP(DCLIENT, LOGL_ERROR, "Recording truncated packet, len %zu > snaplen %zu\n", (size_t) in_hdr->len, (size_t) in_hdr->caplen); - rate_ctr_inc(&conn->client->ctrg->ctr[CLIENT_CTR_2BIG]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->client->ctrg, CLIENT_CTR_2BIG)); } msg = msgb_alloc(in_hdr->caplen + sizeof(*om_hdr) + sizeof(*hdr), "data-data"); if (!msg) { LOGP(DCLIENT, LOGL_ERROR, "Failed to allocate.\n"); - rate_ctr_inc(&conn->client->ctrg->ctr[CLIENT_CTR_NOMEM]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->client->ctrg, CLIENT_CTR_NOMEM)); return; } @@ -199,8 +199,8 @@ memcpy(msg->l3h, data, in_hdr->caplen); om_hdr->len = htons(msgb_l2len(msg)); - rate_ctr_add(&conn->client->ctrg->ctr[CLIENT_CTR_BYTES], hdr->caplen); - rate_ctr_inc(&conn->client->ctrg->ctr[CLIENT_CTR_PKTS]); + rate_ctr_add(rate_ctr_group_get_ctr(conn->client->ctrg, CLIENT_CTR_BYTES), hdr->caplen); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->client->ctrg, CLIENT_CTR_PKTS)); break; case PROTOCOL_IPIP: offset = get_iphdr_offset(pcap_datalink(conn->client->handle)); @@ -305,7 +305,7 @@ osmo_fd_setup(&conn->wqueue.bfd, rc, when, conn_cb, conn, 0); osmo_fd_register(&conn->wqueue.bfd); - rate_ctr_inc(&conn->client->ctrg->ctr[CLIENT_CTR_CONNECT]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->client->ctrg, CLIENT_CTR_CONNECT)); } void osmo_client_reconnect(struct osmo_pcap_client_conn *conn) diff --git a/src/osmo_server_network.c b/src/osmo_server_network.c index 164b161..47ede72 100644 --- a/src/osmo_server_network.c +++ b/src/osmo_server_network.c @@ -120,8 +120,8 @@ if (conn->curr_filename) { client_event(conn, "closingtracefile", conn->curr_filename); - rate_ctr_inc(&conn->ctrg->ctr[PEER_CTR_PROTATE]); - rate_ctr_inc(&conn->server->ctrg->ctr[SERVER_CTR_PROTATE]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->ctrg, PEER_CTR_PROTATE)); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->server->ctrg, SERVER_CTR_PROTATE)); talloc_free(conn->curr_filename); conn->curr_filename = NULL; } @@ -422,12 +422,12 @@ conn->pend = sizeof(*conn->data); /* count the full packet we got */ - rate_ctr_inc(&conn->ctrg->ctr[PEER_CTR_PKTS]); - rate_ctr_inc(&conn->server->ctrg->ctr[SERVER_CTR_PKTS]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->ctrg, PEER_CTR_PKTS)); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->server->ctrg, SERVER_CTR_PKTS)); /* count the bytes of it */ - rate_ctr_add(&conn->ctrg->ctr[PEER_CTR_BYTES], conn->data->len); - rate_ctr_add(&conn->server->ctrg->ctr[SERVER_CTR_BYTES], conn->data->len); + rate_ctr_add(rate_ctr_group_get_ctr(conn->ctrg, PEER_CTR_BYTES), conn->data->len); + rate_ctr_add(rate_ctr_group_get_ctr(conn->server->ctrg, SERVER_CTR_BYTES), conn->data->len); switch (conn->data->type) { case PKT_LINK_HDR: @@ -520,7 +520,7 @@ return; } - rate_ctr_inc(&client->ctrg->ctr[PEER_CTR_CONNECT]); + rate_ctr_inc(rate_ctr_group_get_ctr(client->ctrg, PEER_CTR_CONNECT)); client->state = STATE_INITIAL; client->pend = sizeof(*client->data); @@ -565,7 +565,7 @@ server = fd->data; /* count any accept to see no clients */ - rate_ctr_inc(&server->ctrg->ctr[SERVER_CTR_CONNECT]); + rate_ctr_inc(rate_ctr_group_get_ctr(server->ctrg, SERVER_CTR_CONNECT)); llist_for_each_entry(conn, &server->conn, entry) { if (conn->remote_addr.s_addr == addr.sin_addr.s_addr) { @@ -577,7 +577,7 @@ } } - rate_ctr_inc(&server->ctrg->ctr[SERVER_CTR_NOCLIENT]); + rate_ctr_inc(rate_ctr_group_get_ctr(server->ctrg, SERVER_CTR_NOCLIENT)); /* * TODO: In the future start with a tls handshake and see if we know -- To view, visit https://gerrit.osmocom.org/c/osmo-pcap/+/24556 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcap Gerrit-Branch: master Gerrit-Change-Id: Ic860db04489e9ee7312edb008497186116f30bfc Gerrit-Change-Number: 24556 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 Jun 4 19:39:00 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:39:00 +0000 Subject: Change in osmo-mgw[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24554 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I53b75ea8a88bc1ae4ceb479ed272865054de9665 Gerrit-Change-Number: 24554 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Jun 2021 19:39: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 Jun 4 19:39:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:39:02 +0000 Subject: Change in osmo-mgw[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24554 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Use new stat item/ctr getter APIs Generated with spatch with this and similat snippets: """ @@ expression E1, E2; @@ - &E2->ctr[E1] + rate_c Change-Id: I53b75ea8a88bc1ae4ceb479ed272865054de9665 --- M src/libosmo-mgcp/mgcp_conn.c M src/libosmo-mgcp/mgcp_e1.c M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_stat.c M src/libosmo-mgcp/mgcp_vty.c M tests/mgcp/mgcp_test.c 7 files changed, 79 insertions(+), 79 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libosmo-mgcp/mgcp_conn.c b/src/libosmo-mgcp/mgcp_conn.c index 6424dcb..7988c48 100644 --- a/src/libosmo-mgcp/mgcp_conn.c +++ b/src/libosmo-mgcp/mgcp_conn.c @@ -114,8 +114,8 @@ if (!conn_rtp->rate_ctr_group) return -1; - conn_rtp->state.in_stream.err_ts_ctr = &conn_rtp->rate_ctr_group->ctr[IN_STREAM_ERR_TSTMP_CTR]; - conn_rtp->state.out_stream.err_ts_ctr = &conn_rtp->rate_ctr_group->ctr[OUT_STREAM_ERR_TSTMP_CTR]; + conn_rtp->state.in_stream.err_ts_ctr = rate_ctr_group_get_ctr(conn_rtp->rate_ctr_group, IN_STREAM_ERR_TSTMP_CTR); + conn_rtp->state.out_stream.err_ts_ctr = rate_ctr_group_get_ctr(conn_rtp->rate_ctr_group, OUT_STREAM_ERR_TSTMP_CTR); rate_ctr_index++; /* Make sure codec table is reset */ @@ -270,12 +270,12 @@ OSMO_ASSERT(conn_stats->desc->num_ctr + 1 == all_stats->desc->num_ctr); /* all other counters are [now] updated in real-time */ - rate_ctr_add(&all_stats->ctr[IN_STREAM_ERR_TSTMP_CTR], - conn_stats->ctr[IN_STREAM_ERR_TSTMP_CTR].current); - rate_ctr_add(&all_stats->ctr[OUT_STREAM_ERR_TSTMP_CTR], - conn_stats->ctr[OUT_STREAM_ERR_TSTMP_CTR].current); + rate_ctr_add(rate_ctr_group_get_ctr(all_stats, IN_STREAM_ERR_TSTMP_CTR), + rate_ctr_group_get_ctr(conn_stats, IN_STREAM_ERR_TSTMP_CTR)->current); + rate_ctr_add(rate_ctr_group_get_ctr(all_stats, OUT_STREAM_ERR_TSTMP_CTR), + rate_ctr_group_get_ctr(conn_stats, OUT_STREAM_ERR_TSTMP_CTR)->current); - rate_ctr_inc(&all_stats->ctr[RTP_NUM_CONNECTIONS]); + rate_ctr_inc(rate_ctr_group_get_ctr(all_stats, RTP_NUM_CONNECTIONS)); } /*! free a connection by its ID. diff --git a/src/libosmo-mgcp/mgcp_e1.c b/src/libosmo-mgcp/mgcp_e1.c index 7e810bc..effbe77 100644 --- a/src/libosmo-mgcp/mgcp_e1.c +++ b/src/libosmo-mgcp/mgcp_e1.c @@ -197,7 +197,7 @@ const uint8_t *ptr_ft; enum osmo_trau_frame_type ft; - rate_ctr_inc(&rate_ctrs->ctr[E1_I460_TRAU_MUX_EMPTY_CTR]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, E1_I460_TRAU_MUX_EMPTY_CTR)); /* Choose an appropiate idle frame type */ ft = endp->e1.trau_rtp_st->type; @@ -304,7 +304,7 @@ msgb_free(msg); return; skip: - rate_ctr_inc(&rate_ctrs->ctr[E1_I460_TRAU_RX_FAIL_CTR]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, E1_I460_TRAU_RX_FAIL_CTR)); msgb_free(msg); return; } @@ -679,7 +679,7 @@ return 0; skip: - rate_ctr_inc(&rate_ctrs->ctr[E1_I460_TRAU_TX_FAIL_CTR]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, E1_I460_TRAU_TX_FAIL_CTR)); msgb_free(msg_tf); return -1; } diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index e03c100..79ddf8a 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -66,8 +66,8 @@ struct rate_ctr_group *mgw_stats = endp->trunk->ratectr.all_rtp_conn_stats; /* add to both the per-connection and the global stats */ - rate_ctr_add(&conn_stats->ctr[id], inc); - rate_ctr_add(&mgw_stats->ctr[id], inc); + rate_ctr_add(rate_ctr_group_get_ctr(conn_stats, id), inc); + rate_ctr_add(rate_ctr_group_get_ctr(mgw_stats, id), inc); } static void rtpconn_rate_ctr_inc(struct mgcp_conn_rtp *conn_rtp, struct mgcp_endpoint *endp, int id) @@ -1475,8 +1475,8 @@ sizeof(struct sockaddr_in))); /* Increment RX statistics */ - rate_ctr_inc(&conn_src->rate_ctr_group->ctr[RTP_PACKETS_RX_CTR]); - rate_ctr_add(&conn_src->rate_ctr_group->ctr[RTP_OCTETS_RX_CTR], msgb_length(msg)); + rate_ctr_inc(rate_ctr_group_get_ctr(conn_src->rate_ctr_group, RTP_PACKETS_RX_CTR)); + rate_ctr_add(rate_ctr_group_get_ctr(conn_src->rate_ctr_group, RTP_OCTETS_RX_CTR), msgb_length(msg)); /* FIXME: count RTP and RTCP separately, also count IuUP payload-less separately */ /* Forward a copy of the RTP data to a debug ip/port */ diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 902c079..3014048 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -289,16 +289,16 @@ char *data; /* Count all messages, even incorect ones */ - rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_MSGS_TOTAL]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_MSGS_TOTAL)); if (msgb_l2len(msg) < 4) { LOGP(DLMGCP, LOGL_ERROR, "msg too short: %d\n", msg->len); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_FAIL_MSG_PARSE]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_FAIL_MSG_PARSE)); return NULL; } if (mgcp_msg_terminate_nul(msg)) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_FAIL_MSG_PARSE]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_FAIL_MSG_PARSE)); return NULL; } @@ -307,7 +307,7 @@ /* attempt to treat it as a response */ if (sscanf((const char *)&msg->l2h[0], "%3d %*s", &code) == 1) { LOGP(DLMGCP, LOGL_DEBUG, "Response: Code: %d\n", code); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_FAIL_MSG_PARSE]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_FAIL_MSG_PARSE)); return NULL; } @@ -323,14 +323,14 @@ if (pdata.endp && pdata.trans && pdata.endp->last_trans && strcmp(pdata.endp->last_trans, pdata.trans) == 0) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_MSGS_RETRANSMITTED]); + 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_ctrs->ctr[MGCP_GENERAL_RX_FAIL_NO_ENDPOINT]); + 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); } @@ -345,9 +345,9 @@ } if (handled) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_MSGS_HANDLED]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_MSGS_HANDLED)); } else { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_MSGS_UNHANDLED]); + 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]); } @@ -751,7 +751,7 @@ LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "CRCX: creating new connection ...\n"); if (!mgcp_endp_avail(endp)) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_AVAIL]); + 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); @@ -773,7 +773,7 @@ /* It is illegal to send a connection identifier * together with a CRCX, the MGW will assign the * connection identifier by itself on CRCX */ - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_BAD_ACTION]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_BAD_ACTION)); return create_err_response(NULL, 523, "CRCX", p->trans); break; case 'M': @@ -799,7 +799,7 @@ default: LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "CRCX: unhandled option: '%c'/%d\n", *line, *line); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_UNHANDLED_PARAM]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_UNHANDLED_PARAM)); return create_err_response(NULL, 539, "CRCX", p->trans); break; } @@ -810,14 +810,14 @@ if (!callid) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "CRCX: insufficient parameters, missing callid\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_MISSING_CALLID]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_MISSING_CALLID)); return create_err_response(endp, 516, "CRCX", p->trans); } if (!mode) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "CRCX: insufficient parameters, missing mode\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_INVALID_MODE]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_INVALID_MODE)); return create_err_response(endp, 517, "CRCX", p->trans); } @@ -834,7 +834,7 @@ } else { /* There is no more room for a connection, leave * everything as it is and return with an error */ - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_LIMIT_EXCEEDED]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_LIMIT_EXCEEDED)); return create_err_response(endp, 540, "CRCX", p->trans); } } @@ -852,7 +852,7 @@ else { /* This is not our call, leave everything as it is and * return with an error. */ - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_UNKNOWN_CALLID]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_UNKNOWN_CALLID)); return create_err_response(endp, 400, "CRCX", p->trans); } } @@ -863,7 +863,7 @@ * the callid matches up (see above). */ rc = mgcp_endp_claim(endp, callid); if (rc != 0) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_CLAIM]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_CLAIM)); return create_err_response(endp, 502, "CRCX", p->trans); } } @@ -873,7 +873,7 @@ if (!_conn) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "CRCX: unable to allocate RTP connection\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_ALLOC_CONN]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_ALLOC_CONN)); goto error2; } @@ -883,7 +883,7 @@ if (mgcp_parse_conn_mode(mode, endp, conn->conn) != 0) { error_code = 517; - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_INVALID_MODE]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_INVALID_MODE)); goto error2; } @@ -893,13 +893,13 @@ if (osmux_cid >= -1) { /* -1 is wilcard, alloc next avail CID */ conn->osmux.state = OSMUX_STATE_ACTIVATING; if (conn_osmux_allocate_cid(conn, osmux_cid) == -1) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_NO_OSMUX]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_NO_OSMUX)); goto error2; } } else if (endp->cfg->osmux == OSMUX_USAGE_ONLY) { LOGPCONN(_conn, DLMGCP, LOGL_ERROR, "CRCX: osmux only and no osmux offered\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_NO_OSMUX]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_NO_OSMUX)); goto error2; } @@ -911,7 +911,7 @@ LOGPCONN(_conn, DLMGCP, LOGL_ERROR, "CRCX: inavlid local connection options!\n"); error_code = rc; - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_INVALID_CONN_OPTIONS]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_INVALID_CONN_OPTIONS)); goto error2; } } @@ -921,7 +921,7 @@ mgcp_codec_summary(conn); if (rc) { error_code = rc; - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_CODEC_NEGOTIATION]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_CODEC_NEGOTIATION)); goto error2; } @@ -942,7 +942,7 @@ LOGPCONN(_conn, DLMGCP, LOGL_ERROR, "CRCX: selected connection mode type requires an opposite end!\n"); error_code = 527; - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_NO_REMOTE_CONN_DESC]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_NO_REMOTE_CONN_DESC)); goto error2; } @@ -950,14 +950,14 @@ information, then find a free port for it */ mgcp_get_local_addr(conn->end.local_addr, conn); if (allocate_port(endp, conn) != 0) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_BIND_PORT]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_BIND_PORT)); goto error2; } if (setup_rtp_processing(endp, conn) != 0) { LOGPCONN(_conn, DLMGCP, LOGL_ERROR, "CRCX: could not start RTP processing!\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_START_RTP]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_START_RTP)); goto error2; } @@ -970,7 +970,7 @@ LOGPCONN(_conn, DLMGCP, LOGL_NOTICE, "CRCX: CRCX rejected by policy\n"); mgcp_endp_release(endp); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_REJECTED_BY_POLICY]); + 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); break; case MGCP_POLICY_DEFER: @@ -996,7 +996,7 @@ LOGPCONN(_conn, DLMGCP, LOGL_NOTICE, "CRCX: connection successfully created\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_SUCCESS]); + 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); error2: @@ -1026,7 +1026,7 @@ LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "MDCX: modifying existing connection ...\n"); if (!mgcp_endp_avail(endp)) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_AVAIL]); + 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); @@ -1036,14 +1036,14 @@ if (endp->wildcarded_req) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "MDCX: wildcarded endpoint names not supported.\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_WILDCARD]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_WILDCARD)); return create_err_response(endp, 507, "MDCX", p->trans); } if (llist_count(&endp->conns) <= 0) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "MDCX: endpoint is not holding a connection.\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_NO_CONN]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_NO_CONN)); return create_err_response(endp, 400, "MDCX", p->trans); } @@ -1054,7 +1054,7 @@ switch (toupper(line[0])) { case 'C': if (mgcp_verify_call_id(endp, line + 3) != 0) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_INVALID_CALLID]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_INVALID_CALLID)); error_code = 516; goto error3; } @@ -1062,7 +1062,7 @@ case 'I': conn_id = (const char *)line + 3; if ((error_code = mgcp_verify_ci(endp, conn_id))) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_INVALID_CONNID]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_INVALID_CONNID)); goto error3; } break; @@ -1093,7 +1093,7 @@ LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "MDCX: Unhandled MGCP option: '%c'/%d\n", line[0], line[0]); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_UNHANDLED_PARAM]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_UNHANDLED_PARAM)); return create_err_response(NULL, 539, "MDCX", p->trans); break; } @@ -1103,13 +1103,13 @@ if (!conn_id) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "MDCX: insufficient parameters, missing ci (connectionIdentifier)\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_NO_CONNID]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_NO_CONNID)); return create_err_response(endp, 515, "MDCX", p->trans); } conn = mgcp_conn_get_rtp(endp, conn_id); if (!conn) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_CONN_NOT_FOUND]); + 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); } @@ -1117,7 +1117,7 @@ if (mode) { if (mgcp_parse_conn_mode(mode, endp, conn->conn) != 0) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_INVALID_MODE]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_INVALID_MODE)); error_code = 517; goto error3; } @@ -1132,7 +1132,7 @@ LOGPCONN(conn->conn, DLMGCP, LOGL_ERROR, "MDCX: invalid local connection options!\n"); error_code = rc; - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_INVALID_CONN_OPTIONS]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_INVALID_CONN_OPTIONS)); goto error3; } } @@ -1152,7 +1152,7 @@ LOGPCONN(conn->conn, DLMGCP, LOGL_ERROR, "MDCX: selected connection mode type requires an opposite end!\n"); error_code = 527; - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_NO_REMOTE_CONN_DESC]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_NO_REMOTE_CONN_DESC)); goto error3; } @@ -1185,13 +1185,13 @@ osmo_strlcpy(conn->end.local_addr, new_local_addr, sizeof(conn->end.local_addr)); mgcp_free_rtp_port(&conn->end); if (allocate_port(endp, conn) != 0) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_BIND_PORT]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_BIND_PORT)); goto error3; } } if (setup_rtp_processing(endp, conn) != 0) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_START_RTP]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_START_RTP)); goto error3; } @@ -1204,7 +1204,7 @@ case MGCP_POLICY_REJECT: LOGPCONN(conn->conn, DLMGCP, LOGL_NOTICE, "MDCX: rejected by policy\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_REJECTED_BY_POLICY]); + 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); @@ -1213,7 +1213,7 @@ /* stop processing */ LOGPCONN(conn->conn, DLMGCP, LOGL_DEBUG, "MDCX: deferred by policy\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_DEFERRED_BY_POLICY]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_DEFERRED_BY_POLICY)); return NULL; break; case MGCP_POLICY_CONT: @@ -1236,7 +1236,7 @@ && endp->trunk->keepalive_interval != MGCP_KEEPALIVE_NEVER) send_dummy(endp, conn); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_SUCCESS]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_SUCCESS)); if (silent) goto out_silent; @@ -1268,7 +1268,7 @@ "DLCX: deleting connection ...\n"); if (!mgcp_endp_avail(endp)) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_DLCX_FAIL_AVAIL]); + 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); @@ -1278,14 +1278,14 @@ if (endp->wildcarded_req) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "DLCX: wildcarded endpoint names not supported.\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_DLCX_FAIL_WILDCARD]); + 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) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "DLCX: endpoint is not holding a connection.\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_DLCX_FAIL_NO_CONN]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_NO_CONN)); return create_err_response(endp, 515, "DLCX", p->trans); } @@ -1297,14 +1297,14 @@ case 'C': if (mgcp_verify_call_id(endp, line + 3) != 0) { error_code = 516; - rate_ctr_inc(&rate_ctrs->ctr[MGCP_DLCX_FAIL_INVALID_CALLID]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_INVALID_CALLID)); goto error3; } break; case 'I': conn_id = (const char *)line + 3; if ((error_code = mgcp_verify_ci(endp, conn_id))) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_DLCX_FAIL_INVALID_CONNID]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_INVALID_CONNID)); goto error3; } break; @@ -1315,7 +1315,7 @@ LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "DLCX: Unhandled MGCP option: '%c'/%d\n", line[0], line[0]); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_DLCX_FAIL_UNHANDLED_PARAM]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_UNHANDLED_PARAM)); return create_err_response(NULL, 539, "DLCX", p->trans); break; } @@ -1328,14 +1328,14 @@ switch (rc) { case MGCP_POLICY_REJECT: LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "DLCX: rejected by policy\n"); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_DLCX_FAIL_REJECTED_BY_POLICY]); + 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); break; case MGCP_POLICY_DEFER: /* stop processing */ - rate_ctr_inc(&rate_ctrs->ctr[MGCP_DLCX_DEFERRED_BY_POLICY]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_DEFERRED_BY_POLICY)); return NULL; break; case MGCP_POLICY_CONT: @@ -1354,7 +1354,7 @@ num_conns); if (num_conns > 0) - rate_ctr_add(&rate_ctrs->ctr[MGCP_DLCX_SUCCESS], num_conns); + rate_ctr_add(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_SUCCESS), num_conns); mgcp_endp_release(endp); @@ -1367,7 +1367,7 @@ /* Find the connection */ conn = mgcp_conn_get_rtp(endp, conn_id); if (!conn) { - rate_ctr_inc(&rate_ctrs->ctr[MGCP_DLCX_FAIL_INVALID_CONNID]); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_INVALID_CONNID)); goto error3; } /* save the statistics of the current connection */ @@ -1390,7 +1390,7 @@ if (p->cfg->change_cb) p->cfg->change_cb(endp, MGCP_ENDP_DLCX); - rate_ctr_inc(&rate_ctrs->ctr[MGCP_DLCX_SUCCESS]); + 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); diff --git a/src/libosmo-mgcp/mgcp_stat.c b/src/libosmo-mgcp/mgcp_stat.c index 2e74238..89891b5 100644 --- a/src/libosmo-mgcp/mgcp_stat.c +++ b/src/libosmo-mgcp/mgcp_stat.c @@ -33,7 +33,7 @@ void calc_loss(struct mgcp_conn_rtp *conn, uint32_t *expected, int *loss) { struct mgcp_rtp_state *state = &conn->state; - struct rate_ctr *packets_rx = &conn->rate_ctr_group->ctr[RTP_PACKETS_RX_CTR]; + struct rate_ctr *packets_rx = rate_ctr_group_get_ctr(conn->rate_ctr_group, RTP_PACKETS_RX_CTR); *expected = state->stats.cycles + state->stats.max_seq; *expected = *expected - state->stats.base_seq + 1; @@ -74,10 +74,10 @@ int ploss; int nchars; - struct rate_ctr *packets_rx = &conn->rate_ctr_group->ctr[RTP_PACKETS_RX_CTR]; - struct rate_ctr *octets_rx = &conn->rate_ctr_group->ctr[RTP_OCTETS_RX_CTR]; - struct rate_ctr *packets_tx = &conn->rate_ctr_group->ctr[RTP_PACKETS_TX_CTR]; - struct rate_ctr *octets_tx = &conn->rate_ctr_group->ctr[RTP_OCTETS_TX_CTR]; + struct rate_ctr *packets_rx = rate_ctr_group_get_ctr(conn->rate_ctr_group, RTP_PACKETS_RX_CTR); + struct rate_ctr *octets_rx = rate_ctr_group_get_ctr(conn->rate_ctr_group, RTP_OCTETS_RX_CTR); + struct rate_ctr *packets_tx = rate_ctr_group_get_ctr(conn->rate_ctr_group, RTP_PACKETS_TX_CTR); + struct rate_ctr *octets_tx = rate_ctr_group_get_ctr(conn->rate_ctr_group, RTP_OCTETS_TX_CTR); calc_loss(conn, &expected, &ploss); jitter = calc_jitter(&conn->state); diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index 5892df1..369c1c1 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -169,11 +169,11 @@ struct rate_ctr *rx_packets, *rx_bytes; struct rate_ctr *dropped_packets; - tx_packets = &conn->rate_ctr_group->ctr[RTP_PACKETS_TX_CTR]; - tx_bytes = &conn->rate_ctr_group->ctr[RTP_OCTETS_TX_CTR]; - rx_packets = &conn->rate_ctr_group->ctr[RTP_PACKETS_RX_CTR]; - rx_bytes = &conn->rate_ctr_group->ctr[RTP_OCTETS_RX_CTR]; - dropped_packets = &conn->rate_ctr_group->ctr[RTP_DROPPED_PACKETS_CTR]; + tx_packets = rate_ctr_group_get_ctr(conn->rate_ctr_group, RTP_PACKETS_TX_CTR); + tx_bytes = rate_ctr_group_get_ctr(conn->rate_ctr_group, RTP_OCTETS_TX_CTR); + rx_packets = rate_ctr_group_get_ctr(conn->rate_ctr_group, RTP_PACKETS_RX_CTR); + rx_bytes = rate_ctr_group_get_ctr(conn->rate_ctr_group, RTP_OCTETS_RX_CTR); + dropped_packets = rate_ctr_group_get_ctr(conn->rate_ctr_group, RTP_DROPPED_PACKETS_CTR); vty_out(vty, " Packets Sent: %" PRIu64 " (%" PRIu64 " bytes total)%s" diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index 620b0d1..74ecfe8 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -1071,7 +1071,7 @@ "test-connection"); conn = mgcp_conn_get_rtp(&endp, _conn->id); state = &conn->state; - packets_rx = &conn->rate_ctr_group->ctr[RTP_PACKETS_RX_CTR]; + packets_rx = rate_ctr_group_get_ctr(conn->rate_ctr_group, RTP_PACKETS_RX_CTR); state->stats.initialized = 1; state->stats.base_seq = pl_test_dat[i].base_seq; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I53b75ea8a88bc1ae4ceb479ed272865054de9665 Gerrit-Change-Number: 24554 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 Jun 4 19:39:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:39:05 +0000 Subject: Change in osmo-bsc[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24551 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0b43f922a595d694ac0aeda80107ef9bf4e755e7 Gerrit-Change-Number: 24551 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Jun 2021 19:39: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 Jun 4 19:39:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:39:07 +0000 Subject: Change in osmo-bsc[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24551 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Use new stat item/ctr getter APIs Generated with following and similar spatch snippets: """ @@ expression E1, E2; @@ - &E2->ctr[E1] + rate_ctr_group_get_ctr(E2, E1) """ Change-Id: I0b43f922a595d694ac0aeda80107ef9bf4e755e7 --- M src/osmo-bsc/a_reset.c M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts.c M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/chan_alloc.c M src/osmo-bsc/gsm_08_08.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/lb.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lcs_loc_req.c M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_filter.c M src/osmo-bsc/osmo_bsc_main.c M src/osmo-bsc/osmo_bsc_sigtran.c M src/osmo-bsc/paging.c M src/osmo-bsc/timeslot_fsm.c 19 files changed, 179 insertions(+), 181 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/a_reset.c b/src/osmo-bsc/a_reset.c index 2371499..0befd72 100644 --- a/src/osmo-bsc/a_reset.c +++ b/src/osmo-bsc/a_reset.c @@ -42,7 +42,7 @@ { struct bsc_msc_data *msc = data; LOGP(DMSC, LOGL_NOTICE, "(msc%d) BSSMAP assocation is up\n", msc->nr); - osmo_stat_item_inc(msc->msc_statg->items[MSC_STAT_MSC_LINKS_ACTIVE], 1); + osmo_stat_item_inc(osmo_stat_item_group_get_item(msc->msc_statg, MSC_STAT_MSC_LINKS_ACTIVE), 1); osmo_signal_dispatch(SS_MSC, S_MSC_CONNECTED, msc); } @@ -50,7 +50,7 @@ { struct bsc_msc_data *msc = data; LOGP(DMSC, LOGL_NOTICE, "(msc%d) BSSMAP assocation is down\n", msc->nr); - osmo_stat_item_dec(msc->msc_statg->items[MSC_STAT_MSC_LINKS_ACTIVE], 1); + osmo_stat_item_dec(osmo_stat_item_group_get_item(msc->msc_statg, MSC_STAT_MSC_LINKS_ACTIVE), 1); osmo_signal_dispatch(SS_MSC, S_MSC_LOST, msc); osmo_bsc_sigtran_reset(msc); } diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 1fb4c04..00bb5dc 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -72,10 +72,10 @@ if (lchan->type == GSM_LCHAN_TCH_H) { switch (gsm48_chan_mode_to_non_vamos(lchan->current_ch_mode_rate.chan_mode)) { case GSM48_CMODE_SPEECH_AMR: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CODEC_AMR_H]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CODEC_AMR_H)); break; case GSM48_CMODE_SPEECH_V1: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CODEC_V1_HR]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CODEC_V1_HR)); break; default: break; @@ -83,13 +83,13 @@ } else if (lchan->type == GSM_LCHAN_TCH_F) { switch (gsm48_chan_mode_to_non_vamos(lchan->current_ch_mode_rate.chan_mode)) { case GSM48_CMODE_SPEECH_AMR: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CODEC_AMR_F]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CODEC_AMR_F)); break; case GSM48_CMODE_SPEECH_V1: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CODEC_V1_FR]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CODEC_V1_FR)); break; case GSM48_CMODE_SPEECH_EFR: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CODEC_EFR]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CODEC_EFR)); break; default: break; @@ -609,14 +609,14 @@ msg->dst = rsl_chan_link(lchan); - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHAN_ACT_TOTAL]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHAN_ACT_TOTAL)); switch (lchan->type) { case GSM_LCHAN_SDCCH: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHAN_ACT_SDCCH]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHAN_ACT_SDCCH)); break; case GSM_LCHAN_TCH_H: case GSM_LCHAN_TCH_F: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHAN_ACT_TCH]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHAN_ACT_TCH)); break; default: break; @@ -956,7 +956,7 @@ struct gsm_lchan *lchan = msg->lchan; const uint8_t *cause_p; - rate_ctr_inc(&msg->lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_CHAN_ACT_NACK]); + rate_ctr_inc(rate_ctr_group_get_ctr(msg->lchan->ts->trx->bts->bts_ctrs, BTS_CTR_CHAN_ACT_NACK)); if (dh->ie_chan != RSL_IE_CHAN_NR) { LOG_LCHAN(msg->lchan, LOGL_ERROR, "Invalid IE: expected CHAN_NR IE (0x%x), got 0x%x\n", @@ -989,14 +989,14 @@ LOG_LCHAN(lchan, LOGL_ERROR, "CONNECTION FAIL%s\n", rsl_cause_name(&tp)); - rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_CHAN_RF_FAIL]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts_ctrs, BTS_CTR_CHAN_RF_FAIL)); switch (lchan->type) { case GSM_LCHAN_SDCCH: - rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_CHAN_RF_FAIL_SDCCH]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts_ctrs, BTS_CTR_CHAN_RF_FAIL_SDCCH)); break; case GSM_LCHAN_TCH_H: case GSM_LCHAN_TCH_F: - rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_CHAN_RF_FAIL_TCH]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts_ctrs, BTS_CTR_CHAN_RF_FAIL_TCH)); break; default: break; @@ -1278,7 +1278,7 @@ break; case RSL_MT_MODE_MODIFY_NACK: LOG_LCHAN(msg->lchan, LOGL_DEBUG, "CHANNEL MODE MODIFY NACK\n"); - rate_ctr_inc(&sign_link->trx->bts->bts_ctrs->ctr[BTS_CTR_MODE_MODIFY_NACK]); + rate_ctr_inc(rate_ctr_group_get_ctr(sign_link->trx->bts->bts_ctrs, BTS_CTR_MODE_MODIFY_NACK)); osmo_fsm_inst_dispatch(msg->lchan->fi, LCHAN_EV_RSL_CHAN_MODE_MODIFY_NACK, NULL); break; case RSL_MT_IPAC_PDCH_ACT_ACK: @@ -1303,12 +1303,12 @@ case RSL_MT_MR_CODEC_MOD_PER: LOG_LCHAN(msg->lchan, LOGL_NOTICE, "Unimplemented Abis RSL DChan msg 0x%02x\n", rslh->c.msg_type); - rate_ctr_inc(&sign_link->trx->bts->bts_ctrs->ctr[BTS_CTR_RSL_UNKNOWN]); + rate_ctr_inc(rate_ctr_group_get_ctr(sign_link->trx->bts->bts_ctrs, BTS_CTR_RSL_UNKNOWN)); break; default: LOG_LCHAN(msg->lchan, LOGL_NOTICE, "Unknown Abis RSL DChan msg 0x%02x\n", rslh->c.msg_type); - rate_ctr_inc(&sign_link->trx->bts->bts_ctrs->ctr[BTS_CTR_RSL_UNKNOWN]); + rate_ctr_inc(rate_ctr_group_get_ctr(sign_link->trx->bts->bts_ctrs, BTS_CTR_RSL_UNKNOWN)); return -EINVAL; } @@ -1357,7 +1357,7 @@ default: LOGP(DRSL, LOGL_NOTICE, "%s Unknown Abis RSL TRX message " "type 0x%02x\n", gsm_trx_name(sign_link->trx), rslh->msg_type); - rate_ctr_inc(&sign_link->trx->bts->bts_ctrs->ctr[BTS_CTR_RSL_UNKNOWN]); + rate_ctr_inc(rate_ctr_group_get_ctr(sign_link->trx->bts->bts_ctrs, BTS_CTR_RSL_UNKNOWN)); return -EINVAL; } return rc; @@ -1537,7 +1537,7 @@ if (rqd->ta > bts->rach_max_delay) { LOG_BTS(bts, DRSL, LOGL_INFO, "Ignoring CHAN RQD: Access Delay(%d) greater than %u\n", rqd->ta, bts->rach_max_delay); - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_MAX_DELAY_EXCEEDED]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_MAX_DELAY_EXCEEDED)); talloc_free(rqd); return -EINVAL; } @@ -1547,28 +1547,28 @@ LOG_BTS(bts, DRSL, LOGL_INFO, "CHAN RQD: reason: %s (ra=0x%02x, neci=0x%02x, chreq_reason=0x%02x)\n", get_value_string(gsm_chreq_descs, rqd->reason), rqd->ref.ra, bts->network->neci, rqd->reason); - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_TOTAL]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_TOTAL)); switch (rqd->reason) { case GSM_CHREQ_REASON_EMERG: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_ATTEMPTED_EMERG]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_ATTEMPTED_EMERG)); break; case GSM_CHREQ_REASON_CALL: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_ATTEMPTED_CALL]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_ATTEMPTED_CALL)); break; case GSM_CHREQ_REASON_LOCATION_UPD: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_ATTEMPTED_LOCATION_UPD]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_ATTEMPTED_LOCATION_UPD)); break; case GSM_CHREQ_REASON_PAG: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_ATTEMPTED_PAG]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_ATTEMPTED_PAG)); break; case GSM_CHREQ_REASON_PDCH: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_ATTEMPTED_PDCH]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_ATTEMPTED_PDCH)); break; case GSM_CHREQ_REASON_OTHER: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_ATTEMPTED_OTHER]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_ATTEMPTED_OTHER)); break; default: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_ATTEMPTED_UNKNOWN]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_ATTEMPTED_UNKNOWN)); break; } @@ -1759,7 +1759,7 @@ if (!lchan) { LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: no resources for %s 0x%x\n", gsm_lchant_name(lctype), rqd->ref.ra); - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_NO_CHANNEL]); + 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); talloc_free(rqd); @@ -1821,7 +1821,7 @@ rc = rsl_imm_assign_cmd(bts, sizeof(*ia)+ia->mob_alloc_len, (uint8_t *) ia); if (!rc) - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_SUCCESSFUL]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_SUCCESSFUL)); return rc; } @@ -1864,8 +1864,8 @@ busy_percent = 100; } - osmo_stat_item_set(sd.bts->bts_statg->items[BTS_STAT_RACH_BUSY], busy_percent); - osmo_stat_item_set(sd.bts->bts_statg->items[BTS_STAT_RACH_ACCESS], access_percent); + osmo_stat_item_set(osmo_stat_item_group_get_item(sd.bts->bts_statg, BTS_STAT_RACH_BUSY), busy_percent); + osmo_stat_item_set(osmo_stat_item_group_get_item(sd.bts->bts_statg, BTS_STAT_RACH_ACCESS), access_percent); /* dispatch signal */ osmo_signal_dispatch(SS_CCCH, S_CCCH_RACH_LOAD, &sd); } @@ -1952,7 +1952,7 @@ case RSL_MT_DELETE_IND: /* CCCH overloaded, IMM_ASSIGN was dropped */ LOGPLCHAN(msg->lchan, DRSL, LOGL_NOTICE, "DELETE INDICATION (Downlink CCCH overload)\n"); - rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_RSL_DELETE_IND]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts_ctrs, BTS_CTR_RSL_DELETE_IND)); break; case RSL_MT_CBCH_LOAD_IND: /* current load on the CBCH */ @@ -1964,7 +1964,7 @@ default: LOGP(DRSL, LOGL_NOTICE, "Unknown Abis RSL TRX message type " "0x%02x\n", rslh->c.msg_type); - rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_RSL_UNKNOWN]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts_ctrs, BTS_CTR_RSL_UNKNOWN)); return -EINVAL; } @@ -1988,7 +1988,7 @@ rll_indication(msg->lchan, rllh->link_id, BSC_RLLR_IND_ERR_IND); - rate_ctr_inc(&msg->lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_CHAN_RLL_ERR]); + rate_ctr_inc(rate_ctr_group_get_ctr(msg->lchan->ts->trx->bts->bts_ctrs, BTS_CTR_CHAN_RLL_ERR)); osmo_fsm_inst_dispatch(msg->lchan->fi, LCHAN_EV_RLL_ERR_IND, &rlm_cause); @@ -2089,7 +2089,7 @@ default: LOG_LCHAN(msg->lchan, LOGL_NOTICE, "SAPI=%u Unknown Abis RLL message type 0x%02x\n", sapi, rllh->c.msg_type); - rate_ctr_inc(&sign_link->trx->bts->bts_ctrs->ctr[BTS_CTR_RSL_UNKNOWN]); + rate_ctr_inc(rate_ctr_group_get_ctr(sign_link->trx->bts->bts_ctrs, BTS_CTR_RSL_UNKNOWN)); } return rc; } @@ -2348,7 +2348,7 @@ struct e1inp_sign_link *sign_link = msg->dst; struct gsm_lchan *lchan = msg->lchan; - rate_ctr_inc(&sign_link->trx->bts->bts_ctrs->ctr[BTS_CTR_RSL_IPA_NACK]); + rate_ctr_inc(rate_ctr_group_get_ctr(sign_link->trx->bts->bts_ctrs, BTS_CTR_RSL_IPA_NACK)); if (!lchan->fi_rtp) { LOG_LCHAN(msg->lchan, LOGL_ERROR, "Rx RSL IPACC: CRCX NACK message for unconfigured lchan\n"); @@ -2386,7 +2386,7 @@ struct e1inp_sign_link *sign_link = msg->dst; struct gsm_lchan *lchan = msg->lchan; - rate_ctr_inc(&sign_link->trx->bts->bts_ctrs->ctr[BTS_CTR_RSL_IPA_NACK]); + rate_ctr_inc(rate_ctr_group_get_ctr(sign_link->trx->bts->bts_ctrs, BTS_CTR_RSL_IPA_NACK)); if (!lchan->fi_rtp) { LOG_LCHAN(msg->lchan, LOGL_ERROR, "Rx RSL IPACC: MDCX NACK message for unconfigured lchan\n"); @@ -2455,7 +2455,7 @@ default: LOG_LCHAN(msg->lchan, LOGL_NOTICE, "Unknown ip.access msg_type 0x%02x\n", rllh->c.msg_type); - rate_ctr_inc(&sign_link->trx->bts->bts_ctrs->ctr[BTS_CTR_RSL_UNKNOWN]); + rate_ctr_inc(rate_ctr_group_get_ctr(sign_link->trx->bts->bts_ctrs, BTS_CTR_RSL_UNKNOWN)); break; } @@ -2584,7 +2584,7 @@ default: LOGP(DRSL, LOGL_NOTICE, "unknown RSL message discriminator " "0x%02x\n", rslh->msg_discr); - rate_ctr_inc(&sign_link->trx->bts->bts_ctrs->ctr[BTS_CTR_RSL_UNKNOWN]); + rate_ctr_inc(rate_ctr_group_get_ctr(sign_link->trx->bts->bts_ctrs, BTS_CTR_RSL_UNKNOWN)); rc = -EINVAL; } msgb_free(msg); diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 0f38eec..6a9eb81 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -81,17 +81,17 @@ LOG_ASSIGNMENT(conn, LOGL_DEBUG, "incrementing rate counter: %s %s\n", \ bsc_ctr_description[BSC_##counter].name, \ bsc_ctr_description[BSC_##counter].description); \ - rate_ctr_inc(&conn->network->bsc_ctrs->ctr[BSC_##counter]); \ + rate_ctr_inc(rate_ctr_group_get_ctr(conn->network->bsc_ctrs, BSC_##counter)); \ if (bts) { \ - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_##counter]); \ + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_##counter)); \ switch (gsm48_chan_mode_to_non_vamos(conn->assignment.req.ch_mode_rate_list[0].chan_mode)) { \ case GSM48_CMODE_SIGN: \ - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_##counter##_SIGN]); \ + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_##counter##_SIGN)); \ break; \ case GSM48_CMODE_SPEECH_V1: \ case GSM48_CMODE_SPEECH_EFR: \ case GSM48_CMODE_SPEECH_AMR: \ - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_##counter##_SPEECH]); \ + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_##counter##_SPEECH)); \ break; \ default: \ break; \ @@ -140,7 +140,7 @@ if (!resp) { LOG_ASSIGNMENT(conn, LOGL_ERROR, "Unable to compose BSSMAP Assignment Failure message\n"); } else { - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_FAILURE]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_FAILURE)); gscon_sigtran_send(conn, resp); } } @@ -230,7 +230,7 @@ conn->assignment.req.use_osmux) _gsm0808_ass_compl_extend_osmux(resp, osmux_cid); - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_COMPLETE]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_COMPLETE)); rc = gscon_sigtran_send(conn, resp); if (rc) { assignment_fail(GSM0808_CAUSE_EQUIPMENT_FAILURE, diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index aa9d536..8b89e1a 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -161,7 +161,7 @@ return; } - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_CLEAR_RQST]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_CLEAR_RQST)); rc = osmo_bsc_sigtran_send(conn, resp); if (rc < 0) LOGPFSML(conn->fi, LOGL_ERROR, "Unable to deliver BSSMAP Clear Request message\n"); @@ -176,7 +176,7 @@ OSMO_ASSERT(conn); resp = gsm0808_create_dtap(msg, OBSC_LINKID_CB(msg)); - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_DTAP]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_DTAP)); gscon_sigtran_send(conn, resp); } @@ -843,7 +843,7 @@ /* Close MGCP connections */ osmo_mgcpc_ep_clear(conn->user_plane.mgw_endpoint); - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_CLEAR_COMPLETE]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_CLEAR_COMPLETE)); gscon_sigtran_send(conn, gsm0808_create_clear_complete()); break; case GSCON_EV_A_DISC_IND: diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 6f4e2ec..5b1f503 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -536,16 +536,16 @@ bts_dump_vty_cbch(vty, &bts->cbch_extended); vty_out(vty, " Channel Requests : %"PRIu64" total, %"PRIu64" no channel%s", - bts->bts_ctrs->ctr[BTS_CTR_CHREQ_TOTAL].current, - bts->bts_ctrs->ctr[BTS_CTR_CHREQ_NO_CHANNEL].current, + rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_TOTAL)->current, + rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_NO_CHANNEL)->current, VTY_NEWLINE); vty_out(vty, " Channel Failures : %"PRIu64" rf_failures, %"PRIu64" rll failures%s", - bts->bts_ctrs->ctr[BTS_CTR_CHAN_RF_FAIL].current, - bts->bts_ctrs->ctr[BTS_CTR_CHAN_RLL_ERR].current, + rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHAN_RF_FAIL)->current, + rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHAN_RLL_ERR)->current, VTY_NEWLINE); vty_out(vty, " BTS failures : %"PRIu64" OML, %"PRIu64" RSL%s", - bts->bts_ctrs->ctr[BTS_CTR_BTS_OML_FAIL].current, - bts->bts_ctrs->ctr[BTS_CTR_BTS_RSL_FAIL].current, + rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_BTS_OML_FAIL)->current, + rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_BTS_RSL_FAIL)->current, VTY_NEWLINE); vty_out_stat_item_group(vty, " ", bts->bts_statg); @@ -2318,7 +2318,7 @@ /* allocate a new one */ bts = bsc_bts_alloc_register(gsmnet, GSM_BTS_TYPE_UNKNOWN, HARDCODED_BSIC); - osmo_stat_item_inc(gsmnet->bsc_statg->items[BSC_STAT_NUM_BTS_TOTAL], 1); + osmo_stat_item_inc(osmo_stat_item_group_get_item(gsmnet->bsc_statg, BSC_STAT_NUM_BTS_TOTAL), 1); } else bts = gsm_bts_num(gsmnet, bts_nr); @@ -6390,7 +6390,7 @@ } } else { if (lchan->fi->state == LCHAN_ST_BORKEN) { - rate_ctr_inc(&lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_LCHAN_BORKEN_EV_VTY]); + rate_ctr_inc(rate_ctr_group_get_ctr(lchan->ts->trx->bts->bts_ctrs, BTS_CTR_LCHAN_BORKEN_EV_VTY)); osmo_fsm_inst_state_chg(lchan->fi, LCHAN_ST_UNUSED, 0, 0); } else { vty_out(vty, diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index 857ddd2..bdaece7 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -558,7 +558,7 @@ void bts_store_uptime(struct gsm_bts *bts) { - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_UPTIME_SECONDS], bts_uptime(bts)); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_UPTIME_SECONDS), bts_uptime(bts)); } unsigned long long bts_uptime(const struct gsm_bts *bts) diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c index 1e3e9c1..b97ae1c 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts.c @@ -531,7 +531,7 @@ LOG_TRX(trx, DLINP, LOGL_NOTICE, "Dropping RSL link: %s\n", reason); e1inp_sign_link_destroy(trx->rsl_link_primary); trx->rsl_link_primary = NULL; - osmo_stat_item_dec(trx->bts->bts_statg->items[BTS_STAT_RSL_CONNECTED], 1); + osmo_stat_item_dec(osmo_stat_item_group_get_item(trx->bts->bts_statg, BTS_STAT_RSL_CONNECTED), 1); if (trx->bts->c0 == trx) paging_flush_bts(trx->bts, NULL); @@ -555,7 +555,7 @@ e1inp_sign_link_destroy(bts->oml_link); bts->oml_link = NULL; bts->uptime = 0; - osmo_stat_item_dec(bts->bts_statg->items[BTS_STAT_OML_CONNECTED], 1); + osmo_stat_item_dec(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_OML_CONNECTED), 1); /* we have issues reconnecting RSL, drop everything. */ llist_for_each_entry(trx, &bts->trx_list, list) { @@ -631,7 +631,7 @@ /* Write to log and increase counter */ LOGP(DLINP, LOGL_ERROR, "Unable to find BTS configuration for %u/%u/%u, disconnecting\n", site_id, bts_id, trx_id); - rate_ctr_inc(&bsc_gsmnet->bsc_ctrs->ctr[BSC_CTR_UNKNOWN_UNIT_ID]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->bsc_ctrs, BSC_CTR_UNKNOWN_UNIT_ID)); /* Get remote IP */ if (osmo_sock_get_remote_ip(ts->driver.ipaccess.fd.fd, ip, sizeof(ip))) @@ -712,7 +712,7 @@ sign_link->tei, sign_link->sapi); sign_link->trx->bts->ip_access.flags |= OML_UP; } - osmo_stat_item_inc(bts->bts_statg->items[BTS_STAT_OML_CONNECTED], 1); + osmo_stat_item_inc(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_OML_CONNECTED), 1); break; case E1INP_SIGN_RSL: { struct e1inp_ts *ts; @@ -740,7 +740,7 @@ sign_link->trx->bts->ip_access.flags |= (RSL_UP << sign_link->trx->nr); } - osmo_stat_item_inc(bts->bts_statg->items[BTS_STAT_RSL_CONNECTED], 1); + osmo_stat_item_inc(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_RSL_CONNECTED), 1); break; } default: diff --git a/src/osmo-bsc/chan_alloc.c b/src/osmo-bsc/chan_alloc.c index 402ca46..5915a93 100644 --- a/src/osmo-bsc/chan_alloc.c +++ b/src/osmo-bsc/chan_alloc.c @@ -121,36 +121,36 @@ case GSM_PCHAN_UNKNOWN: break; case GSM_PCHAN_CCCH_SDCCH4: - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_CCCH_SDCCH4_USED], lc->used); - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_CCCH_SDCCH4_TOTAL], lc->total); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_CCCH_SDCCH4_USED), lc->used); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_CCCH_SDCCH4_TOTAL), lc->total); break; case GSM_PCHAN_TCH_F: - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_F_USED], lc->used); - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_F_TOTAL], lc->total); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_F_USED), lc->used); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_F_TOTAL), lc->total); break; case GSM_PCHAN_TCH_H: - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_H_USED], lc->used); - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_H_TOTAL], lc->total); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_H_USED), lc->used); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_H_TOTAL), lc->total); break; case GSM_PCHAN_SDCCH8_SACCH8C: - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_SDCCH8_USED], lc->used); - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_SDCCH8_TOTAL], lc->total); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_SDCCH8_USED), lc->used); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_SDCCH8_TOTAL), lc->total); break; case GSM_PCHAN_TCH_F_PDCH: - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_F_PDCH_USED], lc->used); - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_F_PDCH_TOTAL], lc->total); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_F_PDCH_USED), lc->used); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_F_PDCH_TOTAL), lc->total); break; case GSM_PCHAN_CCCH_SDCCH4_CBCH: - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_USED], lc->used); - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_TOTAL], lc->total); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_USED), lc->used); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_TOTAL), lc->total); break; case GSM_PCHAN_SDCCH8_SACCH8C_CBCH: - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_SDCCH8_CBCH_USED], lc->used); - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_SDCCH8_CBCH_TOTAL], lc->total); + 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(bts->bts_statg->items[BTS_STAT_CHAN_TCH_F_TCH_H_PDCH_USED], lc->used); - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_F_TCH_H_PDCH_TOTAL], lc->total); + 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); break; default: LOG_BTS(bts, DRLL, LOGL_NOTICE, "Unknown channel type %d\n", pchan); @@ -232,7 +232,7 @@ (load & 0xffffff00) >> 8, (load & 0xff) / 10); bts->chan_load_avg = ((load & 0xffffff00) >> 8); OSMO_ASSERT(bts->chan_load_avg <= 100); - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_LOAD_AVERAGE], bts->chan_load_avg); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_LOAD_AVERAGE), bts->chan_load_avg); /* Calculate new T3122 wait indicator. */ wait_ind = ((used / total) * max_wait_ind); @@ -244,5 +244,5 @@ LOG_BTS(bts, DRLL, LOGL_DEBUG, "T3122 wait indicator set to %"PRIu64" seconds\n", wait_ind); bts->T3122 = (uint8_t)wait_ind; - osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_T3122], wait_ind); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_T3122), wait_ind); } diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index e943ec1..80ed874 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -77,7 +77,7 @@ LOGP(DMSC, LOGL_NOTICE, "Tx MSC SAPI N REJECT (dlci=0x%02x, cause='%s')\n", dlci, gsm0808_cause_name(cause)); resp = gsm0808_create_sapi_reject_cause(dlci, cause); - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_SAPI_N_REJECT]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_SAPI_N_REJECT)); rc = osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); if (rc != 0) msgb_free(resp); @@ -94,7 +94,7 @@ LOGP(DMSC, LOGL_DEBUG, "CIPHER MODE COMPLETE from MS, forwarding to MSC\n"); resp = gsm0808_create_cipher_complete(msg, chosen_encr); - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_CIPHER_COMPLETE]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_CIPHER_COMPLETE)); rc = osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); if (rc != 0) msgb_free(resp); @@ -233,7 +233,7 @@ if (nri_matches_msc) { LOG_NRI(LOGL_DEBUG, "matches msc %d, but this MSC is currently not connected\n", msc->nr); - rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_MSCPOOL_SUBSCR_ATTACH_LOST]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc->msc_ctrs, MSC_CTR_MSCPOOL_SUBSCR_ATTACH_LOST)); } continue; } @@ -245,10 +245,10 @@ msc->nr); } else { LOG_NRI(LOGL_DEBUG, "matches msc %d\n", msc->nr); - rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_MSCPOOL_SUBSCR_KNOWN]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc->msc_ctrs, MSC_CTR_MSCPOOL_SUBSCR_KNOWN)); if (is_emerg) { - rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_MSCPOOL_EMERG_FORWARDED]); - rate_ctr_inc(&bsc_gsmnet->bsc_ctrs->ctr[BSC_CTR_MSCPOOL_EMERG_FORWARDED]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc->msc_ctrs, MSC_CTR_MSCPOOL_EMERG_FORWARDED)); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->bsc_ctrs, BSC_CTR_MSCPOOL_EMERG_FORWARDED)); } return msc; } @@ -283,9 +283,9 @@ * them are usable -- wrap to the start. */ msc_target = msc_round_robin_next ? : msc_round_robin_first; if (!msc_target) { - rate_ctr_inc(&bsc_gsmnet->bsc_ctrs->ctr[BSC_CTR_MSCPOOL_SUBSCR_NO_MSC]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->bsc_ctrs, BSC_CTR_MSCPOOL_SUBSCR_NO_MSC)); if (is_emerg) - rate_ctr_inc(&bsc_gsmnet->bsc_ctrs->ctr[BSC_CTR_MSCPOOL_EMERG_LOST]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->bsc_ctrs, BSC_CTR_MSCPOOL_EMERG_LOST)); return NULL; } @@ -293,13 +293,13 @@ osmo_mobile_identity_to_str_c(OTC_SELECT, mi), msc_target->nr); if (is_null_nri) - rate_ctr_inc(&msc_target->msc_ctrs->ctr[MSC_CTR_MSCPOOL_SUBSCR_REATTACH]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc_target->msc_ctrs, MSC_CTR_MSCPOOL_SUBSCR_REATTACH)); else - rate_ctr_inc(&msc_target->msc_ctrs->ctr[MSC_CTR_MSCPOOL_SUBSCR_NEW]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc_target->msc_ctrs, MSC_CTR_MSCPOOL_SUBSCR_NEW)); if (is_emerg) { - rate_ctr_inc(&msc_target->msc_ctrs->ctr[MSC_CTR_MSCPOOL_EMERG_FORWARDED]); - rate_ctr_inc(&bsc_gsmnet->bsc_ctrs->ctr[BSC_CTR_MSCPOOL_EMERG_FORWARDED]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc_target->msc_ctrs, MSC_CTR_MSCPOOL_EMERG_FORWARDED)); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->bsc_ctrs, BSC_CTR_MSCPOOL_EMERG_FORWARDED)); } /* An MSC was picked by round-robin, so update the next round-robin nr to pick */ @@ -457,12 +457,12 @@ "%s Unsolicited Paging Response, possibly an MT-CSFB call.\n", osmo_mobile_identity_to_str_c(OTC_SELECT, &mi)); - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_PAGING_NO_ACTIVE_PAGING]); - rate_ctr_inc(&bsc_gsmnet->bsc_ctrs->ctr[BSC_CTR_PAGING_NO_ACTIVE_PAGING]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_PAGING_NO_ACTIVE_PAGING)); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->bsc_ctrs, BSC_CTR_PAGING_NO_ACTIVE_PAGING)); } else if (is_msc_usable(paged_from_msc, is_emerg)) { LOG_COMPL_L3(pdisc, mtype, LOGL_DEBUG, "%s matches earlier Paging from msc %d\n", osmo_mobile_identity_to_str_c(OTC_SELECT, &mi), paged_from_msc->nr); - rate_ctr_inc(&paged_from_msc->msc_ctrs->ctr[MSC_CTR_MSCPOOL_SUBSCR_PAGED]); + rate_ctr_inc(rate_ctr_group_get_ctr(paged_from_msc->msc_ctrs, MSC_CTR_MSCPOOL_SUBSCR_PAGED)); } else { LOG_COMPL_L3(pdisc, mtype, LOGL_DEBUG, "%s matches earlier Paging from msc %d, but this MSC is not connected\n", @@ -617,7 +617,7 @@ if (!msc_connected(conn)) return; - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_CLASSMARK_UPDATE]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_CLASSMARK_UPDATE)); resp = gsm0808_create_classmark_update(cm2, cm2_len, cm3, cm3_len); rc = osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); if (rc != 0) diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index ec70be3..8141a5d 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -88,7 +88,7 @@ LOG_HO(conn, LOGL_DEBUG, "(BSC) incrementing rate counter: %s %s\n", \ bsc_ctr_description[counter].name, \ bsc_ctr_description[counter].description); \ - rate_ctr_inc(&conn->network->bsc_ctrs->ctr[counter]); \ + rate_ctr_inc(rate_ctr_group_get_ctr(conn->network->bsc_ctrs, counter)); \ } while(0) /* Assume presence of local var 'conn' as struct gsm_subscriber_connection. @@ -102,9 +102,9 @@ bts_ctr_description[counter].name, \ bts_ctr_description[counter].description); \ if (bts) \ - rate_ctr_inc(&bts->bts_ctrs->ctr[counter]); \ + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, counter)); \ else \ - rate_ctr_inc(&conn->network->bts_unknown_ctrs->ctr[counter]); \ + rate_ctr_inc(rate_ctr_group_get_ctr(conn->network->bts_unknown_ctrs, counter)); \ } while(0) #define ho_count(bts, counter) do { \ @@ -881,7 +881,7 @@ return; } - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_HANDOVER_PERFORMED]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_HANDOVER_PERFORMED)); rc = gscon_sigtran_send(conn, msg); if (rc < 0) { LOG_HO(conn, LOGL_ERROR, "message sending failed, can't send HANDOVER PERFORMED!\n"); diff --git a/src/osmo-bsc/lb.c b/src/osmo-bsc/lb.c index e23de93..7c35fa2 100644 --- a/src/osmo-bsc/lb.c +++ b/src/osmo-bsc/lb.c @@ -68,7 +68,7 @@ LOGP(DRESET, LOGL_INFO, "Sending RESET to SMLC: %s\n", osmo_sccp_addr_name(ss7, &bsc_gsmnet->smlc->smlc_addr)); msg = osmo_bssap_le_enc(&reset); - rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_UDT_RESET]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_UDT_RESET)); return osmo_sccp_tx_unitdata_msg(bsc_gsmnet->smlc->sccp_user, &bsc_gsmnet->smlc->bsc_addr, &bsc_gsmnet->smlc->smlc_addr, msg); } @@ -90,7 +90,7 @@ LOGP(DRESET, LOGL_NOTICE, "Sending RESET ACK to SMLC: %s\n", osmo_sccp_addr_name(ss7, &bsc_gsmnet->smlc->smlc_addr)); msg = osmo_bssap_le_enc(&reset_ack); - rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_UDT_RESET_ACK]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_UDT_RESET_ACK)); return osmo_sccp_tx_unitdata_msg(bsc_gsmnet->smlc->sccp_user, &bsc_gsmnet->smlc->bsc_addr, &bsc_gsmnet->smlc->smlc_addr, msg); } @@ -101,7 +101,7 @@ struct osmo_ss7_instance *ss7; struct bssap_le_pdu bssap_le; struct osmo_bssap_le_err *err; - struct rate_ctr *ctr = bsc_gsmnet->smlc->ctrs->ctr; + struct rate_ctr_group *ctrg = bsc_gsmnet->smlc->ctrs; ss7 = osmo_sccp_get_ss7(osmo_sccp_get_sccp(scu)); OSMO_ASSERT(ss7); @@ -109,13 +109,13 @@ if (osmo_sccp_addr_cmp(smlc_addr, &bsc_gsmnet->smlc->smlc_addr, OSMO_SCCP_ADDR_T_MASK)) { LOGP(DLCS, LOGL_ERROR, "Rx BSSMAP-LE UnitData from unknown remote address: %s\n", osmo_sccp_addr_name(ss7, smlc_addr)); - rate_ctr_inc(&ctr[SMLC_CTR_BSSMAP_LE_RX_UNKNOWN_PEER]); + rate_ctr_inc(rate_ctr_group_get_ctr(ctrg, SMLC_CTR_BSSMAP_LE_RX_UNKNOWN_PEER)); return -EINVAL; } if (osmo_bssap_le_dec(&bssap_le, &err, msg, msg)) { LOGP(DLCS, LOGL_ERROR, "Rx BSSAP-LE UnitData with error: %s\n", err->logmsg); - rate_ctr_inc(&ctr[SMLC_CTR_BSSMAP_LE_RX_UDT_ERR_INVALID_MSG]); + rate_ctr_inc(rate_ctr_group_get_ctr(ctrg, SMLC_CTR_BSSMAP_LE_RX_UDT_ERR_INVALID_MSG)); return -EINVAL; } @@ -126,17 +126,17 @@ switch (bssap_le.bssmap_le.msg_type) { case BSSMAP_LE_MSGT_RESET: - rate_ctr_inc(&ctr[SMLC_CTR_BSSMAP_LE_RX_UDT_RESET]); + rate_ctr_inc(rate_ctr_group_get_ctr(ctrg, SMLC_CTR_BSSMAP_LE_RX_UDT_RESET)); LOGP(DLCS, LOGL_NOTICE, "RESET from SMLC: %s\n", osmo_sccp_addr_name(ss7, smlc_addr)); return osmo_fsm_inst_dispatch(bsc_gsmnet->smlc->bssmap_reset->fi, BSSMAP_RESET_EV_RX_RESET, NULL); case BSSMAP_LE_MSGT_RESET_ACK: - rate_ctr_inc(&ctr[SMLC_CTR_BSSMAP_LE_RX_UDT_RESET_ACK]); + rate_ctr_inc(rate_ctr_group_get_ctr(ctrg, SMLC_CTR_BSSMAP_LE_RX_UDT_RESET_ACK)); LOGP(DLCS, LOGL_NOTICE, "RESET-ACK from SMLC: %s\n", osmo_sccp_addr_name(ss7, smlc_addr)); return osmo_fsm_inst_dispatch(bsc_gsmnet->smlc->bssmap_reset->fi, BSSMAP_RESET_EV_RX_RESET_ACK, NULL); default: - rate_ctr_inc(&ctr[SMLC_CTR_BSSMAP_LE_RX_UDT_ERR_INVALID_MSG]); + rate_ctr_inc(rate_ctr_group_get_ctr(ctrg, SMLC_CTR_BSSMAP_LE_RX_UDT_ERR_INVALID_MSG)); LOGP(DLCS, LOGL_ERROR, "Rx unimplemented UDT message type %s\n", osmo_bssap_le_pdu_to_str_c(OTC_SELECT, &bssap_le)); return -EINVAL; @@ -255,9 +255,9 @@ rc = osmo_sccp_tx_conn_req_msg(bsc_gsmnet->smlc->sccp_user, conn_id, &bsc_gsmnet->smlc->bsc_addr, &bsc_gsmnet->smlc->smlc_addr, msg); if (rc >= 0) - rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_SUCCESS]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_SUCCESS)); else - rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_ERR_SEND]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_ERR_SEND)); if (rc >= 0) conn->lcs.lb.state = SUBSCR_SCCP_ST_WAIT_CONN_CONF; @@ -304,9 +304,9 @@ LOGPFSMSL(conn->fi, DLCS, LOGL_DEBUG, "Tx %s\n", osmo_bssap_le_pdu_to_str_c(OTC_SELECT, bssap_le)); rc = osmo_sccp_tx_data_msg(bsc_gsmnet->smlc->sccp_user, conn->lcs.lb.conn_id, msg); if (rc >= 0) - rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_SUCCESS]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_SUCCESS)); else - rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_ERR_SEND]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_ERR_SEND)); count_tx: if (rc < 0) @@ -314,24 +314,24 @@ switch (bssap_le->bssmap_le.msg_type) { case BSSMAP_LE_MSGT_PERFORM_LOC_REQ: - rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_DT1_PERFORM_LOCATION_REQUEST]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_DT1_PERFORM_LOCATION_REQUEST)); break; case BSSMAP_LE_MSGT_PERFORM_LOC_ABORT: - rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_DT1_PERFORM_LOCATION_ABORT]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_DT1_PERFORM_LOCATION_ABORT)); break; case BSSMAP_LE_MSGT_CONN_ORIENTED_INFO: switch (bssap_le->bssmap_le.conn_oriented_info.apdu.msg_type) { case BSSLAP_MSGT_TA_RESPONSE: - rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_DT1_BSSLAP_TA_RESPONSE]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_DT1_BSSLAP_TA_RESPONSE)); break; case BSSLAP_MSGT_REJECT: - rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_DT1_BSSLAP_REJECT]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_DT1_BSSLAP_REJECT)); break; case BSSLAP_MSGT_RESET: - rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_DT1_BSSLAP_RESET]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_DT1_BSSLAP_RESET)); break; case BSSLAP_MSGT_ABORT: - rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_DT1_BSSLAP_ABORT]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_DT1_BSSLAP_ABORT)); break; default: break; diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index a29ddae..48cfbdf 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -1323,9 +1323,9 @@ default: ctr = BTS_CTR_LCHAN_BORKEN_FROM_UNKNOWN; } - rate_ctr_inc(&bts->bts_ctrs->ctr[ctr]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, ctr)); if (prev_state != LCHAN_ST_BORKEN) - osmo_stat_item_inc(bts->bts_statg->items[BTS_STAT_LCHAN_BORKEN], 1); + osmo_stat_item_inc(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_LCHAN_BORKEN), 1); /* The actual action besides all the beancounting above */ lchan_reset(lchan); @@ -1339,8 +1339,8 @@ case LCHAN_EV_RSL_CHAN_ACTIV_ACK: /* A late Chan Activ ACK? Release. */ - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_ACK]); - osmo_stat_item_dec(bts->bts_statg->items[BTS_STAT_LCHAN_BORKEN], 1); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_ACK)); + osmo_stat_item_dec(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_LCHAN_BORKEN), 1); 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); @@ -1349,15 +1349,15 @@ case LCHAN_EV_RSL_CHAN_ACTIV_NACK: /* A late Chan Activ NACK? Ok then, unused. */ - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_NACK]); - osmo_stat_item_dec(bts->bts_statg->items[BTS_STAT_LCHAN_BORKEN], 1); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_NACK)); + osmo_stat_item_dec(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_LCHAN_BORKEN), 1); lchan_fsm_state_chg(LCHAN_ST_UNUSED); return; case LCHAN_EV_RSL_RF_CHAN_REL_ACK: /* A late Release ACK? */ - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_LCHAN_BORKEN_EV_RF_CHAN_REL_ACK]); - osmo_stat_item_dec(bts->bts_statg->items[BTS_STAT_LCHAN_BORKEN], 1); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_LCHAN_BORKEN_EV_RF_CHAN_REL_ACK)); + osmo_stat_item_dec(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_LCHAN_BORKEN), 1); 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); @@ -1603,8 +1603,8 @@ { struct gsm_lchan *lchan = lchan_fi_lchan(fi); if (fi->state == LCHAN_ST_BORKEN) { - rate_ctr_inc(&lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_LCHAN_BORKEN_EV_TS_ERROR]); - osmo_stat_item_dec(lchan->ts->trx->bts->bts_statg->items[BTS_STAT_LCHAN_BORKEN], 1); + rate_ctr_inc(rate_ctr_group_get_ctr(lchan->ts->trx->bts->bts_ctrs, BTS_CTR_LCHAN_BORKEN_EV_TS_ERROR)); + osmo_stat_item_dec(osmo_stat_item_group_get_item(lchan->ts->trx->bts->bts_statg, BTS_STAT_LCHAN_BORKEN), 1); } lchan_fail_to(LCHAN_ST_UNUSED, "LCHAN_EV_TS_ERROR"); return; @@ -1713,8 +1713,8 @@ { struct gsm_lchan *lchan = lchan_fi_lchan(fi); if (lchan->fi->state == LCHAN_ST_BORKEN) { - rate_ctr_inc(&lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_LCHAN_BORKEN_EV_TEARDOWN]); - osmo_stat_item_dec(lchan->ts->trx->bts->bts_statg->items[BTS_STAT_LCHAN_BORKEN], 1); + rate_ctr_inc(rate_ctr_group_get_ctr(lchan->ts->trx->bts->bts_ctrs, BTS_CTR_LCHAN_BORKEN_EV_TEARDOWN)); + osmo_stat_item_dec(osmo_stat_item_group_get_item(lchan->ts->trx->bts->bts_statg, BTS_STAT_LCHAN_BORKEN), 1); } lchan_reset(lchan); if (lchan->last_error) { diff --git a/src/osmo-bsc/lcs_loc_req.c b/src/osmo-bsc/lcs_loc_req.c index ee85c91..1a68316 100644 --- a/src/osmo-bsc/lcs_loc_req.c +++ b/src/osmo-bsc/lcs_loc_req.c @@ -190,7 +190,7 @@ { switch (bssmap_le->conn_oriented_info.apdu.msg_type) { case BSSLAP_MSGT_TA_REQUEST: - rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_RX_DT1_BSSLAP_TA_REQUEST]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_RX_DT1_BSSLAP_TA_REQUEST)); LOG_LCS_LOC_REQ(lcs_loc_req, LOGL_DEBUG, "rx BSSLAP TA Request\n"); /* The TA Request message contains only the message type. */ return lcs_ta_req_start(lcs_loc_req); @@ -206,7 +206,7 @@ struct lcs_loc_req *lcs_loc_req = conn->lcs.loc_req; struct bssap_le_pdu bssap_le; struct osmo_bssap_le_err *err; - struct rate_ctr *ctr = bsc_gsmnet->smlc->ctrs->ctr; + struct rate_ctr_group *ctrg = bsc_gsmnet->smlc->ctrs; if (!lcs_loc_req) { LOGPFSMSL(conn->fi, DLCS, LOGL_ERROR, @@ -216,13 +216,13 @@ if (osmo_bssap_le_dec(&bssap_le, &err, msg, msg)) { LOG_LCS_LOC_REQ(lcs_loc_req, LOGL_ERROR, "Rx BSSAP-LE message with error: %s\n", err->logmsg); - rate_ctr_inc(&ctr[SMLC_CTR_BSSMAP_LE_RX_DT1_ERR_INVALID_MSG]); + rate_ctr_inc(rate_ctr_group_get_ctr(ctrg, SMLC_CTR_BSSMAP_LE_RX_DT1_ERR_INVALID_MSG)); return -EINVAL; } if (bssap_le.discr != BSSAP_LE_MSG_DISCR_BSSMAP_LE) { LOG_LCS_LOC_REQ(lcs_loc_req, LOGL_ERROR, "Rx BSSAP-LE: discr %d not implemented\n", bssap_le.discr); - rate_ctr_inc(&ctr[SMLC_CTR_BSSMAP_LE_RX_DT1_ERR_INVALID_MSG]); + rate_ctr_inc(rate_ctr_group_get_ctr(ctrg, SMLC_CTR_BSSMAP_LE_RX_DT1_ERR_INVALID_MSG)); return -ENOTSUP; } @@ -231,9 +231,9 @@ switch (bssap_le.bssmap_le.msg_type) { case BSSMAP_LE_MSGT_PERFORM_LOC_RESP: if (bssap_le.bssmap_le.perform_loc_resp.location_estimate_present) - rate_ctr_inc(&ctr[SMLC_CTR_BSSMAP_LE_RX_DT1_PERFORM_LOCATION_RESPONSE_SUCCESS]); + rate_ctr_inc(rate_ctr_group_get_ctr(ctrg, SMLC_CTR_BSSMAP_LE_RX_DT1_PERFORM_LOCATION_RESPONSE_SUCCESS)); else - rate_ctr_inc(&ctr[SMLC_CTR_BSSMAP_LE_RX_DT1_PERFORM_LOCATION_RESPONSE_FAILURE]); + rate_ctr_inc(rate_ctr_group_get_ctr(ctrg, SMLC_CTR_BSSMAP_LE_RX_DT1_PERFORM_LOCATION_RESPONSE_FAILURE)); return osmo_fsm_inst_dispatch(lcs_loc_req->fi, LCS_LOC_REQ_EV_RX_LB_PERFORM_LOCATION_RESPONSE, &bssap_le.bssmap_le); @@ -457,9 +457,7 @@ LOG_LCS_LOC_REQ(lcs_loc_req, LOGL_ERROR, "Failed to send Perform Location Response (A-interface)\n"); else - rate_ctr_inc(&lcs_loc_req->conn->sccp.msc->msc_ctrs->ctr[ - plr.location_estimate_present ? MSC_CTR_BSSMAP_TX_DT1_PERFORM_LOCATION_RESPONSE_SUCCESS - : MSC_CTR_BSSMAP_TX_DT1_PERFORM_LOCATION_RESPONSE_FAILURE]); + rate_ctr_inc(rate_ctr_group_get_ctr(lcs_loc_req->conn->sccp.msc->msc_ctrs, plr.location_estimate_present ? MSC_CTR_BSSMAP_TX_DT1_PERFORM_LOCATION_RESPONSE_SUCCESS : MSC_CTR_BSSMAP_TX_DT1_PERFORM_LOCATION_RESPONSE_FAILURE)); } osmo_fsm_inst_term(fi, OSMO_FSM_TERM_REGULAR, NULL); } @@ -498,7 +496,7 @@ LOG_LCS_LOC_REQ(lcs_loc_req, LOGL_ERROR, "Failed to send BSSMAP Perform Location Response (A-interface)\n"); else - rate_ctr_inc(&lcs_loc_req->conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_PERFORM_LOCATION_RESPONSE_FAILURE]); + rate_ctr_inc(rate_ctr_group_get_ctr(lcs_loc_req->conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_PERFORM_LOCATION_RESPONSE_FAILURE)); } osmo_fsm_inst_term(fi, OSMO_FSM_TERM_REGULAR, NULL); } diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index 239c2ca..d6048bf 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -343,7 +343,7 @@ int bsc_paging_start(struct bsc_paging_params *params) { - rate_ctr_inc(&bsc_gsmnet->bsc_ctrs->ctr[BSC_CTR_PAGING_ATTEMPTED]); + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->bsc_ctrs, BSC_CTR_PAGING_ATTEMPTED)); if (!params->bsub) { params->bsub = bsc_subscr_find_or_create_by_imsi(bsc_gsmnet->bsc_subscribers, params->imsi.imsi, @@ -569,7 +569,7 @@ return -1; } - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_CIPHER_REJECT]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_CIPHER_REJECT)); osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); return -1; } @@ -650,7 +650,7 @@ LOGPFSM(conn->fi, "Tx LCLS CONNECT CTRL ACK (%s)\n", gsm0808_lcls_status_name(lcls_get_status(conn))); resp = gsm0808_create_lcls_conn_ctrl_ack(lcls_get_status(conn)); - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_LCLS_CONNECT_CTRL_ACK]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_LCLS_CONNECT_CTRL_ACK)); osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); return 0; @@ -973,7 +973,7 @@ resp = gsm0808_create_assignment_failure(cause, NULL); OSMO_ASSERT(resp); - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_FAILURE]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_FAILURE)); osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); return -1; } @@ -1396,7 +1396,7 @@ return -EINVAL; } - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_HANDOVER_REQUIRED]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_HANDOVER_REQUIRED)); rc = gscon_sigtran_send(conn, msg); if (rc) { LOG_HO(conn, LOGL_ERROR, "Cannot send BSSMAP Handover Required message\n"); @@ -1443,7 +1443,7 @@ params.aoip_transport_layer = &ss; } - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_HANDOVER_RQST_ACKNOWLEDGE]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_HANDOVER_RQST_ACKNOWLEDGE)); LOG_HO(conn, LOGL_DEBUG, "Sending BSSMAP Handover Request Acknowledge\n"); msg = gsm0808_create_handover_request_ack2(¶ms); msgb_free(rr_ho_command); @@ -1459,7 +1459,7 @@ if (!msg) return -ENOMEM; - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_HANDOVER_DETECT]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_HANDOVER_DETECT)); return osmo_bsc_sigtran_send(conn, msg); } @@ -1499,7 +1499,7 @@ return HO_RESULT_ERROR; } - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_HANDOVER_COMPLETE]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_HANDOVER_COMPLETE)); rc = osmo_bsc_sigtran_send(conn, msg); if (rc) { LOG_HO(conn, LOGL_ERROR, "Cannot send BSSMAP Handover Complete message\n"); @@ -1521,7 +1521,7 @@ return; } - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_HANDOVER_FAILURE]); + rate_ctr_inc(rate_ctr_group_get_ctr(conn->sccp.msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DT1_HANDOVER_FAILURE)); rc = osmo_bsc_sigtran_send(conn, msg); if (rc) LOG_HO(conn, LOGL_ERROR, "Cannot send BSSMAP Handover Failure message (rc=%d %s)\n", diff --git a/src/osmo-bsc/osmo_bsc_filter.c b/src/osmo-bsc/osmo_bsc_filter.c index 19cdeee..2b58ccf 100644 --- a/src/osmo-bsc/osmo_bsc_filter.c +++ b/src/osmo-bsc/osmo_bsc_filter.c @@ -123,16 +123,16 @@ struct rate_ctr_group *bts_ctrs = conn->lchan->ts->trx->bts->bts_ctrs; switch (mtype) { case GSM48_MT_MM_LOC_UPD_ACCEPT: - rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_LOCATION_UPDATE_ACCEPT]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts_ctrs, BTS_CTR_LOCATION_UPDATE_ACCEPT)); break; case GSM48_MT_MM_LOC_UPD_REJECT: - rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_LOCATION_UPDATE_REJECT]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts_ctrs, BTS_CTR_LOCATION_UPDATE_REJECT)); break; case GSM48_MT_MM_IMSI_DETACH_IND: - rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_LOCATION_UPDATE_DETACH]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts_ctrs, BTS_CTR_LOCATION_UPDATE_DETACH)); break; default: - rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_LOCATION_UPDATE_UNKNOWN]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts_ctrs, BTS_CTR_LOCATION_UPDATE_UNKNOWN)); break; } } diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index 3069cc0..14475ff 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -405,10 +405,10 @@ LOG_TRX(trx, DLMI, LOGL_ERROR, "Lost E1 %s link\n", e1inp_signtype_name(isd->link_type)); if (isd->link_type == E1INP_SIGN_OML) { - rate_ctr_inc(&trx->bts->bts_ctrs->ctr[BTS_CTR_BTS_OML_FAIL]); + rate_ctr_inc(rate_ctr_group_get_ctr(trx->bts->bts_ctrs, BTS_CTR_BTS_OML_FAIL)); all_ts_dispatch_event(trx, TS_EV_OML_DOWN); } else if (isd->link_type == E1INP_SIGN_RSL) { - rate_ctr_inc(&trx->bts->bts_ctrs->ctr[BTS_CTR_BTS_RSL_FAIL]); + rate_ctr_inc(rate_ctr_group_get_ctr(trx->bts->bts_ctrs, BTS_CTR_BTS_RSL_FAIL)); acc_ramp_abort(&trx->bts->acc_ramp); all_ts_dispatch_event(trx, TS_EV_RSL_DOWN); if (trx->nr == 0) diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index 2cb7694..d3c636d 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -94,7 +94,7 @@ if (msc_is_aoip(msc) && msc->use_osmux != OSMUX_USAGE_OFF) _gsm0808_extend_announce_osmux(msg); - rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_UDT_RESET]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc->msc_ctrs, MSC_CTR_BSSMAP_TX_UDT_RESET)); osmo_sccp_tx_unitdata_msg(msc->a.sccp_user, &msc->a.bsc_addr, &msc->a.msc_addr, msg); } @@ -114,7 +114,7 @@ if (msc_is_aoip(msc) && msc->use_osmux != OSMUX_USAGE_OFF) _gsm0808_extend_announce_osmux(msg); - rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_UDT_RESET_ACK]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc->msc_ctrs, MSC_CTR_BSSMAP_TX_UDT_RESET_ACK)); osmo_sccp_tx_unitdata_msg(msc->a.sccp_user, &msc->a.bsc_addr, &msc->a.msc_addr, msg); } @@ -374,26 +374,26 @@ if (msg->len >= 3) { switch (msg->data[0]) { case BSSAP_MSG_BSS_MANAGEMENT: - rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_BSS_MANAGEMENT]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc->msc_ctrs, MSC_CTR_BSSMAP_TX_BSS_MANAGEMENT)); LOGP(DMSC, LOGL_INFO, "Tx MSC: BSSMAP: %s\n", gsm0808_bssmap_name(msg->data[2])); break; case BSSAP_MSG_DTAP: - rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DTAP]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc->msc_ctrs, MSC_CTR_BSSMAP_TX_DTAP)); LOGP(DMSC, LOGL_INFO, "Tx MSC: DTAP\n"); break; default: - rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_UNKNOWN]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc->msc_ctrs, MSC_CTR_BSSMAP_TX_UNKNOWN)); LOGP(DMSC, LOGL_ERROR, "Tx MSC: unknown message type: 0x%x\n", msg->data[0]); } } else { - rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_SHORT]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc->msc_ctrs, MSC_CTR_BSSMAP_TX_SHORT)); LOGP(DMSC, LOGL_ERROR, "Tx MSC: message too short: %u\n", msg->len); } if (a_reset_conn_ready(msc) == false) { - rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_ERR_CONN_NOT_READY]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc->msc_ctrs, MSC_CTR_BSSMAP_TX_ERR_CONN_NOT_READY)); LOGP(DMSC, LOGL_ERROR, "MSC is not connected. Dropping.\n"); msgb_free(msg); return -EINVAL; @@ -408,9 +408,9 @@ rc = osmo_sccp_tx_data_msg(msc->a.sccp_user, conn_id, msg); if (rc >= 0) - rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_SUCCESS]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc->msc_ctrs, MSC_CTR_BSSMAP_TX_SUCCESS)); else - rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_ERR_SEND]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc->msc_ctrs, MSC_CTR_BSSMAP_TX_ERR_SEND)); return rc; } diff --git a/src/osmo-bsc/paging.c b/src/osmo-bsc/paging.c index 15aca00..d2dd5ea 100644 --- a/src/osmo-bsc/paging.c +++ b/src/osmo-bsc/paging.c @@ -281,7 +281,7 @@ req, bsc_subscr_name(req->bsub)); /* must be destroyed before calling cbfn, to prevent double free */ - rate_ctr_inc(&req->bts->bts_ctrs->ctr[BTS_CTR_PAGING_EXPIRED]); + rate_ctr_inc(rate_ctr_group_get_ctr(req->bts->bts_ctrs, BTS_CTR_PAGING_EXPIRED)); /* destroy it now. Do not access req afterwards */ paging_remove_request(&req->bts->paging, req); @@ -331,11 +331,11 @@ struct gsm_paging_request *req; unsigned int t3113_timeout_s; - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_PAGING_ATTEMPTED]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_PAGING_ATTEMPTED)); if (paging_pending_request(bts_entry, params->bsub)) { LOG_PAGING_BTS(params, bts, DPAG, LOGL_INFO, "Paging request already pending for this subscriber\n"); - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_PAGING_ALREADY]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_PAGING_ALREADY)); return -EEXIST; } @@ -432,8 +432,8 @@ count = paging_request_stop_bts(&paged_from_msc, &reasons, bts, bsub); if (paged_from_msc) { count++; - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_PAGING_RESPONDED]); - rate_ctr_inc(&bts->network->bsc_ctrs->ctr[BSC_CTR_PAGING_RESPONDED]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_PAGING_RESPONDED)); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->network->bsc_ctrs, BSC_CTR_PAGING_RESPONDED)); } llist_for_each_entry(bts_i, &bsc_gsmnet->bts_list, list) { @@ -522,7 +522,7 @@ num_cancelled++; } - rate_ctr_add(&bts->bts_ctrs->ctr[BTS_CTR_PAGING_MSC_FLUSH], num_cancelled); + rate_ctr_add(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_PAGING_MSC_FLUSH), num_cancelled); } /*! Flush all paging requests issued by \a msc on any BTS in \a net */ diff --git a/src/osmo-bsc/timeslot_fsm.c b/src/osmo-bsc/timeslot_fsm.c index 001319e..0470972 100644 --- a/src/osmo-bsc/timeslot_fsm.c +++ b/src/osmo-bsc/timeslot_fsm.c @@ -383,9 +383,9 @@ case TS_EV_PDCH_ACT_NACK: if (ts->pchan_on_init == GSM_PCHAN_TCH_F_PDCH) - rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_RSL_IPA_NACK]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts_ctrs, BTS_CTR_RSL_IPA_NACK)); else - rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_CHAN_ACT_NACK]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts_ctrs, BTS_CTR_CHAN_ACT_NACK)); ts->pdch_act_allowed = false; ts_fsm_error(fi, TS_ST_UNUSED, "Received PDCH activation NACK"); return; @@ -520,7 +520,7 @@ case TS_EV_PDCH_DEACT_NACK: if (ts->pchan_on_init == GSM_PCHAN_TCH_F_PDCH) - rate_ctr_inc(&ts->trx->bts->bts_ctrs->ctr[BTS_CTR_RSL_IPA_NACK]); + rate_ctr_inc(rate_ctr_group_get_ctr(ts->trx->bts->bts_ctrs, BTS_CTR_RSL_IPA_NACK)); /* For Osmocom style dyn TS, there actually is no NACK, since there is no RF Channel * Release NACK message in RSL. */ ts_fsm_error(fi, TS_ST_BORKEN, "Received PDCH deactivation NACK"); @@ -695,8 +695,8 @@ default: ctr = BTS_CTR_TS_BORKEN_FROM_UNKNOWN; } - rate_ctr_inc(&bts->bts_ctrs->ctr[ctr]); - osmo_stat_item_inc(bts->bts_statg->items[BTS_STAT_TS_BORKEN], 1); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, ctr)); + osmo_stat_item_inc(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_TS_BORKEN), 1); } static void ts_fsm_borken(struct osmo_fsm_inst *fi, uint32_t event, void *data) @@ -720,8 +720,8 @@ struct gsm_bts *bts = ts->trx->bts; /* Late PDCH activation ACK/NACK is not a crime. * Just process them as normal. */ - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_TS_BORKEN_EV_PDCH_ACT_ACK_NACK]); - osmo_stat_item_dec(bts->bts_statg->items[BTS_STAT_TS_BORKEN], 1); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_TS_BORKEN_EV_PDCH_ACT_ACK_NACK)); + osmo_stat_item_dec(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_TS_BORKEN), 1); ts_fsm_wait_pdch_act(fi, event, data); return; } @@ -733,8 +733,8 @@ struct gsm_bts *bts = ts->trx->bts; /* Late PDCH deactivation ACK/NACK is also not a crime. * Just process them as normal. */ - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_TS_BORKEN_EV_PDCH_DEACT_ACK_NACK]); - osmo_stat_item_dec(bts->bts_statg->items[BTS_STAT_TS_BORKEN], 1); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_TS_BORKEN_EV_PDCH_DEACT_ACK_NACK)); + osmo_stat_item_dec(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_TS_BORKEN), 1); ts_fsm_wait_pdch_deact(fi, event, data); return; } @@ -796,8 +796,8 @@ struct gsm_bts_trx_ts *ts = ts_fi_ts(fi); struct gsm_bts *bts = ts->trx->bts; if (ts->fi->state == TS_ST_BORKEN) { - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_TS_BORKEN_EV_TEARDOWN]); - osmo_stat_item_dec(bts->bts_statg->items[BTS_STAT_TS_BORKEN], 1); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_TS_BORKEN_EV_TEARDOWN)); + osmo_stat_item_dec(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_TS_BORKEN), 1); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0b43f922a595d694ac0aeda80107ef9bf4e755e7 Gerrit-Change-Number: 24551 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 19:39:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:39:11 +0000 Subject: Change in libosmo-abis[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24553 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I064aae995975a379425d5f21221fa48efc6d05f9 Gerrit-Change-Number: 24553 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Jun 2021 19:39: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 Jun 4 19:39:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:39:13 +0000 Subject: Change in libosmo-abis[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24553 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Use new stat item/ctr getter APIs Generated with spatch: """ @@ expression E1, E2; @@ - &E2->ctr[E1] + rate_ctr_group_get_ctr(E2, E1) """ Change-Id: I064aae995975a379425d5f21221fa48efc6d05f9 --- M src/input/dahdi.c 1 file changed, 5 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/input/dahdi.c b/src/input/dahdi.c index cdaa8eb..6dee0d7 100644 --- a/src/input/dahdi.c +++ b/src/input/dahdi.c @@ -146,23 +146,23 @@ case DAHDI_EVENT_ALARM: /* we should notify the code that the line is gone */ osmo_signal_dispatch(SS_L_INPUT, S_L_INP_LINE_ALARM, &isd); - rate_ctr_inc(&line->rate_ctr->ctr[E1I_CTR_ALARM]); + rate_ctr_inc(rate_ctr_group_get_ctr(line->rate_ctr, E1I_CTR_ALARM)); break; case DAHDI_EVENT_NOALARM: /* alarm has gone, we should re-start the SABM requests */ osmo_signal_dispatch(SS_L_INPUT, S_L_INP_LINE_NOALARM, &isd); break; case DAHDI_EVENT_ABORT: - rate_ctr_inc(&line->rate_ctr->ctr[E1I_CTR_HDLC_ABORT]); + rate_ctr_inc(rate_ctr_group_get_ctr(line->rate_ctr, E1I_CTR_HDLC_ABORT)); break; case DAHDI_EVENT_OVERRUN: - rate_ctr_inc(&line->rate_ctr->ctr[E1I_CTR_HDLC_OVERR]); + rate_ctr_inc(rate_ctr_group_get_ctr(line->rate_ctr, E1I_CTR_HDLC_OVERR)); break; case DAHDI_EVENT_BADFCS: - rate_ctr_inc(&line->rate_ctr->ctr[E1I_CTR_HDLC_BADFCS]); + rate_ctr_inc(rate_ctr_group_get_ctr(line->rate_ctr, E1I_CTR_HDLC_BADFCS)); break; case DAHDI_EVENT_REMOVED: - rate_ctr_inc(&line->rate_ctr->ctr[E1I_CTR_REMOVED]); + rate_ctr_inc(rate_ctr_group_get_ctr(line->rate_ctr, E1I_CTR_REMOVED)); break; } } -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I064aae995975a379425d5f21221fa48efc6d05f9 Gerrit-Change-Number: 24553 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 Jun 4 19:39:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:39:16 +0000 Subject: Change in osmo-trx[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/24547 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24547 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I1fdfdae2810c3c82ff62fe725ffa364df4ebeff5 Gerrit-Change-Number: 24547 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Jun 2021 19:39:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 19:39:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:39:18 +0000 Subject: Change in osmo-trx[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/24547 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Use new stat item/ctr getter APIs Change-Id: I1fdfdae2810c3c82ff62fe725ffa364df4ebeff5 --- M CommonLibs/trx_rate_ctr.cpp M TODO-RELEASE 2 files changed, 16 insertions(+), 15 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/CommonLibs/trx_rate_ctr.cpp b/CommonLibs/trx_rate_ctr.cpp index e902ff1..ba4fcc0 100644 --- a/CommonLibs/trx_rate_ctr.cpp +++ b/CommonLibs/trx_rate_ctr.cpp @@ -147,17 +147,17 @@ if (dev_ctrs_pending[chan].chan == PENDING_CHAN_NONE) continue; LOGCHAN(chan, DCTR, DEBUG) << "rate_ctr update"; - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_DEV_RX_OVERRUNS]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_DEV_RX_OVERRUNS); rate_ctr_add(ctr, dev_ctrs_pending[chan].rx_overruns - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_DEV_TX_UNDERRUNS]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_DEV_TX_UNDERRUNS); rate_ctr_add(ctr, dev_ctrs_pending[chan].tx_underruns - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_DEV_RX_DROP_EV]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_DEV_RX_DROP_EV); rate_ctr_add(ctr, dev_ctrs_pending[chan].rx_dropped_events - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_DEV_RX_DROP_SMPL]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_DEV_RX_DROP_SMPL); rate_ctr_add(ctr, dev_ctrs_pending[chan].rx_dropped_samples - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_DEV_TX_DROP_EV]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_DEV_TX_DROP_EV); rate_ctr_add(ctr, dev_ctrs_pending[chan].tx_dropped_events - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_DEV_TX_DROP_SMPL]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_DEV_TX_DROP_SMPL); rate_ctr_add(ctr, dev_ctrs_pending[chan].tx_dropped_samples - ctr->current); /* Mark as done */ @@ -178,21 +178,21 @@ if (trx_ctrs_pending[chan].chan == PENDING_CHAN_NONE) continue; LOGCHAN(chan, DCTR, DEBUG) << "rate_ctr update"; - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_TRX_TX_STALE_BURSTS]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_TRX_TX_STALE_BURSTS); rate_ctr_add(ctr, trx_ctrs_pending[chan].tx_stale_bursts - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_TRX_TX_UNAVAILABLE_BURSTS]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_TRX_TX_UNAVAILABLE_BURSTS); rate_ctr_add(ctr, trx_ctrs_pending[chan].tx_unavailable_bursts - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_TRX_TRXD_FN_REPEATED]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_TRX_TRXD_FN_REPEATED); rate_ctr_add(ctr, trx_ctrs_pending[chan].tx_trxd_fn_repeated - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_TRX_TRXD_FN_OUTOFORDER]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_TRX_TRXD_FN_OUTOFORDER); rate_ctr_add(ctr, trx_ctrs_pending[chan].tx_trxd_fn_outoforder - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_TRX_TRXD_FN_SKIPPED]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_TRX_TRXD_FN_SKIPPED); rate_ctr_add(ctr, trx_ctrs_pending[chan].tx_trxd_fn_skipped - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_TRX_RX_EMPTY_BURST]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_TRX_RX_EMPTY_BURST); rate_ctr_add(ctr, trx_ctrs_pending[chan].rx_empty_burst - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_TRX_RX_CLIPPING]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_TRX_RX_CLIPPING); rate_ctr_add(ctr, trx_ctrs_pending[chan].rx_clipping - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_TRX_RX_NO_BURST_DETECTED]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_TRX_RX_NO_BURST_DETECTED); rate_ctr_add(ctr, trx_ctrs_pending[chan].rx_no_burst_detected - ctr->current); /* Mark as done */ trx_ctrs_pending[chan].chan = PENDING_CHAN_NONE; @@ -263,7 +263,7 @@ llist_for_each_entry(ctr_thr, &threshold_list, list) { for (chan = 0; chan < chan_len; chan++) { - rate_ctr = &rate_ctrs[chan]->ctr[ctr_thr->ctr_id]; + rate_ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], ctr_thr->ctr_id); LOGCHAN(chan, DCTR, INFO) << "checking threshold: " << ctr_threshold_2_vty_str(ctr_thr) << " ("<< rate_ctr->intv[ctr_thr->intv].rate << " vs " << ctr_thr->val << ")"; if (rate_ctr->intv[ctr_thr->intv].rate >= ctr_thr->val) { diff --git a/TODO-RELEASE b/TODO-RELEASE index e69de29..ab54c42 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -0,0 +1 @@ +libosmocore > 1.5.1 require APIs osmo_stat_item_group_get_item, rate_ctr_group_get_ctr -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24547 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I1fdfdae2810c3c82ff62fe725ffa364df4ebeff5 Gerrit-Change-Number: 24547 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 Jun 4 19:39:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:39:37 +0000 Subject: Change in osmo-bsc[master]: VTY: fix NULL-pointer dereference in lchan_act_single() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24540 ) Change subject: VTY: fix NULL-pointer dereference in lchan_act_single() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0197a6a2595ff9dade58e37383d44d2df3b03288 Gerrit-Change-Number: 24540 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 19:39:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 19:39:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:39:55 +0000 Subject: Change in osmo-bsc[master]: bts_uptime(): do not spam logs with 'OML link uptime unavailable' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24541 ) Change subject: bts_uptime(): do not spam logs with 'OML link uptime unavailable' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7e2498cc61d311ca08585b2f1c49de021b17a5a1 Gerrit-Change-Number: 24541 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: iedemam Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 19:39: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 Jun 4 19:39:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:39:58 +0000 Subject: Change in osmo-bsc[master]: VTY: fix NULL-pointer dereference in lchan_act_single() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24540 ) Change subject: VTY: fix NULL-pointer dereference in lchan_act_single() ...................................................................... VTY: fix NULL-pointer dereference in lchan_act_single() Without this guard, a command like this can crash osmo-bsc: OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 activate fr when timeslot 0 is configured as non-combined 'CCCH'. Change-Id: I0197a6a2595ff9dade58e37383d44d2df3b03288 CLoses: OS#5170 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 4 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 5b1f503..5bd27fc 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -6060,6 +6060,10 @@ if (activate) { 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) { + vty_out(vty, "%% Cannot activate: Channel not initialized%s", VTY_NEWLINE); + return CMD_WARNING; + } int lchan_t; if (lchan->fi->state != LCHAN_ST_UNUSED) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0197a6a2595ff9dade58e37383d44d2df3b03288 Gerrit-Change-Number: 24540 Gerrit-PatchSet: 2 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 Jun 4 19:39:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:39:58 +0000 Subject: Change in osmo-bsc[master]: bts_uptime(): do not spam logs with 'OML link uptime unavailable' In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24541 ) Change subject: bts_uptime(): do not spam logs with 'OML link uptime unavailable' ...................................................................... bts_uptime(): do not spam logs with 'OML link uptime unavailable' This message periodically appears in the logs with subsys=DNM and level=INFO for every disconnected BTS. I find this message useless and even annoying, so I propose to remove it in this patch. Change-Id: I7e2498cc61d311ca08585b2f1c49de021b17a5a1 --- M src/osmo-bsc/bts.c 1 file changed, 1 insertion(+), 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/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index bdaece7..652d126 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -565,10 +565,8 @@ { struct timespec tp; - if (!bts->uptime || !bts->oml_link) { - LOGP(DNM, LOGL_INFO, "BTS %u OML link uptime unavailable\n", bts->nr); + if (!bts->uptime || !bts->oml_link) return 0; - } if (osmo_clock_gettime(CLOCK_MONOTONIC, &tp) != 0) { LOGP(DNM, LOGL_ERROR, "BTS %u uptime computation failure: %s\n", bts->nr, strerror(errno)); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7e2498cc61d311ca08585b2f1c49de021b17a5a1 Gerrit-Change-Number: 24541 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: iedemam 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 Jun 4 19:40:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:40:03 +0000 Subject: Change in osmo-sgsn[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24549 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24549 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2e064883ac6dafa89e41a297a886a9ebd26ce925 Gerrit-Change-Number: 24549 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Jun 2021 19:40:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 19:40:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:40:06 +0000 Subject: Change in osmo-sgsn[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24549 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Use new stat item/ctr getter APIs Generated with spatch: """ @@ expression E1, E2; @@ - &E2->ctr[E1] + rate_ctr_group_get_ctr(E2, E1) """ Change-Id: I2e064883ac6dafa89e41a297a886a9ebd26ce925 --- M src/gtphub/gtphub.c M src/sgsn/gprs_gb.c M src/sgsn/gprs_gmm.c M src/sgsn/gprs_llc.c M src/sgsn/gprs_ranap.c M src/sgsn/gprs_sm.c M src/sgsn/sgsn_libgtp.c 7 files changed, 50 insertions(+), 50 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/gtphub/gtphub.c b/src/gtphub/gtphub.c index c24652e..237d699 100644 --- a/src/gtphub/gtphub.c +++ b/src/gtphub/gtphub.c @@ -2125,7 +2125,7 @@ struct gtphub_bind *from_bind = &hub->to_gsns[side_idx][plane_idx]; struct gtphub_bind *to_bind = &hub->to_gsns[other_side_idx(side_idx)][plane_idx]; - rate_ctr_add(&from_bind->counters_io->ctr[GTPH_CTR_BYTES_IN], + rate_ctr_add(rate_ctr_group_get_ctr(from_bind->counters_io, GTPH_CTR_BYTES_IN), received); struct gtp_packet_desc p; @@ -2147,7 +2147,7 @@ return -1; } - rate_ctr_inc(&from_bind->counters_io->ctr[GTPH_CTR_PKTS_IN]); + rate_ctr_inc(rate_ctr_group_get_ctr(from_bind->counters_io, GTPH_CTR_PKTS_IN)); int reply_len; reply_len = gtphub_handle_echo_req(hub, &p, reply_buf); @@ -2156,8 +2156,8 @@ sgsn_sockaddr_copy(to_addr, from_addr); *to_ofd = &from_bind->ofd; - rate_ctr_inc(&from_bind->counters_io->ctr[GTPH_CTR_PKTS_OUT]); - rate_ctr_add(&from_bind->counters_io->ctr[GTPH_CTR_BYTES_OUT], + rate_ctr_inc(rate_ctr_group_get_ctr(from_bind->counters_io, GTPH_CTR_PKTS_OUT)); + rate_ctr_add(rate_ctr_group_get_ctr(from_bind->counters_io, GTPH_CTR_BYTES_OUT), reply_len); LOG(LOGL_DEBUG, "%s Echo response to %s: %d bytes to %s\n", (side_idx == GTPH_SIDE_GGSN)? "-->" : "<--", @@ -2236,9 +2236,9 @@ return -1; } - rate_ctr_add(&from_peer->counters_io->ctr[GTPH_CTR_BYTES_IN], + rate_ctr_add(rate_ctr_group_get_ctr(from_peer->counters_io, GTPH_CTR_BYTES_IN), received); - rate_ctr_inc(&from_peer->counters_io->ctr[GTPH_CTR_PKTS_IN]); + rate_ctr_inc(rate_ctr_group_get_ctr(from_peer->counters_io, GTPH_CTR_PKTS_IN)); LOG(LOGL_DEBUG, "from %s peer: %s\n", gtphub_side_idx_names[side_idx], gtphub_port_str(from_peer)); @@ -2257,9 +2257,9 @@ if (p.tun) { struct gtphub_tunnel_endpoint *te = &p.tun->endpoint[p.side_idx][p.plane_idx]; - rate_ctr_add(&te->counters_io->ctr[GTPH_CTR_BYTES_IN], + rate_ctr_add(rate_ctr_group_get_ctr(te->counters_io, GTPH_CTR_BYTES_IN), received); - rate_ctr_inc(&te->counters_io->ctr[GTPH_CTR_PKTS_IN]); + rate_ctr_inc(rate_ctr_group_get_ctr(te->counters_io, GTPH_CTR_PKTS_IN)); } if ((!to_peer) && (side_idx == GTPH_SIDE_SGSN)) { @@ -2311,19 +2311,19 @@ *reply_buf = (uint8_t*)p.data; if (received) { - rate_ctr_inc(&to_bind->counters_io->ctr[GTPH_CTR_PKTS_OUT]); - rate_ctr_add(&to_bind->counters_io->ctr[GTPH_CTR_BYTES_OUT], + rate_ctr_inc(rate_ctr_group_get_ctr(to_bind->counters_io, GTPH_CTR_PKTS_OUT)); + rate_ctr_add(rate_ctr_group_get_ctr(to_bind->counters_io, GTPH_CTR_BYTES_OUT), received); - rate_ctr_inc(&to_peer->counters_io->ctr[GTPH_CTR_PKTS_OUT]); - rate_ctr_add(&to_peer->counters_io->ctr[GTPH_CTR_BYTES_OUT], + rate_ctr_inc(rate_ctr_group_get_ctr(to_peer->counters_io, GTPH_CTR_PKTS_OUT)); + rate_ctr_add(rate_ctr_group_get_ctr(to_peer->counters_io, GTPH_CTR_BYTES_OUT), received); } if (p.tun) { struct gtphub_tunnel_endpoint *te = &p.tun->endpoint[other_side_idx(p.side_idx)][p.plane_idx]; - rate_ctr_inc(&te->counters_io->ctr[GTPH_CTR_PKTS_OUT]); - rate_ctr_add(&te->counters_io->ctr[GTPH_CTR_BYTES_OUT], + rate_ctr_inc(rate_ctr_group_get_ctr(te->counters_io, GTPH_CTR_PKTS_OUT)); + rate_ctr_add(rate_ctr_group_get_ctr(te->counters_io, GTPH_CTR_BYTES_OUT), received); } diff --git a/src/sgsn/gprs_gb.c b/src/sgsn/gprs_gb.c index cddd1b1..96157a0 100644 --- a/src/sgsn/gprs_gb.c +++ b/src/sgsn/gprs_gb.c @@ -57,7 +57,7 @@ bssgp_parse_cell_id(&ra_id, msgb_bcid(msg)); mmctx = sgsn_mm_ctx_by_tlli(msgb_tlli(msg), &ra_id); if (mmctx) { - rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PKTS_SIG_IN]); + rate_ctr_inc(rate_ctr_group_get_ctr(mmctx->ctrg, GMM_CTR_PKTS_SIG_IN)); mmctx->gb.llme = llme; gprs_gb_recv_pdu(mmctx, msg); } @@ -102,7 +102,7 @@ pinfo.drx_params = mmctx->drx_parms; pinfo.qos[0] = 0; // FIXME rc = bssgp_tx_paging(mmctx->gb.nsei, 0, &pinfo); - rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PAGING_PS]); + rate_ctr_inc(rate_ctr_group_get_ctr(mmctx->ctrg, GMM_CTR_PAGING_PS)); return rc; } diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c index edddd2d..c5e927a 100644 --- a/src/sgsn/gprs_gmm.c +++ b/src/sgsn/gprs_gmm.c @@ -131,7 +131,7 @@ struct sgsn_mm_ctx *mm, bool encryptable) { if (mm) { - rate_ctr_inc(&mm->ctrg->ctr[GMM_CTR_PKTS_SIG_OUT]); + rate_ctr_inc(rate_ctr_group_get_ctr(mm->ctrg, GMM_CTR_PKTS_SIG_OUT)); #ifdef BUILD_IU if (mm->ran_type == MM_CTX_T_UTRAN_Iu) return ranap_iu_tx(msg, GPRS_SAPI_GMM); @@ -291,7 +291,7 @@ #endif LOGMMCTXP(LOGL_INFO, mm, "<- GMM ATTACH ACCEPT (new P-TMSI=0x%08x)\n", mm->p_tmsi); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_GPRS_ATTACH_ACKED]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_GPRS_ATTACH_ACKED)); mmctx2msgid(msg, mm); @@ -356,7 +356,7 @@ LOGMMCTXP(LOGL_NOTICE, mm, "<- GMM ATTACH REJECT: %s\n", get_value_string(gsm48_gmm_cause_names, gmm_cause)); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_GPRS_ATTACH_REJECTED]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_GPRS_ATTACH_REJECTED)); gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh) + 1); gh->proto_discr = GSM48_PDISC_MM_GPRS; @@ -389,7 +389,7 @@ /* MMCTX might be NULL! */ DEBUGP(DMM, "<- GMM DETACH ACC (force-standby: %d)\n", force_stby); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_GPRS_DETACH_ACKED]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_GPRS_DETACH_ACKED)); gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh) + 1); gh->proto_discr = GSM48_PDISC_MM_GPRS; @@ -1163,7 +1163,7 @@ int rc; LOGMMCTXP(LOGL_INFO, ctx, "-> GMM ATTACH REQUEST "); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_GPRS_ATTACH_REQUEST]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_GPRS_ATTACH_REQUEST)); /* As per TS 04.08 Chapter 4.7.1.4, the attach request arrives either * with a foreign TLLI (P-TMSI that was allocated to the MS before), @@ -1410,7 +1410,7 @@ power_off = gh->data[0] & 0x8; /* FIXME: In 24.008 there is an optional P-TMSI and P-TMSI signature IE */ - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_GPRS_DETACH_REQUEST]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_GPRS_DETACH_REQUEST)); LOGMMCTXP(LOGL_INFO, ctx, "-> GMM DETACH REQUEST TLLI=0x%08x type=%s %s\n", msgb_tlli(msg), get_value_string(gprs_det_t_mo_strs, detach_type), power_off ? "Power-off" : ""); @@ -1449,7 +1449,7 @@ struct osmo_mobile_identity mi; #endif - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_GPRS_ROUTING_AREA_ACKED]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_GPRS_ROUTING_AREA_ACKED)); LOGMMCTXP(LOGL_INFO, mm, "<- GMM ROUTING AREA UPDATE ACCEPT\n"); mmctx2msgid(msg, mm); @@ -1505,7 +1505,7 @@ struct gsm48_hdr *gh; LOGP(DMM, LOGL_NOTICE, "<- ROUTING AREA UPDATE REJECT\n"); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_GPRS_ROUTING_AREA_REJECT]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_GPRS_ROUTING_AREA_REJECT)); gmm_copy_id(msg, old_msg); @@ -1585,7 +1585,7 @@ /* Update Type 10.5.5.18 */ upd_type = *cur++ & 0x07; - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_GPRS_ROUTING_AREA_REQUEST]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_GPRS_ROUTING_AREA_REQUEST)); LOGMMCTXP(LOGL_INFO, mmctx, "-> GMM RA UPDATE REQUEST type=\"%s\"\n", get_value_string(gprs_upd_t_strs, upd_type)); @@ -1713,7 +1713,7 @@ /* Store new BVCI/NSEI in MM context (FIXME: delay until we ack?) */ msgid2mmctx(mmctx, msg); /* Bump the statistics of received signalling msgs for this MM context */ - rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PKTS_SIG_IN]); + rate_ctr_inc(rate_ctr_group_get_ctr(mmctx->ctrg, GMM_CTR_PKTS_SIG_IN)); /* Update the MM context with the new RA-ID */ if (mmctx->ran_type == MM_CTX_T_GERAN_Gb && msgb_bcid(msg)) { @@ -1724,7 +1724,7 @@ /* FIXME: Update the MM context with the MS radio acc capabilities */ /* FIXME: Update the MM context with the MS network capabilities */ - rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_RA_UPDATE]); + rate_ctr_inc(rate_ctr_group_get_ctr(mmctx->ctrg, GMM_CTR_RA_UPDATE)); #ifdef PTMSI_ALLOC ptmsi_update(mmctx); diff --git a/src/sgsn/gprs_llc.c b/src/sgsn/gprs_llc.c index e357d16..4fbf211 100644 --- a/src/sgsn/gprs_llc.c +++ b/src/sgsn/gprs_llc.c @@ -670,8 +670,8 @@ /* Identifiers passed down: (BVCI, NSEI) */ - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_LLC_DL_PACKETS]); - rate_ctr_add(&sgsn->rate_ctrs->ctr[CTR_LLC_DL_BYTES], msg->len); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_LLC_DL_PACKETS)); + rate_ctr_add(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_LLC_DL_BYTES), msg->len); /* Send BSSGP-DL-UNITDATA.req */ return _bssgp_tx_dl_ud(msg, NULL); @@ -814,8 +814,8 @@ } } - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_LLC_DL_PACKETS]); - rate_ctr_add(&sgsn->rate_ctrs->ctr[CTR_LLC_DL_BYTES], msg->len); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_LLC_DL_PACKETS)); + rate_ctr_add(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_LLC_DL_BYTES), msg->len); /* Identifiers passed down: (BVCI, NSEI) */ @@ -1000,8 +1000,8 @@ msgb_l3trim(msg, llhp.data_len); } - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_LLC_UL_PACKETS]); - rate_ctr_add(&sgsn->rate_ctrs->ctr[CTR_LLC_UL_BYTES], msg->len); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_LLC_UL_PACKETS)); + rate_ctr_add(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_LLC_UL_BYTES), msg->len); /* llhp.data is only set when we need to send LL_[UNIT]DATA_IND up */ if (llhp.cmd == GPRS_LLC_UI && llhp.data && llhp.data_len) { diff --git a/src/sgsn/gprs_ranap.c b/src/sgsn/gprs_ranap.c index e8addd7..ead20f7 100644 --- a/src/sgsn/gprs_ranap.c +++ b/src/sgsn/gprs_ranap.c @@ -232,7 +232,7 @@ mmctx = sgsn_mm_ctx_by_ue_ctx(MSG_IU_UE_CTX(msg)); if (mmctx) { - rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PKTS_SIG_IN]); + rate_ctr_inc(rate_ctr_group_get_ctr(mmctx->ctrg, GMM_CTR_PKTS_SIG_IN)); if (ra_id) memcpy(&mmctx->ra, ra_id, sizeof(mmctx->ra)); } diff --git a/src/sgsn/gprs_sm.c b/src/sgsn/gprs_sm.c index 3bdad3b..6c09c4f 100644 --- a/src/sgsn/gprs_sm.c +++ b/src/sgsn/gprs_sm.c @@ -186,7 +186,7 @@ uint8_t transaction_id = pdp->ti ^ 0x8; /* flip */ LOGPDPCTXP(LOGL_INFO, pdp, "<- ACTIVATE PDP CONTEXT ACK\n"); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_ACTIVATE_ACCEPT]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_PDP_ACTIVATE_ACCEPT)); mmctx2msgid(msg, pdp->mm); @@ -232,7 +232,7 @@ LOGMMCTXP(LOGL_NOTICE, mm, "<- ACTIVATE PDP CONTEXT REJ: %s\n", get_value_string(gsm48_gsm_cause_names, cause)); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_ACTIVATE_REJECT]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_PDP_ACTIVATE_REJECT)); mmctx2msgid(msg, mm); @@ -257,7 +257,7 @@ uint8_t tear_down_ind = (0x9 << 4) | (!!teardown); LOGMMCTXP(LOGL_INFO, mm, "<- DEACTIVATE PDP CONTEXT REQ\n"); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_DL_DEACTIVATE_REQUEST]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_PDP_DL_DEACTIVATE_REQUEST)); mmctx2msgid(msg, mm); @@ -285,7 +285,7 @@ uint8_t transaction_id = tid ^ 0x8; /* flip */ LOGMMCTXP(LOGL_INFO, mm, "<- DEACTIVATE PDP CONTEXT ACK\n"); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_DL_DEACTIVATE_ACCEPT]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_PDP_DL_DEACTIVATE_ACCEPT)); mmctx2msgid(msg, mm); @@ -533,7 +533,7 @@ /* Only increment counter for a real activation, after we checked * for re-transmissions */ - rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PDP_CTX_ACT]); + rate_ctr_inc(rate_ctr_group_get_ctr(mmctx->ctrg, GMM_CTR_PDP_CTX_ACT)); /* Determine GGSN based on APN and subscription options */ ggsn = sgsn_mm_ctx_find_ggsn_ctx(mmctx, &tp, &gsm_cause, apn_str); @@ -591,7 +591,7 @@ struct msgb *msg; int rc; - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_ACTIVATE_REQUEST]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_PDP_ACTIVATE_REQUEST)); /* * This is painful. We might not have a static GGSN @@ -629,7 +629,7 @@ LOGMMCTXP(LOGL_INFO, mm, "-> DEACTIVATE PDP CONTEXT REQ (cause: %s)\n", get_value_string(gsm48_gsm_cause_names, gh->data[0])); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_UL_DEACTIVATE_REQUEST]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_PDP_UL_DEACTIVATE_REQUEST)); pdp = sgsn_pdp_ctx_by_tid(mm, transaction_id); if (!pdp) { @@ -654,7 +654,7 @@ struct sgsn_pdp_ctx *pdp; LOGMMCTXP(LOGL_INFO, mm, "-> DEACTIVATE PDP CONTEXT ACK\n"); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_UL_DEACTIVATE_ACCEPT]); + rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_PDP_UL_DEACTIVATE_ACCEPT)); pdp = sgsn_pdp_ctx_by_tid(mm, transaction_id); if (!pdp) { diff --git a/src/sgsn/sgsn_libgtp.c b/src/sgsn/sgsn_libgtp.c index 6229217..1ac3b44 100644 --- a/src/sgsn/sgsn_libgtp.c +++ b/src/sgsn/sgsn_libgtp.c @@ -792,10 +792,10 @@ return -1; } - rate_ctr_inc(&pdp->ctrg->ctr[PDP_CTR_PKTS_UDATA_OUT]); - rate_ctr_add(&pdp->ctrg->ctr[PDP_CTR_BYTES_UDATA_OUT], len); - rate_ctr_inc(&mm->ctrg->ctr[GMM_CTR_PKTS_UDATA_OUT]); - rate_ctr_add(&mm->ctrg->ctr[GMM_CTR_BYTES_UDATA_OUT], len); + rate_ctr_inc(rate_ctr_group_get_ctr(pdp->ctrg, PDP_CTR_PKTS_UDATA_OUT)); + rate_ctr_add(rate_ctr_group_get_ctr(pdp->ctrg, PDP_CTR_BYTES_UDATA_OUT), len); + rate_ctr_inc(rate_ctr_group_get_ctr(mm->ctrg, GMM_CTR_PKTS_UDATA_OUT)); + rate_ctr_add(rate_ctr_group_get_ctr(mm->ctrg, GMM_CTR_BYTES_UDATA_OUT), len); /* It is easier to have a global count */ pdp->cdr_bytes_out += len; @@ -830,10 +830,10 @@ return -EIO; } - rate_ctr_inc(&pdp->ctrg->ctr[PDP_CTR_PKTS_UDATA_IN]); - rate_ctr_add(&pdp->ctrg->ctr[PDP_CTR_BYTES_UDATA_IN], npdu_len); - rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PKTS_UDATA_IN]); - rate_ctr_add(&mmctx->ctrg->ctr[GMM_CTR_BYTES_UDATA_IN], npdu_len); + rate_ctr_inc(rate_ctr_group_get_ctr(pdp->ctrg, PDP_CTR_PKTS_UDATA_IN)); + rate_ctr_add(rate_ctr_group_get_ctr(pdp->ctrg, PDP_CTR_BYTES_UDATA_IN), npdu_len); + rate_ctr_inc(rate_ctr_group_get_ctr(mmctx->ctrg, GMM_CTR_PKTS_UDATA_IN)); + rate_ctr_add(rate_ctr_group_get_ctr(mmctx->ctrg, GMM_CTR_BYTES_UDATA_IN), npdu_len); /* It is easier to have a global count */ pdp->cdr_bytes_in += npdu_len; -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24549 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2e064883ac6dafa89e41a297a886a9ebd26ce925 Gerrit-Change-Number: 24549 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 Jun 4 19:40:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:40:10 +0000 Subject: Change in osmo-pcu[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24546 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I600c7a8725f5b229b1a2feb879da7c3b2dce4505 Gerrit-Change-Number: 24546 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Jun 2021 19:40:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 19:40:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:40:13 +0000 Subject: Change in osmo-pcu[master]: Use new stat item/ctr getter APIs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24546 ) Change subject: Use new stat item/ctr getter APIs ...................................................................... Use new stat item/ctr getter APIs Patch mostly done with the help of several small spatch snippets. Change-Id: I600c7a8725f5b229b1a2feb879da7c3b2dce4505 --- M src/bts.h M src/gprs_bssgp_pcu.c M src/gprs_rlcmac_sched.cpp M src/nacc_fsm.c M src/tbf_dl.cpp M src/tbf_ul.cpp 6 files changed, 38 insertions(+), 37 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/bts.h b/src/bts.h index bb91df3..2a7d883 100644 --- a/src/bts.h +++ b/src/bts.h @@ -325,16 +325,17 @@ } static inline void bts_do_rate_ctr_inc(const struct gprs_rlcmac_bts *bts, unsigned int ctr_id) { - rate_ctr_inc(&bts->ratectrs->ctr[ctr_id]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts->ratectrs, ctr_id)); } static inline void bts_do_rate_ctr_add(const struct gprs_rlcmac_bts *bts, unsigned int ctr_id, int inc) { - rate_ctr_add(&bts->ratectrs->ctr[ctr_id], inc); + rate_ctr_add(rate_ctr_group_get_ctr(bts->ratectrs, ctr_id), inc); } static inline void bts_stat_item_add(struct gprs_rlcmac_bts *bts, unsigned int stat_id, int inc) { - int32_t val = osmo_stat_item_get_last(bts->statg->items[stat_id]); - osmo_stat_item_set(bts->statg->items[stat_id], val + inc); + struct osmo_stat_item *item = osmo_stat_item_group_get_item(bts->statg, stat_id); + int32_t val = osmo_stat_item_get_last(item); + osmo_stat_item_set(item, val + inc); } struct gprs_rlcmac_bts *bts_alloc(struct gprs_pcu *pcu, uint8_t bts_nr); diff --git a/src/gprs_bssgp_pcu.c b/src/gprs_bssgp_pcu.c index 7ee2e45..0e8e145 100644 --- a/src/gprs_bssgp_pcu.c +++ b/src/gprs_bssgp_pcu.c @@ -538,8 +538,8 @@ if (bctx) { log_set_context(LOG_CTX_GB_BVC, bctx); - rate_ctr_inc(&bctx->ctrg->ctr[BSSGP_CTR_PKTS_IN]); - rate_ctr_add(&bctx->ctrg->ctr[BSSGP_CTR_BYTES_IN], msgb_bssgp_len(msg)); + rate_ctr_inc(rate_ctr_group_get_ctr(bctx->ctrg, BSSGP_CTR_PKTS_IN)); + rate_ctr_add(rate_ctr_group_get_ctr(bctx->ctrg, BSSGP_CTR_BYTES_IN), msgb_bssgp_len(msg)); } if (ns_bvci == BVCI_SIGNALLING) diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index fa86b76..4c1a6ab 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -217,7 +217,7 @@ LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "FN=%" PRIu32 " Scheduling control message at RTS for %s\n", fn, tbf_name(tbf)); - rate_ctr_inc(&tbf->ms()->ctrs->ctr[MS_CTR_DL_CTRL_MSG_SCHED]); + rate_ctr_inc(rate_ctr_group_get_ctr(tbf->ms()->ctrs, MS_CTR_DL_CTRL_MSG_SCHED)); return msg; } diff --git a/src/nacc_fsm.c b/src/nacc_fsm.c index 6384fd5..d2702d4 100644 --- a/src/nacc_fsm.c +++ b/src/nacc_fsm.c @@ -147,7 +147,7 @@ goto free_ret; } LOGP(DNACC, LOGL_DEBUG, "------------------------- TX : Packet Neighbour Cell Data -------------------------\n"); - rate_ctr_inc(&bts_rate_counters(ms->bts)->ctr[CTR_PKT_NEIGH_CELL_DATA]); + rate_ctr_inc(rate_ctr_group_get_ctr(bts_rate_counters(ms->bts), CTR_PKT_NEIGH_CELL_DATA)); talloc_free(mac_control_block); ctx->container_idx++; @@ -204,7 +204,7 @@ goto free_ret; } LOGP(DNACC, LOGL_DEBUG, "------------------------- TX : Packet Cell Change Continue -------------------------\n"); - rate_ctr_inc(&bts_rate_counters(ms->bts)->ctr[CTR_PKT_CELL_CHG_CONTINUE]); + 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); return msg; diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 9ed389d..eb215fe 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -1137,7 +1137,7 @@ ms_update_error_rate(ms(), this, error_rate); m_window.update(bts, rbb, first_bsn, &lost, &received); - rate_ctr_add(&m_ctrs->ctr[TBF_CTR_RLC_NACKED], lost); + 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); @@ -1193,7 +1193,7 @@ m_window.update(bts, show_rbb, ssn, &lost, &received); - rate_ctr_add(&m_ctrs->ctr[TBF_CTR_RLC_NACKED], lost); + 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); @@ -1509,55 +1509,55 @@ switch (cs) { case CS1: bts_do_rate_ctr_inc(bts, CTR_GPRS_DL_CS1); - rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS1]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_gprs_ctrs, TBF_CTR_GPRS_DL_CS1)); break; case CS2: bts_do_rate_ctr_inc(bts, CTR_GPRS_DL_CS2); - rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS2]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_gprs_ctrs, TBF_CTR_GPRS_DL_CS2)); break; case CS3: bts_do_rate_ctr_inc(bts, CTR_GPRS_DL_CS3); - rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS3]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_gprs_ctrs, TBF_CTR_GPRS_DL_CS3)); break; case CS4: bts_do_rate_ctr_inc(bts, CTR_GPRS_DL_CS4); - rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS4]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_gprs_ctrs, TBF_CTR_GPRS_DL_CS4)); break; case MCS1: bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS1); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS1]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS1)); break; case MCS2: bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS2); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS2]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS2)); break; case MCS3: bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS3); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS3]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS3)); break; case MCS4: bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS4); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS4]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS4)); break; case MCS5: bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS5); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS5]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS5)); break; case MCS6: bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS6); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS6]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS6)); break; case MCS7: bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS7); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS7]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS7)); break; case MCS8: bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS8); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS8]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS8)); break; case MCS9: bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS9); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS9]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS9)); break; default: LOGPTBFDL(this, LOGL_ERROR, "attempting to update rate counters for unsupported (M)CS %s\n", diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 9cbb9fb..b5f9f01 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -743,55 +743,55 @@ switch (cs) { case CS1: bts_do_rate_ctr_inc(bts, CTR_GPRS_UL_CS1); - rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS1]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_gprs_ctrs, TBF_CTR_GPRS_UL_CS1)); break; case CS2: bts_do_rate_ctr_inc(bts, CTR_GPRS_UL_CS2); - rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS2]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_gprs_ctrs, TBF_CTR_GPRS_UL_CS2)); break; case CS3: bts_do_rate_ctr_inc(bts, CTR_GPRS_UL_CS3); - rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS3]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_gprs_ctrs, TBF_CTR_GPRS_UL_CS3)); break; case CS4: bts_do_rate_ctr_inc(bts, CTR_GPRS_UL_CS4); - rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS4]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_gprs_ctrs, TBF_CTR_GPRS_UL_CS4)); break; case MCS1: bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS1); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS1]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS1)); break; case MCS2: bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS2); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS2]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS2)); break; case MCS3: bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS3); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS3]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS3)); break; case MCS4: bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS4); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS4]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS4)); break; case MCS5: bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS5); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS5]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS5)); break; case MCS6: bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS6); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS6]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS6)); break; case MCS7: bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS7); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS7]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS7)); break; case MCS8: bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS8); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS8]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS8)); break; case MCS9: bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS9); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS9]); + rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS9)); break; default: LOGPTBFUL(this, LOGL_ERROR, "attempting to update rate counters for unsupported (M)CS %s\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I600c7a8725f5b229b1a2feb879da7c3b2dce4505 Gerrit-Change-Number: 24546 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 19:40:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:40:18 +0000 Subject: Change in osmo-msc[master]: Use new osmo stat items/ctr APIs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24545 ) Change subject: Use new osmo stat items/ctr APIs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I3ee853539949a763a309856bf2e7196415b23741 Gerrit-Change-Number: 24545 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Jun 2021 19:40: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 Jun 4 19:40:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:40:20 +0000 Subject: Change in osmo-msc[master]: Use new osmo stat items/ctr APIs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24545 ) Change subject: Use new osmo stat items/ctr APIs ...................................................................... Use new osmo stat items/ctr APIs Generated using several semantinc patches with spatch. Change-Id: I3ee853539949a763a309856bf2e7196415b23741 --- M src/libmsc/gsm_04_08.c M src/libmsc/gsm_04_08_cc.c M src/libmsc/gsm_04_11.c M src/libmsc/gsm_09_11.c M src/libmsc/mncc_call.c M src/libmsc/msc_a.c M src/libmsc/msc_vty.c 7 files changed, 61 insertions(+), 64 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libmsc/gsm_04_08.c b/src/libmsc/gsm_04_08.c index 58ef074..fb450e6 100644 --- a/src/libmsc/gsm_04_08.c +++ b/src/libmsc/gsm_04_08.c @@ -366,15 +366,15 @@ switch (lu->type) { case GSM48_LUPD_NORMAL: - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_TYPE_NORMAL]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_LOC_UPDATE_TYPE_NORMAL)); vlr_lu_type = VLR_LU_TYPE_REGULAR; break; case GSM48_LUPD_IMSI_ATT: - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_TYPE_ATTACH]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_LOC_UPDATE_TYPE_ATTACH)); vlr_lu_type = VLR_LU_TYPE_IMSI_ATTACH; break; case GSM48_LUPD_PERIODIC: - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_TYPE_PERIODIC]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_LOC_UPDATE_TYPE_PERIODIC)); vlr_lu_type = VLR_LU_TYPE_PERIODIC; break; } @@ -854,7 +854,7 @@ DEBUGP(DMM, "IMSI DETACH INDICATION: %s\n", osmo_mobile_identity_to_str_c(OTC_SELECT, &mi)); - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_TYPE_DETACH]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_LOC_UPDATE_TYPE_DETACH)); switch (mi.type) { case GSM_MI_TYPE_TMSI: diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c index 704e596..a8b4665 100644 --- a/src/libmsc/gsm_04_08_cc.c +++ b/src/libmsc/gsm_04_08_cc.c @@ -163,20 +163,22 @@ /* state incoming */ switch (new_state) { case GSM_CSTATE_ACTIVE: - osmo_stat_item_inc(trans->net->statg->items[MSC_STAT_ACTIVE_CALLS], 1); - rate_ctr_inc(&msc->ctr[MSC_CTR_CALL_ACTIVE]); + osmo_stat_item_inc(osmo_stat_item_group_get_item(trans->net->statg, MSC_STAT_ACTIVE_CALLS), + 1); + rate_ctr_inc(rate_ctr_group_get_ctr(msc, MSC_CTR_CALL_ACTIVE)); break; } /* state outgoing */ switch (old_state) { case GSM_CSTATE_ACTIVE: - osmo_stat_item_dec(trans->net->statg->items[MSC_STAT_ACTIVE_CALLS], 1); + osmo_stat_item_dec(osmo_stat_item_group_get_item(trans->net->statg, MSC_STAT_ACTIVE_CALLS), + 1); if (new_state == GSM_CSTATE_DISCONNECT_REQ || new_state == GSM_CSTATE_DISCONNECT_IND) - rate_ctr_inc(&msc->ctr[MSC_CTR_CALL_COMPLETE]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc, MSC_CTR_CALL_COMPLETE)); else - rate_ctr_inc(&msc->ctr[MSC_CTR_CALL_INCOMPLETE]); + rate_ctr_inc(rate_ctr_group_get_ctr(msc, MSC_CTR_CALL_INCOMPLETE)); break; } } @@ -574,7 +576,7 @@ LOG_TRANS(trans, setup.emergency ? LOGL_NOTICE : LOGL_INFO, "%sSETUP to %s\n", setup.emergency ? "EMERGENCY_" : "", setup.called.number); - rate_ctr_inc(&trans->net->msc_ctrs->ctr[MSC_CTR_CALL_MO_SETUP]); + rate_ctr_inc(rate_ctr_group_get_ctr(trans->net->msc_ctrs, MSC_CTR_CALL_MO_SETUP)); /* indicate setup to MNCC */ mncc_recvmsg(trans->net, trans, MNCC_SETUP_IND, &setup); @@ -657,7 +659,7 @@ new_cc_state(trans, GSM_CSTATE_CALL_PRESENT); - rate_ctr_inc(&trans->net->msc_ctrs->ctr[MSC_CTR_CALL_MT_SETUP]); + rate_ctr_inc(rate_ctr_group_get_ctr(trans->net->msc_ctrs, MSC_CTR_CALL_MT_SETUP)); return trans_tx_gsm48(trans, msg); } @@ -902,7 +904,7 @@ } new_cc_state(trans, GSM_CSTATE_CONNECT_REQUEST); - rate_ctr_inc(&trans->net->msc_ctrs->ctr[MSC_CTR_CALL_MT_CONNECT]); + rate_ctr_inc(rate_ctr_group_get_ctr(trans->net->msc_ctrs, MSC_CTR_CALL_MT_CONNECT)); return mncc_recvmsg(trans->net, trans, MNCC_SETUP_CNF, &connect); } @@ -915,7 +917,7 @@ gsm48_stop_cc_timer(trans); new_cc_state(trans, GSM_CSTATE_ACTIVE); - rate_ctr_inc(&trans->net->msc_ctrs->ctr[MSC_CTR_CALL_MO_CONNECT_ACK]); + rate_ctr_inc(rate_ctr_group_get_ctr(trans->net->msc_ctrs, MSC_CTR_CALL_MO_CONNECT_ACK)); memset(&connect_ack, 0, sizeof(struct gsm_mncc)); connect_ack.callref = trans->callref; diff --git a/src/libmsc/gsm_04_11.c b/src/libmsc/gsm_04_11.c index e5063dc..199fdc1 100644 --- a/src/libmsc/gsm_04_11.c +++ b/src/libmsc/gsm_04_11.c @@ -432,7 +432,7 @@ LOG_TRANS(trans, LOGL_ERROR, "SMS delivery error: %d\n", rc); rc = GSM411_RP_CAUSE_MO_TEMP_FAIL; /* rc will be logged by gsm411_send_rp_error() */ - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_DELIVER_UNKNOWN_ERROR]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_SMS_DELIVER_UNKNOWN_ERROR)); } return rc; } @@ -448,22 +448,22 @@ #ifdef BUILD_SMPP /* Avoid a second look-up */ if (smpp_route_smpp_first()) { - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_SMS_NO_RECEIVER)); return GSM411_RP_CAUSE_MO_NUM_UNASSIGNED; } rc = smpp_try_deliver(gsms, msc_a); if (rc == GSM411_RP_CAUSE_MO_NUM_UNASSIGNED) { - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_SMS_NO_RECEIVER)); } else if (rc < 0) { LOG_TRANS(trans, LOGL_ERROR, "SMS delivery error: %d\n", rc); rc = GSM411_RP_CAUSE_MO_TEMP_FAIL; /* rc will be logged by gsm411_send_rp_error() */ - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_DELIVER_UNKNOWN_ERROR]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_SMS_DELIVER_UNKNOWN_ERROR)); } #else rc = GSM411_RP_CAUSE_MO_NUM_UNASSIGNED; - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_SMS_NO_RECEIVER)); #endif return rc; @@ -501,7 +501,7 @@ } /* FIXME: should we do this on success, after all checks? */ - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_SUBMITTED]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_SMS_SUBMITTED)); gsms = sms_alloc(); if (!gsms) @@ -903,10 +903,10 @@ * to store this in our database and wait for a SMMA message */ /* FIXME */ send_signal(S_SMS_MEM_EXCEEDED, trans, sms, 0); - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_RP_ERR_MEM]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_SMS_RP_ERR_MEM)); } else { send_signal(S_SMS_UNKNOWN_ERROR, trans, sms, 0); - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_RP_ERR_OTHER]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_SMS_RP_ERR_OTHER)); } sms_free(sms); @@ -1211,7 +1211,7 @@ /* Store a pointer to abstract SMS representation */ trans->sms.sms = sms; - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_DELIVERED]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_SMS_DELIVERED)); db_sms_inc_deliver_attempts(trans->sms.sms); return gsm411_rp_sendmsg(&trans->sms.smr_inst, msg, @@ -1254,7 +1254,7 @@ /* Encode RP-UD itself (SM TPDU) */ msgb_lv_put(msg, sm_rp_ud_len, sm_rp_ud); - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_DELIVERED]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_SMS_DELIVERED)); return gsm411_rp_sendmsg(&trans->sms.smr_inst, msg, GSM411_MT_RP_DATA_MT, trans->sms.sm_rp_mr, diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index b696a67..d94be48 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -125,7 +125,7 @@ trans = trans_find_by_id(msc_a, TRANS_USSD, tid); if (!trans) { /* Count MS-initiated attempts to establish a NC SS/USSD session */ - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_NC_SS_MO_REQUESTS]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_NC_SS_MO_REQUESTS)); /** * According to GSM TS 04.80, section 2.4.2 "Register @@ -159,7 +159,7 @@ ncss_session_timeout_handler, trans); /* Count active NC SS/USSD sessions */ - osmo_stat_item_inc(net->statg->items[MSC_STAT_ACTIVE_NC_SS], 1); + osmo_stat_item_inc(osmo_stat_item_group_get_item(net->statg, MSC_STAT_ACTIVE_NC_SS), 1); trans->dlci = OMSC_LINKID_CB(msg); trans->msc_a = msc_a; @@ -241,7 +241,7 @@ /* Count established MS-initiated NC SS/USSD sessions */ if (msg_type == GSM0480_MTYPE_REGISTER) - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_NC_SS_MO_ESTABLISHED]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_NC_SS_MO_ESTABLISHED)); return rc; @@ -297,7 +297,7 @@ trans->ss.msg = NULL; /* Count established network-initiated NC SS/USSD sessions */ - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_NC_SS_MT_ESTABLISHED]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_NC_SS_MT_ESTABLISHED)); } else { struct osmo_gsup_message gsup_msg; @@ -363,7 +363,7 @@ } /* Count active NC SS/USSD sessions */ - osmo_stat_item_inc(net->statg->items[MSC_STAT_ACTIVE_NC_SS], 1); + osmo_stat_item_inc(osmo_stat_item_group_get_item(net->statg, MSC_STAT_ACTIVE_NC_SS), 1); /* Init inactivity timer */ osmo_timer_setup(&trans->ss.timer_guard, @@ -415,7 +415,8 @@ osmo_timer_del(&trans->ss.timer_guard); /* One session less */ - osmo_stat_item_dec(trans->net->statg->items[MSC_STAT_ACTIVE_NC_SS], 1); + osmo_stat_item_dec(osmo_stat_item_group_get_item(trans->net->statg, MSC_STAT_ACTIVE_NC_SS), + 1); } int gsm0911_gsup_rx(struct gsup_client_mux *gcm, void *data, const struct osmo_gsup_message *gsup_msg) @@ -474,7 +475,7 @@ if (!trans) { /* Count network-initiated attempts to establish a NC SS/USSD session */ - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_NC_SS_MT_REQUESTS]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_NC_SS_MT_REQUESTS)); /* Attempt to establish a new transaction */ trans = establish_nc_ss_trans(net, vsub, gsup_msg); @@ -578,7 +579,7 @@ /* Count established network-initiated NC SS/USSD sessions */ if (gsup_msg->session_state == OSMO_GSUP_SESSION_STATE_BEGIN) - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_NC_SS_MT_ESTABLISHED]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, MSC_CTR_NC_SS_MT_ESTABLISHED)); return 0; } diff --git a/src/libmsc/mncc_call.c b/src/libmsc/mncc_call.c index 131620d..c9a6d56 100644 --- a/src/libmsc/mncc_call.c +++ b/src/libmsc/mncc_call.c @@ -224,7 +224,7 @@ mncc_call->local_msisdn_present = true; mncc_call->local_msisdn = mncc_msg.signal.calling; - rate_ctr_inc(&gsmnet->msc_ctrs->ctr[MSC_CTR_CALL_MO_SETUP]); + rate_ctr_inc(rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_CALL_MO_SETUP)); mncc_call_tx(mncc_call, &mncc_msg); } diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c index daa5bc7..391d251 100644 --- a/src/libmsc/msc_a.c +++ b/src/libmsc/msc_a.c @@ -112,19 +112,13 @@ struct gsm_network *net = msc_a_net(msc_a); switch (msc_a->complete_layer3_type) { case COMPLETE_LAYER3_LU: - rate_ctr_inc(&net->msc_ctrs->ctr[ - conn_accepted ? MSC_CTR_LOC_UPDATE_COMPLETED - : MSC_CTR_LOC_UPDATE_FAILED]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, conn_accepted ? MSC_CTR_LOC_UPDATE_COMPLETED : MSC_CTR_LOC_UPDATE_FAILED)); break; case COMPLETE_LAYER3_CM_SERVICE_REQ: - rate_ctr_inc(&net->msc_ctrs->ctr[ - conn_accepted ? MSC_CTR_CM_SERVICE_REQUEST_ACCEPTED - : MSC_CTR_CM_SERVICE_REQUEST_REJECTED]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, conn_accepted ? MSC_CTR_CM_SERVICE_REQUEST_ACCEPTED : MSC_CTR_CM_SERVICE_REQUEST_REJECTED)); break; case COMPLETE_LAYER3_PAGING_RESP: - rate_ctr_inc(&net->msc_ctrs->ctr[ - conn_accepted ? MSC_CTR_PAGING_RESP_ACCEPTED - : MSC_CTR_PAGING_RESP_REJECTED]); + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, conn_accepted ? MSC_CTR_PAGING_RESP_ACCEPTED : MSC_CTR_PAGING_RESP_REJECTED)); break; default: break; diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c index 79b4daa..7b111b1 100644 --- a/src/libmsc/msc_vty.c +++ b/src/libmsc/msc_vty.c @@ -1814,45 +1814,45 @@ SHOW_STR "Display network statistics\n") { vty_out(vty, "Location Update : %" PRIu64 " attach, %" PRIu64 " normal, %" PRIu64 " periodic%s", - gsmnet->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_TYPE_ATTACH].current, - gsmnet->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_TYPE_NORMAL].current, - gsmnet->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_TYPE_PERIODIC].current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_LOC_UPDATE_TYPE_ATTACH)->current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_LOC_UPDATE_TYPE_NORMAL)->current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_LOC_UPDATE_TYPE_PERIODIC)->current, VTY_NEWLINE); vty_out(vty, "IMSI Detach Indications : %" PRIu64 "%s", - gsmnet->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_TYPE_DETACH].current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_LOC_UPDATE_TYPE_DETACH)->current, VTY_NEWLINE); vty_out(vty, "Location Updating Results: %" PRIu64 " completed, %" PRIu64 " failed%s", - gsmnet->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_COMPLETED].current, - gsmnet->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_FAILED].current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_LOC_UPDATE_COMPLETED)->current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_LOC_UPDATE_FAILED)->current, VTY_NEWLINE); vty_out(vty, "SMS MO : %" PRIu64 " submitted, %" PRIu64 " no receiver%s", - gsmnet->msc_ctrs->ctr[MSC_CTR_SMS_SUBMITTED].current, - gsmnet->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER].current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_SMS_SUBMITTED)->current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_SMS_NO_RECEIVER)->current, VTY_NEWLINE); vty_out(vty, "SMS MT : %" PRIu64 " delivered, %" PRIu64 " no memory, %" PRIu64 " other error%s", - gsmnet->msc_ctrs->ctr[MSC_CTR_SMS_DELIVERED].current, - gsmnet->msc_ctrs->ctr[MSC_CTR_SMS_RP_ERR_MEM].current, - gsmnet->msc_ctrs->ctr[MSC_CTR_SMS_RP_ERR_OTHER].current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_SMS_DELIVERED)->current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_SMS_RP_ERR_MEM)->current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_SMS_RP_ERR_OTHER)->current, VTY_NEWLINE); vty_out(vty, "MO Calls : %" PRIu64 " setup, %" PRIu64 " connect ack%s", - gsmnet->msc_ctrs->ctr[MSC_CTR_CALL_MO_SETUP].current, - gsmnet->msc_ctrs->ctr[MSC_CTR_CALL_MO_CONNECT_ACK].current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_CALL_MO_SETUP)->current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_CALL_MO_CONNECT_ACK)->current, VTY_NEWLINE); vty_out(vty, "MT Calls : %" PRIu64 " setup, %" PRIu64 " connect%s", - gsmnet->msc_ctrs->ctr[MSC_CTR_CALL_MT_SETUP].current, - gsmnet->msc_ctrs->ctr[MSC_CTR_CALL_MT_CONNECT].current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_CALL_MT_SETUP)->current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_CALL_MT_CONNECT)->current, VTY_NEWLINE); vty_out(vty, "MO NC SS/USSD : %" PRIu64 " requests, %" PRIu64 " established, %" PRIu64 " rejected%s", - gsmnet->msc_ctrs->ctr[MSC_CTR_NC_SS_MO_REQUESTS].current, - gsmnet->msc_ctrs->ctr[MSC_CTR_NC_SS_MO_ESTABLISHED].current, - gsmnet->msc_ctrs->ctr[MSC_CTR_NC_SS_MO_REQUESTS].current - - gsmnet->msc_ctrs->ctr[MSC_CTR_NC_SS_MO_ESTABLISHED].current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_NC_SS_MO_REQUESTS)->current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_NC_SS_MO_ESTABLISHED)->current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_NC_SS_MO_REQUESTS)->current + - rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_NC_SS_MO_ESTABLISHED)->current, VTY_NEWLINE); vty_out(vty, "MT NC SS/USSD : %" PRIu64 " requests, %" PRIu64 " established, %" PRIu64 " rejected%s", - gsmnet->msc_ctrs->ctr[MSC_CTR_NC_SS_MT_REQUESTS].current, - gsmnet->msc_ctrs->ctr[MSC_CTR_NC_SS_MT_ESTABLISHED].current, - gsmnet->msc_ctrs->ctr[MSC_CTR_NC_SS_MT_REQUESTS].current - - gsmnet->msc_ctrs->ctr[MSC_CTR_NC_SS_MT_ESTABLISHED].current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_NC_SS_MT_REQUESTS)->current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_NC_SS_MT_ESTABLISHED)->current, + rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_NC_SS_MT_REQUESTS)->current + - rate_ctr_group_get_ctr(gsmnet->msc_ctrs, MSC_CTR_NC_SS_MT_ESTABLISHED)->current, VTY_NEWLINE); return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I3ee853539949a763a309856bf2e7196415b23741 Gerrit-Change-Number: 24545 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 Jun 4 19:41:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:41:26 +0000 Subject: Change in libosmocore[master]: osmo_select_shutdown: allow finishing pending writes on sigterm In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24544 ) Change subject: osmo_select_shutdown: allow finishing pending writes on sigterm ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24544/1/src/select.c File src/select.c: https://gerrit.osmocom.org/c/libosmocore/+/24544/1/src/select.c at 103 PS1, Line 103: bool osmo_select_shutdown_done = false; > maybe these should rather be function calls, to be able to extend the functionality in the future? [?] Ack -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib94d4316924103459577087c2214188679db2227 Gerrit-Change-Number: 24544 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 04 Jun 2021 19:41:26 +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 Jun 4 19:42:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:42:39 +0000 Subject: Change in osmo-bsc[master]: Make interference measurement parameters configurable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24548 ) Change subject: Make interference measurement parameters configurable ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I99ebf57aac1f3ca7e0497c3b4f6b0738c6ed7e47 Gerrit-Change-Number: 24548 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 19:42: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 Jun 4 19:42:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:42:43 +0000 Subject: Change in osmo-bsc[master]: Make interference measurement parameters configurable In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24548 ) Change subject: Make interference measurement parameters configurable ...................................................................... Make interference measurement parameters configurable According to 3GPP TS 45.008, the BSS shall monitor the levels of interference on its IDLE traffic channels. The actual measurements are performed in the BTS and then reported to the BSC over the A-bis/RSL link(s) in RF RESource INDication messages. 3GPP TS 45.008 defines the following measurement parameters: * Intave: Interference Averaging period (see table A.1), * Interference level Boundaries (see table A.1). Both parameters are sent to the BTS over the A-bis/OML, and can now be configured via the VTY interface. Only those BTS models which 'speak' the OML protocol defined in 3GPP TS 52.021 will actually get the configured parameters, others will keep using the hard-coded parameters. Change-Id: I99ebf57aac1f3ca7e0497c3b4f6b0738c6ed7e47 Related: SYS#5313, OS#1866 --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h 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/gsm_data.c M tests/Makefile.am A tests/interf_meas.vty 8 files changed, 139 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/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 7a491d9..72f83eb 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -534,6 +534,9 @@ struct gsm_power_ctrl_params ms_power_ctrl; struct gsm_power_ctrl_params bs_power_ctrl; + /* Interference Measurement Parameters */ + struct gsm_interf_meas_params interf_meas_params; + /* We will ignore CHAN RQD with access delay greater than rach_max_delay */ uint8_t rach_max_delay; }; diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 3f1446b..1540864 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1414,6 +1414,16 @@ extern const struct gsm_power_ctrl_params power_ctrl_params_def; +/* Interference Measurement Parameters */ +struct gsm_interf_meas_params { + /* Intave: Interference Averaging period (see 3GPP TS 45.008, table A.1) */ + uint8_t avg_period; /* number of SACCH multiframes, 1 .. 31 */ + /* Interference level Boundaries (see 3GPP TS 52.021, section 9.4.25) */ + uint8_t bounds_dbm[6]; /* -x dBm values for boundaries 0 .. X5 */ +}; + +extern const struct gsm_interf_meas_params interf_meas_params_def; + enum rsl_cmod_spd chan_mode_to_rsl_cmod_spd(enum gsm48_chan_mode chan_mode); #endif /* _GSM_DATA_H */ diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 5bd27fc..1db284a 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1236,6 +1236,25 @@ || 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) { + vty_out(vty, " interference-meas avg-period %u%s", + bts->interf_meas_params.avg_period, + VTY_NEWLINE); + } + if (memcmp(bts->interf_meas_params.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], + VTY_NEWLINE); + } + /* BS/MS Power Control parameters */ config_write_power_ctrl(vty, 2, &bts->bs_power_ctrl); config_write_power_ctrl(vty, 2, &bts->ms_power_ctrl); @@ -4890,6 +4909,46 @@ return CMD_SUCCESS; } +DEFUN_USRATTR(cfg_bts_interf_meas_avg_period, + cfg_bts_interf_meas_avg_period_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "interference-meas avg-period <1-31>", + "Interference measurement parameters\n" + "Averaging period (Intave)\n" + "Number of SACCH multiframes\n") +{ + struct gsm_bts *bts = vty->index; + + bts->interf_meas_params.avg_period = atoi(argv[0]); + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_bts_interf_meas_level_bounds, + cfg_bts_interf_meas_level_bounds_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "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 boundary 0 (dBm)\n" + "Interference boundary X1 (dBm)\n" + "Interference boundary X2 (dBm)\n" + "Interference boundary X3 (dBm)\n" + "Interference boundary X4 (dBm)\n" + "Interference boundary X5 (dBm)\n") +{ + 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])); + /* TODO: ensure ascending (or descending?) order */ + } + + return CMD_SUCCESS; +} + #define BS_POWER_CONTROL_CMD \ "bs-power-control" #define MS_POWER_CONTROL_CMD \ @@ -7868,6 +7927,8 @@ install_element(BTS_NODE, &cfg_bts_rep_ul_dl_sacch_cmd); install_element(BTS_NODE, &cfg_bts_rep_no_ul_dl_sacch_cmd); install_element(BTS_NODE, &cfg_bts_rep_rxqual_cmd); + install_element(BTS_NODE, &cfg_bts_interf_meas_avg_period_cmd); + install_element(BTS_NODE, &cfg_bts_interf_meas_level_bounds_cmd); neighbor_ident_vty_init(); /* See also handover commands added on bts level from handover_vty.c */ diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index 652d126..4b02042 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -357,6 +357,9 @@ bts->bs_power_ctrl = power_ctrl_params_def; bts->bs_power_ctrl.dir = GSM_PWR_CTRL_DIR_DL; + /* Interference Measurement Parameters (defaults) */ + bts->interf_meas_params = interf_meas_params_def; + bts->rach_max_delay = 63; return bts; diff --git a/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c b/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c index 885f4cc..ed3a802 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c @@ -35,11 +35,12 @@ if (!msgb) return NULL; - memcpy(buf, "\x55\x5b\x61\x67\x6d\x73", 6); - msgb_tv_fixed_put(msgb, NM_ATT_INTERF_BOUND, 6, buf); - - /* interference avg. period in numbers of SACCH multifr */ - msgb_tv_put(msgb, NM_ATT_INTAVE_PARAM, 0x06); + /* 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]); + /* 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); rlt = gsm_bts_get_radio_link_timeout(bts); if (rlt == -1) { diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index ea6c685..b33b1c3 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -1002,6 +1002,19 @@ } } +/* Default Interference Measurement Parameters */ +const struct gsm_interf_meas_params interf_meas_params_def = { + .avg_period = 6, /* 6 SACCH periods */ + .bounds_dbm = { + 85, /* 0: -85 dBm */ + 91, /* X1: -91 dBm */ + 97, /* X2: -97 dBm */ + 103, /* X3: -103 dBm */ + 109, /* X4: -109 dBm */ + 115, /* X5: -115 dBm */ + }, +}; + /* Default MS/BS Power Control parameters (see 3GPP TS 45.008, table A.1) */ const struct gsm_power_ctrl_params power_ctrl_params_def = { /* Static Power Control is the safe default */ diff --git a/tests/Makefile.am b/tests/Makefile.am index 5e23be0..0831dee 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -41,6 +41,7 @@ osmo-bsc.vty \ timer.vty \ power_ctrl.vty \ + interf_meas.vty \ ctrl/osmo-bsc-neigh-test.cfg \ ctrl/osmo-bsc-apply-config-file.cfg \ ctrl/osmo-bsc-apply-config-file-invalid.cfg \ diff --git a/tests/interf_meas.vty b/tests/interf_meas.vty new file mode 100644 index 0000000..76b33e5 --- /dev/null +++ b/tests/interf_meas.vty @@ -0,0 +1,42 @@ +OsmoBSC> enable + +OsmoBSC# ### Default configuration +OsmoBSC# show running-config +... !interference-meas + +OsmoBSC# configure terminal +OsmoBSC(config)# network +OsmoBSC(config-net)# bts 0 + +OsmoBSC(config-net-bts)# interference-meas? + interference-meas Interference measurement parameters +OsmoBSC(config-net-bts)# interference-meas ? + avg-period Averaging period (Intave) + level-bounds Interference level Boundaries + +OsmoBSC(config-net-bts)# ### Averaging period +OsmoBSC(config-net-bts)# interference-meas avg-period ? + <1-31> Number of SACCH multiframes +OsmoBSC(config-net-bts)# interference-meas avg-period 0 +% Unknown command. +OsmoBSC(config-net-bts)# interference-meas avg-period 30 +OsmoBSC(config-net-bts)# show running-config +... !interference-meas + bts 0 +... !interference-meas + interference-meas avg-period 30 +... !interference-meas + +OsmoBSC(config-net-bts)# ### Interference level Boundaries +OsmoBSC(config-net-bts)# interference-meas level-bounds ? + <-120-0> Interference boundary 0 (dBm) +OsmoBSC(config-net-bts)# interference-meas level-bounds -85 -90 -95 -100 -105 ? + <-120-0> Interference boundary X5 (dBm) +OsmoBSC(config-net-bts)# interference-meas level-bounds -85 -90 -95 -100 -105 -110 +OsmoBSC(config-net-bts)# show running-config +... !interference-meas + bts 0 +... !interference-meas + interference-meas avg-period 30 + interference-meas level-bounds -85 -90 -95 -100 -105 -110 +... !interference-meas -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I99ebf57aac1f3ca7e0497c3b4f6b0738c6ed7e47 Gerrit-Change-Number: 24548 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 Jun 4 19:44:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:44:14 +0000 Subject: Change in libosmocore[master]: stat, rate_ctr: Allow setting group name and use it at report time In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24467 ) Change subject: stat,rate_ctr: Allow setting group name and use it at report time ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0dc510783dd9ae8436dae8005a7b3330e80d36f3 Gerrit-Change-Number: 24467 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 04 Jun 2021 19: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 Fri Jun 4 19:49:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:49:32 +0000 Subject: Change in osmo-ci[master]: jobs: don't run any on admin2-deb9build In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24542 ) Change subject: jobs: don't run any on admin2-deb9build ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24542 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0ea91658c74ea24fae551b917628fab5f7952c97 Gerrit-Change-Number: 24542 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 19:49:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 19:49:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:49:35 +0000 Subject: Change in osmo-ci[master]: jobs: don't run any on admin2-deb9build In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24542 ) Change subject: jobs: don't run any on admin2-deb9build ...................................................................... jobs: don't run any on admin2-deb9build This node was disabled permanently, so don't try to run anything on it. Change-Id: I0ea91658c74ea24fae551b917628fab5f7952c97 --- M jobs/update-osmo-ci-on-slaves.yml M jobs/update-osmo-python-on-slaves.yml 2 files changed, 0 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved; Verified diff --git a/jobs/update-osmo-ci-on-slaves.yml b/jobs/update-osmo-ci-on-slaves.yml index 254744e..060bba2 100644 --- a/jobs/update-osmo-ci-on-slaves.yml +++ b/jobs/update-osmo-ci-on-slaves.yml @@ -7,7 +7,6 @@ name: label values: - simtester - - admin2-deb9build - host2-deb9build-ansible - build2-deb9build-ansible - build2-deb10build-ansible diff --git a/jobs/update-osmo-python-on-slaves.yml b/jobs/update-osmo-python-on-slaves.yml index b65604e..598d867 100644 --- a/jobs/update-osmo-python-on-slaves.yml +++ b/jobs/update-osmo-python-on-slaves.yml @@ -6,7 +6,6 @@ type: slave name: label values: - - admin2-deb9build - host2-deb9build-ansible - build2-deb9build-ansible - build2-deb10build-ansible -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24542 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0ea91658c74ea24fae551b917628fab5f7952c97 Gerrit-Change-Number: 24542 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 Fri Jun 4 19:54:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:54:16 +0000 Subject: Change in osmo-bsc[master]: handover: apply meas report BS Power to RXLEV, fix ho oscillation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24425 ) Change subject: handover: apply meas report BS Power to RXLEV, fix ho oscillation ...................................................................... Patch Set 6: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24425/3/src/osmo-bsc/meas_rep.c File src/osmo-bsc/meas_rep.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24425/3/src/osmo-bsc/meas_rep.c at 36 PS3, Line 36: rxlev is coded in dB > but rxlev is in dB steps ... [?] the step size is dB, which is a relative unit / ratio. so it is correct. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifcf59964b5e2d550d79e4ba14d90962808f79dae Gerrit-Change-Number: 24425 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 19:54:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: neels 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 Jun 4 19:54:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:54:58 +0000 Subject: Change in osmo-bsc[master]: change bs_power to bs_power_db In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24421 ) Change subject: change bs_power to bs_power_db ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I229db1d6bcf532af95aff56b2ad18b5ed9d81616 Gerrit-Change-Number: 24421 Gerrit-PatchSet: 8 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 19:54: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 Jun 4 19:55:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:55:51 +0000 Subject: Change in osmo-bsc[master]: meas rep logging: replace a dozen DEBUGPC() with one DEBUGP() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24426 ) Change subject: meas rep logging: replace a dozen DEBUGPC() with one DEBUGP() ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4cb607ff43a1cb30408427d99d97c103776b6e69 Gerrit-Change-Number: 24426 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, 04 Jun 2021 19:55: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 Jun 4 19:56:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:56:04 +0000 Subject: Change in osmo-bsc[master]: meas rep logging: use log_check_level() to skip a logging loop In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24427 ) Change subject: meas rep logging: use log_check_level() to skip a logging loop ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71a402a0940857bbedbaf25d293429934706a83c Gerrit-Change-Number: 24427 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 19:56:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 19:57:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:57:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: fix wrong parameter type in ts_PCUIF_DATA_IND In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24415 ) Change subject: library/PCUIF_Types: fix wrong parameter type in ts_PCUIF_DATA_IND ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I038eec22928d831ddbc0a2704830d5e2eab2cb6b Gerrit-Change-Number: 24415 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 19:57: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 Jun 4 19:57:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:57:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: fix wrong parameter type in ts_PCUIF_DATA_IND In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24415 ) Change subject: library/PCUIF_Types: fix wrong parameter type in ts_PCUIF_DATA_IND ...................................................................... library/PCUIF_Types: fix wrong parameter type in ts_PCUIF_DATA_IND The 'lqual_cb' represents the link quality in centiBels, which can be negative. Use 'int16_t' instead of 'uint16_t'. Change-Id: I038eec22928d831ddbc0a2704830d5e2eab2cb6b --- M library/PCUIF_Types.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: 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/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index b259cfc..9d6b023 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -438,7 +438,7 @@ template (value) int8_t rssi := -80, template (value) uint16_t ber10k := 0, template (value) int16_t ta_offs_qbits := 0, - template (value) uint16_t lqual_cb := 10) := { + template (value) int16_t lqual_cb := 10) := { msg_type := PCU_IF_MSG_DATA_IND, bts_nr := bts_nr, spare := '0000'O, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I038eec22928d831ddbc0a2704830d5e2eab2cb6b Gerrit-Change-Number: 24415 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 19:57:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:57:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: f_ms_tx_data_ind(): indicate actual Timing Advance in DATA.ind In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24416 ) Change subject: f_ms_tx_data_ind(): indicate actual Timing Advance in DATA.ind ...................................................................... f_ms_tx_data_ind(): indicate actual Timing Advance in DATA.ind Change-Id: Id89a5ed1ea82a81f0ce4e75204117afb322f5264 --- M pcu/GPRS_Components.ttcn M pcu/PCU_selftest.ttcn 2 files changed, 5 insertions(+), 4 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index 5cf9104..2297fb6 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -626,7 +626,7 @@ function f_ms_tx_data_ind(inout GprsMS ms, octetstring data, uint32_t fn := 0, template (value) TsTrxBtsNum nr := ts_TsTrxBtsNum) runs on MS_BTS_IFACE_CT { - f_pcuif_tx_data_ind(data, ms.lqual_cb, fn, nr := nr); + f_pcuif_tx_data_ind(data, fn, ms.ta, ms.lqual_cb, nr := nr); } function f_ms_tx_ul_block(inout GprsMS ms, template (value) RlcmacUlBlock ul_data, @@ -1070,14 +1070,15 @@ } /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ -function f_pcuif_tx_data_ind(octetstring data, int16_t lqual_cb := 0, uint32_t fn := 0, +function f_pcuif_tx_data_ind(octetstring data, uint32_t fn := 0, + TimingAdvance ta := 0, int16_t lqual_cb := 0, template (value) TsTrxBtsNum nr := ts_TsTrxBtsNum) runs on MS_BTS_IFACE_CT { var template RAW_PCU_EventParam ev_param := {tdma_fn := ? }; BTS.send(ts_PCUIF_DATA_IND(nr.bts_nr, nr.trx_nr, nr.ts_nr, nr.blk_nr, sapi := PCU_IF_SAPI_PDTCH, data := data, fn := fn, arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)), - lqual_cb := lqual_cb)); + ta_offs_qbits := ta * 4, lqual_cb := lqual_cb)); if (fn != 0) { ev_param := {tdma_fn := fn }; } diff --git a/pcu/PCU_selftest.ttcn b/pcu/PCU_selftest.ttcn index 70138bf..a8bcaee 100644 --- a/pcu/PCU_selftest.ttcn +++ b/pcu/PCU_selftest.ttcn @@ -291,7 +291,7 @@ data := f_pad_oct(data, f_rlcmac_cs_mcs2block_len(schemes[i]), '00'O); /* Send to PCU so that we get gsmtap traces to verify with wireshark */ - f_pcuif_tx_data_ind(data, 0, 0); + f_pcuif_tx_data_ind(data); log("Decoding ", schemes[i]); ul_data := dec_RlcmacUlBlock(data); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id89a5ed1ea82a81f0ce4e75204117afb322f5264 Gerrit-Change-Number: 24416 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 Fri Jun 4 19:57:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:57:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU_Tests: new test case TC_ta_ul_ack_nack_first_block() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24417 ) Change subject: PCU_Tests: new test case TC_ta_ul_ack_nack_first_block() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I30f82c51b3e9a167af4dbce3e74697dd79ff15bf Gerrit-Change-Number: 24417 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 19:57: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 Jun 4 19:58:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 19:58:19 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: rework handling of Training Sequence In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24327 ) Change subject: [VAMOS] osmo-bts-trx: rework handling of Training Sequence ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3744bc308b99ef941e6e9d139444e414abebc14b Gerrit-Change-Number: 24327 Gerrit-PatchSet: 7 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 19:58: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 Jun 4 20:00:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:00:31 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24388 ) Change subject: [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idc5796151e3e83f42d60c2d4cb7c35890d76a7f5 Gerrit-Change-Number: 24388 Gerrit-PatchSet: 6 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 20:00:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 20:00:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:00:39 +0000 Subject: Change in osmo-bts[master]: [VAMOS] l1sap_chan_act(): handle Osmocom specific TSC IE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24329 ) Change subject: [VAMOS] l1sap_chan_act(): handle Osmocom specific TSC IE ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I717e5b2a6ca5b4faeaab9cae4bb971907945871b Gerrit-Change-Number: 24329 Gerrit-PatchSet: 8 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 20:00:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 20:00:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:00:44 +0000 Subject: Change in osmo-bts[master]: [VAMOS] common/oml: generalize checking BTS_FEAT_MULTI_TSC In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24389 ) Change subject: [VAMOS] common/oml: generalize checking BTS_FEAT_MULTI_TSC ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24389 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iaa5aced70e166963106c27ebdb09adaae22daea4 Gerrit-Change-Number: 24389 Gerrit-PatchSet: 6 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 20:00:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 20:00:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:00:58 +0000 Subject: Change in osmo-bts[master]: [VAMOS] gsm_pchan2chan_nr(): use ABIS_RSL_CHAN_NR_CBITS_* macros In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24436 ) Change subject: [VAMOS] gsm_pchan2chan_nr(): use ABIS_RSL_CHAN_NR_CBITS_* macros ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I2b1480d3c330951cccc15333450cf7243b9505fc Gerrit-Change-Number: 24436 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 20:00:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 20:01:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:01:06 +0000 Subject: Change in osmo-bts[master]: [VAMOS] rsl_lchan_lookup(): use ABIS_RSL_CHAN_NR_CBITS_* macros In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24437 ) Change subject: [VAMOS] rsl_lchan_lookup(): use ABIS_RSL_CHAN_NR_CBITS_* macros ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24437 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iec3250e3a59f8d428d7e7be2ceb71f7086a68e7b Gerrit-Change-Number: 24437 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 20:01:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 20:01:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:01:23 +0000 Subject: Change in osmo-bts[master]: [VAMOS] rsl_lchan_lookup(): make it more readable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24438 ) Change subject: [VAMOS] rsl_lchan_lookup(): make it more readable ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3160929c739a521fe494716c3da3d3b72370a98a Gerrit-Change-Number: 24438 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 20:01: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 Jun 4 20:01:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:01:34 +0000 Subject: Change in osmo-bts[master]: [VAMOS] gsm_data: rework and rename gsm_lchan_name_compute() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24439 ) Change subject: [VAMOS] gsm_data: rework and rename gsm_lchan_name_compute() ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id5cc40db04a654d94f5f75d4aad45439d66528cc Gerrit-Change-Number: 24439 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 20:01:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 20:01:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:01:50 +0000 Subject: Change in osmo-bts[master]: [VAMOS] l1sap: get_lchan_by_chan_nr() may return NULL In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24483 ) Change subject: [VAMOS] l1sap: get_lchan_by_chan_nr() may return NULL ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic309622d0ee818302dfc66d69fd2914ae28261d6 Gerrit-Change-Number: 24483 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 20:01:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 20:02:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:02:03 +0000 Subject: Change in osmo-bts[master]: [VAMOS] oml_rx_set_chan_attr(): clarify NM_ATT_CHAN_COMB handling In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24484 ) Change subject: [VAMOS] oml_rx_set_chan_attr(): clarify NM_ATT_CHAN_COMB handling ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24484 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8a4aace97515ca59ac4c6b5d50a9ee242edfe409 Gerrit-Change-Number: 24484 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 20:02:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 20:03:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:03:43 +0000 Subject: Change in osmo-bts[master]: [VAMOS] conf_lchans_as_pchan(): improve readability In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24485 ) Change subject: [VAMOS] conf_lchans_as_pchan(): improve readability ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24485/1/src/common/oml.c File src/common/oml.c: https://gerrit.osmocom.org/c/osmo-bts/+/24485/1/src/common/oml.c at 824 PS1, Line 824: } while(0) > I find this macro a bit confusing. I don't think that this part is performance critical or anything. [?] I agree. Not sure why there's a need to do this in a MACRO. All the input data thpes are static, so it should be possible to do this in a [inline] function. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1c5a033e89d9ca5fb01ebe9ffb521fd67d159bee Gerrit-Change-Number: 24485 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 04 Jun 2021 20:03:43 +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 Jun 4 20:03:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:03:55 +0000 Subject: Change in osmo-bts[master]: [VAMOS] scheduler: drop meaningless channel number checks In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24486 ) Change subject: [VAMOS] scheduler: drop meaningless channel number checks ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icc57e58feece51c2d1c421454352bc821e338973 Gerrit-Change-Number: 24486 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 20: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 Fri Jun 4 20:04:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:04:14 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: rework handling of Training Sequence In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24327 ) Change subject: [VAMOS] osmo-bts-trx: rework handling of Training Sequence ...................................................................... [VAMOS] osmo-bts-trx: rework handling of Training Sequence The TSC (Training Sequence Code) value in 'struct gsm_bts_trx_ts' is always initialized in oml_rx_set_chan_attr() during the OML bootstrapping, so there is no need for gsm_ts_tsc() - remove it. Store the initial TSC value in 'struct gsm_bts_trx_ts', so we can apply a different TSC value during the RSL CHANnel ACTIVation. Store the Training Sequence Code/Set in 'struct trx_dl_burst_req'. These values are indicated to the transceiver (TRXDv2 PDUs, 'MTS' field) and used by the new TRX_{GMSK,8PSK}_NB_TSC macros. Change-Id: I3744bc308b99ef941e6e9d139444e414abebc14b Related: SYS#4895, OS#4941 --- M include/osmo-bts/gsm_data.h M include/osmo-bts/scheduler.h M src/common/bts_trx.c M src/common/gsm_data.c M src/common/oml.c M src/common/pcu_sock.c M src/common/scheduler.c M src/common/vty.c M src/osmo-bts-trx/sched_lchan_pdtch.c M src/osmo-bts-trx/sched_lchan_tchf.c M src/osmo-bts-trx/sched_lchan_tchh.c M src/osmo-bts-trx/sched_lchan_xcch.c 12 files changed, 23 insertions(+), 23 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/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index 3dfd5b7..cd63f6f 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -441,7 +441,12 @@ unsigned int flags; struct gsm_abis_mo mo; - int tsc; /* -1 == use BTS TSC */ + + /* Training Sequence Code (range 0..7) */ + uint8_t tsc_oml; /* configured via OML */ + uint8_t tsc; /* currently in use */ + /* Training Sequence Set (range 0..3) */ + uint8_t tsc_set; /* Frequency hopping parameters (configured via OML) */ struct { @@ -522,8 +527,6 @@ #define BSIC2BCC(bsic) ((bsic) & 0x07) #define BTS_TSC(bts) BSIC2BCC((bts)->bsic) -uint8_t gsm_ts_tsc(const struct gsm_bts_trx_ts *ts); - struct gsm_lchan *rsl_lchan_lookup(struct gsm_bts_trx *trx, uint8_t chan_nr, int *rc); diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index beb2716..72858f5 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -12,6 +12,12 @@ #define TRX_CHAN_IS_ACTIVE(state, chan) \ (trx_chan_desc[chan].flags & TRX_CHAN_FLAG_AUTO_ACTIVE || (state)->active) +#define TRX_GMSK_NB_TSC(br) \ + _sched_train_seq_gmsk_nb[(br)->tsc] + +#define TRX_8PSK_NB_TSC(br) \ + _sched_train_seq_8psk_nb[(br)->tsc] + /* These types define the different channels on a multiframe. * Each channel has queues and can be activated individually. */ diff --git a/src/common/bts_trx.c b/src/common/bts_trx.c index 635c4d3..ee03b9a 100644 --- a/src/common/bts_trx.c +++ b/src/common/bts_trx.c @@ -86,7 +86,6 @@ ts->pchan = GSM_PCHAN_NONE; ts->dyn.pchan_is = GSM_PCHAN_NONE; ts->dyn.pchan_want = GSM_PCHAN_NONE; - ts->tsc = -1; ts->mo.fi = osmo_fsm_inst_alloc(&nm_chan_fsm, trx, ts, LOGL_INFO, NULL); diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index f014acf..d0fe479 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -272,14 +272,6 @@ return gsm_pchan2chan_nr(as_pchan, lchan->ts->nr, lchan->nr); } -uint8_t gsm_ts_tsc(const struct gsm_bts_trx_ts *ts) -{ - if (ts->tsc != -1) - return ts->tsc; - else - return BTS_TSC(ts->trx->bts); -} - /* determine logical channel based on TRX and channel number IE */ struct gsm_lchan *rsl_lchan_lookup(struct gsm_bts_trx *trx, uint8_t chan_nr, int *rc) diff --git a/src/common/oml.c b/src/common/oml.c index 0bbe0a6..0a502c1 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -961,10 +961,10 @@ /* 9.4.60 TSC */ if (TLVP_PRES_LEN(&tp, NM_ATT_TSC, 1)) { - ts->tsc = *TLVP_VAL(&tp, NM_ATT_TSC); + ts->tsc_oml = ts->tsc = *TLVP_VAL(&tp, NM_ATT_TSC); } else { /* If there is no TSC specified, use the BCC */ - ts->tsc = BTS_TSC(bts); + ts->tsc_oml = ts->tsc = BTS_TSC(bts); } LOGPFOH(DOML, LOGL_INFO, foh, "SET CHAN ATTR (TSC=%u pchan=%s", ts->tsc, gsm_pchan_name(ts->pchan)); diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 91ad90f..83aa0a1 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -217,7 +217,7 @@ continue; trx_info->pdch_mask |= (1 << tn); - trx_info->ts[tn].tsc = gsm_ts_tsc(ts); + trx_info->ts[tn].tsc = ts->tsc; if (ts->hopping.enabled) info_ind_fill_fhp(&trx_info->ts[tn], ts); diff --git a/src/common/scheduler.c b/src/common/scheduler.c index a3647a9..0b9c5d5 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -1218,8 +1218,8 @@ return; /* Training Sequence Code and Set */ - br->tsc = gsm_ts_tsc(l1ts->ts); - br->tsc_set = 0; + br->tsc_set = l1ts->ts->tsc_set; + br->tsc = l1ts->ts->tsc; /* get burst from function */ if (func(l1ts, br) != 0) diff --git a/src/common/vty.c b/src/common/vty.c index d4e2902..ccc63e6 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -1409,7 +1409,7 @@ { vty_out(vty, "BTS %u, TRX %u, Timeslot %u, phys cfg %s, TSC %u", ts->trx->bts->nr, ts->trx->nr, ts->nr, - gsm_pchan_name(ts->pchan), gsm_ts_tsc(ts)); + gsm_pchan_name(ts->pchan), ts->tsc); if (ts->pchan == GSM_PCHAN_TCH_F_PDCH) vty_out(vty, " (%s mode)", ts->flags & TS_F_PDCH_ACTIVE ? "PDCH" : "TCH/F"); diff --git a/src/osmo-bts-trx/sched_lchan_pdtch.c b/src/osmo-bts-trx/sched_lchan_pdtch.c index dede371..335ba6f 100644 --- a/src/osmo-bts-trx/sched_lchan_pdtch.c +++ b/src/osmo-bts-trx/sched_lchan_pdtch.c @@ -212,7 +212,7 @@ burst = *bursts_p + br->bid * 348; memset(br->burst, 1, 9); memcpy(br->burst + 9, burst, 174); - memcpy(br->burst + 183, _sched_train_seq_8psk_nb[gsm_ts_tsc(l1ts->ts)], 78); + memcpy(br->burst + 183, TRX_8PSK_NB_TSC(br), 78); memcpy(br->burst + 261, burst + 174, 174); memset(br->burst + 435, 1, 9); @@ -220,7 +220,7 @@ } else { burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); - memcpy(br->burst + 61, _sched_train_seq_gmsk_nb[gsm_ts_tsc(l1ts->ts)], 26); + memcpy(br->burst + 61, TRX_GMSK_NB_TSC(br), 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c index 5605969..689925f 100644 --- a/src/osmo-bts-trx/sched_lchan_tchf.c +++ b/src/osmo-bts-trx/sched_lchan_tchf.c @@ -562,7 +562,7 @@ /* compose burst */ burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); - memcpy(br->burst + 61, _sched_train_seq_gmsk_nb[gsm_ts_tsc(l1ts->ts)], 26); + memcpy(br->burst + 61, TRX_GMSK_NB_TSC(br), 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c index 91ce02f..4f03bd1 100644 --- a/src/osmo-bts-trx/sched_lchan_tchh.c +++ b/src/osmo-bts-trx/sched_lchan_tchh.c @@ -451,7 +451,7 @@ /* compose burst */ burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); - memcpy(br->burst + 61, _sched_train_seq_gmsk_nb[gsm_ts_tsc(l1ts->ts)], 26); + memcpy(br->burst + 61, TRX_GMSK_NB_TSC(br), 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; diff --git a/src/osmo-bts-trx/sched_lchan_xcch.c b/src/osmo-bts-trx/sched_lchan_xcch.c index b31175e..4bfc101 100644 --- a/src/osmo-bts-trx/sched_lchan_xcch.c +++ b/src/osmo-bts-trx/sched_lchan_xcch.c @@ -239,7 +239,7 @@ /* compose burst */ burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); - memcpy(br->burst + 61, _sched_train_seq_gmsk_nb[gsm_ts_tsc(l1ts->ts)], 26); + memcpy(br->burst + 61, TRX_GMSK_NB_TSC(br), 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3744bc308b99ef941e6e9d139444e414abebc14b Gerrit-Change-Number: 24327 Gerrit-PatchSet: 8 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 Jun 4 20:04:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:04:14 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24388 ) Change subject: [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values ...................................................................... [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values Each timeslot can have its own Training Sequence Code value, which may optionally be included in the NM_MT_SET_CHAN_ATTR message sent over the A-bis/OML. If it's not present, then the TSC value for a timeslot is derived from the BCC part of BSIC, which is always included in the NM_MT_SET_BTS_ATTR message. On the TRXC interface, the BTS global TSC value is indicated to the transceiver using either of the 'SETTSC' or 'SETBSIC' commands. The transceiver then applies this value for all timeslots by default, however it can be redefined for each timeslot individually using additional arguments of the 'SETSLOT' command (see section 25.2.4.1 in the user manual [1] for more details). Currently, trx_set_ts_as_pchan() sends TRX_PROV_EV_CFG_TSC to the transceiver provisioning FSM, together with the per-timeslot TSC value. This event causes the FSM to modify the global TSC value, that is going to be or has already been sent to the transceiver. This is wrong, the global TSC value shall not be overwritten. Remove the TRX_PROV_EV_CFG_TSC, and include per-timeslot Training Sequence Code and Set in the data structure that gets passed together with the TRX_PROV_EV_CFG_TS instead. Implement handling of the optional per-timeslot TSC in trx_if_cmd_setslot(). [1] https://downloads.osmocom.org/docs/latest/osmobts-usermanual.pdf Change-Id: Idc5796151e3e83f42d60c2d4cb7c35890d76a7f5 Related: SYS#4895, OS#4941 --- M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/main.c M src/osmo-bts-trx/trx_if.c M src/osmo-bts-trx/trx_if.h M src/osmo-bts-trx/trx_provision_fsm.c M src/osmo-bts-trx/trx_provision_fsm.h M src/osmo-bts-trx/trx_vty.c 8 files changed, 84 insertions(+), 58 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-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index 3f95a69..3be5179 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -271,15 +271,9 @@ struct phy_instance *pinst = trx_phy_instance(ts->trx); struct trx_l1h *l1h = pinst->u.osmotrx.hdl; uint8_t tn = ts->nr; - uint16_t tsc = ts->tsc; uint8_t slottype; int rc; - /* all TSC of all timeslots must be equal, because transceiver only - * supports one TSC per TRX */ - - osmo_fsm_inst_dispatch(l1h->provision_fi, TRX_PROV_EV_CFG_TSC, (void*)(intptr_t)tsc); - /* ignore disabled slots */ if (!(l1h->config.slotmask & (1 << tn))) return NM_NACK_RES_NOTAVAIL; @@ -303,6 +297,13 @@ struct trx_prov_ev_cfg_ts_data data = { .tn = tn, .slottype = slottype }; + if (ts->tsc_set != 0 || ts->tsc != BTS_TSC(ts->trx->bts)) { + /* On TRXC we use 3GPP compliant numbering, so +1 */ + data.tsc_set = ts->tsc_set + 1; + data.tsc_val = ts->tsc; + data.tsc_valid = true; + } + osmo_fsm_inst_dispatch(l1h->provision_fi, TRX_PROV_EV_CFG_TS, &data); return 0; diff --git a/src/osmo-bts-trx/l1_if.h b/src/osmo-bts-trx/l1_if.h index 864bb69..50369d9 100644 --- a/src/osmo-bts-trx/l1_if.h +++ b/src/osmo-bts-trx/l1_if.h @@ -105,9 +105,14 @@ uint8_t slotmask; - bool slottype_valid[TRX_NR_TS]; - uint8_t slottype[TRX_NR_TS]; - bool slottype_sent[TRX_NR_TS]; + bool setslot_valid[TRX_NR_TS]; + struct { + uint8_t slottype; + uint8_t tsc_set; + uint8_t tsc_val; + bool tsc_valid; + } setslot[TRX_NR_TS]; + bool setslot_sent[TRX_NR_TS]; }; struct trx_l1h { diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c index e0a99a5..6ec8dfc 100644 --- a/src/osmo-bts-trx/main.c +++ b/src/osmo-bts-trx/main.c @@ -145,6 +145,7 @@ osmo_bts_set_feature(bts->features, BTS_FEAT_CBCH); osmo_bts_set_feature(bts->features, BTS_FEAT_HOPPING); osmo_bts_set_feature(bts->features, BTS_FEAT_ACCH_REP); + osmo_bts_set_feature(bts->features, BTS_FEAT_MULTI_TSC); bts_internal_flag_set(bts, BTS_INTERNAL_FLAG_MEAS_PAYLOAD_COMB); diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index af1deef..c10a15f 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -8,6 +8,7 @@ * Copyright (C) 2013 Andreas Eversberg * Copyright (C) 2016-2017 Harald Welte * Copyright (C) 2019 Vadim Yanitskiy + * Copyright (C) 2021 sysmocom - s.m.f.c. GmbH * * All Rights Reserved * @@ -326,10 +327,21 @@ return trx_ctrl_cmd(l1h, 0, "SETMAXDLYNB", "%d", dly); } -/*! Send "SETSLOT" command to TRX: Configure Channel Combination for TS */ -int trx_if_cmd_setslot(struct trx_l1h *l1h, uint8_t tn, uint8_t type, trx_if_cmd_setslot_cb *cb) +/*! Send "SETSLOT" command to TRX: Configure Channel Combination and TSC for TS */ +int trx_if_cmd_setslot(struct trx_l1h *l1h, uint8_t tn, + trx_if_cmd_setslot_cb *cb) { - return trx_ctrl_cmd_cb(l1h, 1, cb, "SETSLOT", "%d %d", tn, type); + const struct trx_config *cfg = &l1h->config; + + if (cfg->setslot[tn].tsc_valid) { /* PHY is instructed to use a custom TSC */ + return trx_ctrl_cmd_cb(l1h, 1, cb, "SETSLOT", "%u %u C%u/S%u", + tn, cfg->setslot[tn].slottype, + cfg->setslot[tn].tsc_val, + cfg->setslot[tn].tsc_set); + } else { /* PHY is instructed to use the default TSC from 'SETTSC' */ + return trx_ctrl_cmd_cb(l1h, 1, cb, "SETSLOT", "%u %u", + tn, cfg->setslot[tn].slottype); + } } /*! Send "RXTUNE" command to TRX: Tune Receiver to given ARFCN */ diff --git a/src/osmo-bts-trx/trx_if.h b/src/osmo-bts-trx/trx_if.h index e131d56..b838b76 100644 --- a/src/osmo-bts-trx/trx_if.h +++ b/src/osmo-bts-trx/trx_if.h @@ -34,7 +34,7 @@ int trx_if_cmd_setpower_att(struct trx_l1h *l1h, int power_att_db, trx_if_cmd_setpower_att_cb *cb); int trx_if_cmd_setmaxdly(struct trx_l1h *l1h, int dly); int trx_if_cmd_setmaxdlynb(struct trx_l1h *l1h, int dly); -int trx_if_cmd_setslot(struct trx_l1h *l1h, uint8_t tn, uint8_t type, trx_if_cmd_setslot_cb *cb); +int trx_if_cmd_setslot(struct trx_l1h *l1h, uint8_t tn, trx_if_cmd_setslot_cb *cb); int trx_if_cmd_rxtune(struct trx_l1h *l1h, uint16_t arfcn, trx_if_cmd_generic_cb *cb); int trx_if_cmd_txtune(struct trx_l1h *l1h, uint16_t arfcn, trx_if_cmd_generic_cb *cb); int trx_if_cmd_handover(struct trx_l1h *l1h, uint8_t tn, uint8_t ss); diff --git a/src/osmo-bts-trx/trx_provision_fsm.c b/src/osmo-bts-trx/trx_provision_fsm.c index 070037d..5beca2a 100644 --- a/src/osmo-bts-trx/trx_provision_fsm.c +++ b/src/osmo-bts-trx/trx_provision_fsm.c @@ -191,17 +191,15 @@ cb_ts_connected(ts, rc); } -/* Returns true if any TS changed, false otherwise */ -static bool update_ts_data(struct trx_l1h *l1h, struct trx_prov_ev_cfg_ts_data* ts_data) { +static void update_ts_data(struct trx_l1h *l1h, struct trx_prov_ev_cfg_ts_data *data) +{ + l1h->config.setslot[data->tn].slottype = data->slottype; + l1h->config.setslot[data->tn].tsc_set = data->tsc_set; + l1h->config.setslot[data->tn].tsc_val = data->tsc_val; + l1h->config.setslot[data->tn].tsc_valid = data->tsc_valid; - if (l1h->config.slottype[ts_data->tn] != ts_data->slottype || - !l1h->config.slottype_valid[ts_data->tn]) { - l1h->config.slottype[ts_data->tn] = ts_data->slottype; - l1h->config.slottype_valid[ts_data->tn] = true; - l1h->config.slottype_sent[ts_data->tn] = false; - return true; - } - return false; + l1h->config.setslot_valid[data->tn] = true; + l1h->config.setslot_sent[data->tn] = false; } /* Whether a given TRX is fully configured and can be powered on */ @@ -290,9 +288,7 @@ struct trx_l1h *l1h = (struct trx_l1h *)fi->priv; struct phy_instance *pinst = l1h->phy_inst; struct gsm_bts_trx *trx = pinst->trx; - uint8_t bsic; uint16_t arfcn; - uint16_t tsc; int nominal_power; int status; bool others_ready; @@ -302,11 +298,21 @@ l1h->config.enabled =(bool)data; break; case TRX_PROV_EV_CFG_BSIC: - bsic = (uint8_t)(intptr_t)data; - if (l1h->config.bsic != bsic || !l1h->config.bsic_valid) { - l1h->config.bsic = bsic; - l1h->config.bsic_valid = true; - l1h->config.bsic_sent = false; + /* We always get BSIC from the BSC, TSC can be derived from the BCC */ + if (!pinst->phy_link->u.osmotrx.use_legacy_setbsic) { + const uint8_t tsc = BSIC2BCC((uint8_t)(intptr_t)data); + if (l1h->config.tsc != tsc || !l1h->config.tsc_valid) { + l1h->config.tsc = tsc; + l1h->config.tsc_valid = true; + l1h->config.tsc_sent = false; + } + } else { + const uint8_t bsic = (uint8_t)(intptr_t)data; + if (l1h->config.bsic != bsic || !l1h->config.bsic_valid) { + l1h->config.bsic = bsic; + l1h->config.bsic_valid = true; + l1h->config.bsic_sent = false; + } } break; case TRX_PROV_EV_CFG_ARFCN: @@ -319,14 +325,6 @@ l1h->config.nomtxpower_sent = false; } break; - case TRX_PROV_EV_CFG_TSC: - tsc = (uint16_t)(intptr_t)data; - if (l1h->config.tsc != tsc || !l1h->config.tsc_valid) { - l1h->config.tsc = tsc; - l1h->config.tsc_valid = true; - l1h->config.tsc_sent = false; - } - break; case TRX_PROV_EV_CFG_TS: update_ts_data(l1h, (struct trx_prov_ev_cfg_ts_data*)data); break; @@ -478,11 +476,10 @@ } for (tn = 0; tn < TRX_NR_TS; tn++) { - if (l1h->config.slottype_valid[tn] - && !l1h->config.slottype_sent[tn]) { - trx_if_cmd_setslot(l1h, tn, - l1h->config.slottype[tn], l1if_setslot_cb); - l1h->config.slottype_sent[tn] = true; + if (l1h->config.setslot_valid[tn] + && !l1h->config.setslot_sent[tn]) { + trx_if_cmd_setslot(l1h, tn, l1if_setslot_cb); + l1h->config.setslot_sent[tn] = true; } } } @@ -507,7 +504,7 @@ l1h->config.maxdly_sent = false; l1h->config.maxdlynb_sent = false; for (tn = 0; tn < TRX_NR_TS; tn++) - l1h->config.slottype_sent[tn] = false; + l1h->config.setslot_sent[tn] = false; } else if (!pinst->phy_link->u.osmotrx.poweronoff_sent) { bts_model_trx_close_cb(pinst->trx, 0); } /* else: poweroff in progress, cb will be called upon TRXC RSP */ @@ -519,12 +516,10 @@ break; case TRX_PROV_EV_CFG_TS: ts_data = (struct trx_prov_ev_cfg_ts_data*)data; - if (update_ts_data(l1h, ts_data)) { - trx_if_cmd_setslot(l1h, ts_data->tn, - l1h->config.slottype[ ts_data->tn], l1if_setslot_cb); - l1h->config.slottype_sent[ts_data->tn] = true; - } - + update_ts_data(l1h, ts_data); + /* While in this state we can send SETSLOT immediately */ + trx_if_cmd_setslot(l1h, ts_data->tn, l1if_setslot_cb); + l1h->config.setslot_sent[ts_data->tn] = true; break; default: OSMO_ASSERT(0); @@ -571,7 +566,6 @@ X(TRX_PROV_EV_CFG_ENABLE) | X(TRX_PROV_EV_CFG_BSIC) | X(TRX_PROV_EV_CFG_ARFCN) | - X(TRX_PROV_EV_CFG_TSC) | X(TRX_PROV_EV_CFG_TS) | X(TRX_PROV_EV_RXTUNE_CNF) | X(TRX_PROV_EV_TXTUNE_CNF) | @@ -623,7 +617,6 @@ OSMO_VALUE_STRING(TRX_PROV_EV_CFG_ENABLE), OSMO_VALUE_STRING(TRX_PROV_EV_CFG_BSIC), OSMO_VALUE_STRING(TRX_PROV_EV_CFG_ARFCN), - OSMO_VALUE_STRING(TRX_PROV_EV_CFG_TSC), OSMO_VALUE_STRING(TRX_PROV_EV_CFG_TS), OSMO_VALUE_STRING(TRX_PROV_EV_CFG_RXGAIN), OSMO_VALUE_STRING(TRX_PROV_EV_CFG_SETMAXDLY), diff --git a/src/osmo-bts-trx/trx_provision_fsm.h b/src/osmo-bts-trx/trx_provision_fsm.h index 0f80088..8e6b97b 100644 --- a/src/osmo-bts-trx/trx_provision_fsm.h +++ b/src/osmo-bts-trx/trx_provision_fsm.h @@ -22,6 +22,8 @@ #pragma once +#include + #include enum trx_provision_fsm_states { @@ -35,6 +37,11 @@ struct trx_prov_ev_cfg_ts_data { uint8_t tn; uint8_t slottype; + + /* Training Sequence Code and Set */ + uint8_t tsc_set; + uint8_t tsc_val; + bool tsc_valid; }; enum trx_provision_fsm_events { diff --git a/src/osmo-bts-trx/trx_vty.c b/src/osmo-bts-trx/trx_vty.c index 2b0913f..d9d17d0 100644 --- a/src/osmo-bts-trx/trx_vty.c +++ b/src/osmo-bts-trx/trx_vty.c @@ -127,16 +127,23 @@ else vty_out(vty, " maxdlynb : undefined%s", VTY_NEWLINE); for (tn = 0; tn < TRX_NR_TS; tn++) { - if (!((1 << tn) & l1h->config.slotmask)) + if (!((1 << tn) & l1h->config.slotmask)) { vty_out(vty, " slot #%d: unsupported%s", tn, VTY_NEWLINE); - else if (l1h->config.slottype_valid[tn]) - vty_out(vty, " slot #%d: type %d%s", tn, - l1h->config.slottype[tn], - VTY_NEWLINE); - else + continue; + } else if (!l1h->config.setslot_valid[tn]) { vty_out(vty, " slot #%d: undefined%s", tn, VTY_NEWLINE); + continue; + } + + vty_out(vty, " slot #%d: type %d", tn, + l1h->config.setslot[tn].slottype); + if (l1h->config.setslot[tn].tsc_valid) + vty_out(vty, " TSC-s%dc%d", + l1h->config.setslot[tn].tsc_set, + l1h->config.setslot[tn].tsc_val); + vty_out(vty, "%s", VTY_NEWLINE); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idc5796151e3e83f42d60c2d4cb7c35890d76a7f5 Gerrit-Change-Number: 24388 Gerrit-PatchSet: 7 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 20:04:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:04:15 +0000 Subject: Change in osmo-bts[master]: [VAMOS] scheduler: add new GMSK training sequences from 3GPP 45.002 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24328 ) Change subject: [VAMOS] scheduler: add new GMSK training sequences from 3GPP 45.002 ...................................................................... [VAMOS] scheduler: add new GMSK training sequences from 3GPP 45.002 Change-Id: I03fe712da5a3cc1a59f40a98a57f43306c3586c6 Related: SYS#4895, OS#4941 --- M include/osmo-bts/scheduler.h M include/osmo-bts/scheduler_backend.h M src/common/scheduler.c 3 files changed, 44 insertions(+), 12 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/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index 72858f5..9093229 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -13,7 +13,7 @@ (trx_chan_desc[chan].flags & TRX_CHAN_FLAG_AUTO_ACTIVE || (state)->active) #define TRX_GMSK_NB_TSC(br) \ - _sched_train_seq_gmsk_nb[(br)->tsc] + _sched_train_seq_gmsk_nb[(br)->tsc_set][(br)->tsc] #define TRX_8PSK_NB_TSC(br) \ _sched_train_seq_8psk_nb[(br)->tsc] diff --git a/include/osmo-bts/scheduler_backend.h b/include/osmo-bts/scheduler_backend.h index d5ce5bf..c54591e 100644 --- a/include/osmo-bts/scheduler_backend.h +++ b/include/osmo-bts/scheduler_backend.h @@ -35,7 +35,7 @@ extern const struct trx_chan_desc trx_chan_desc[_TRX_CHAN_MAX]; extern const ubit_t _sched_dummy_burst[]; -extern const ubit_t _sched_train_seq_gmsk_nb[8][26]; +extern const ubit_t _sched_train_seq_gmsk_nb[4][8][26]; extern const ubit_t _sched_train_seq_8psk_nb[8][78]; extern const ubit_t _sched_train_seq_gmsk_sb[64]; diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 0b9c5d5..75cf6bd 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -62,16 +62,48 @@ 0,0,0, }; -/*! \brief Training Sequences (TS 05.02 Chapter 5.2.3) */ -const ubit_t _sched_train_seq_gmsk_nb[8][26] = { - { 0,0,1,0,0,1,0,1,1,1,0,0,0,0,1,0,0,0,1,0,0,1,0,1,1,1, }, - { 0,0,1,0,1,1,0,1,1,1,0,1,1,1,1,0,0,0,1,0,1,1,0,1,1,1, }, - { 0,1,0,0,0,0,1,1,1,0,1,1,1,0,1,0,0,1,0,0,0,0,1,1,1,0, }, - { 0,1,0,0,0,1,1,1,1,0,1,1,0,1,0,0,0,1,0,0,0,1,1,1,1,0, }, - { 0,0,0,1,1,0,1,0,1,1,1,0,0,1,0,0,0,0,0,1,1,0,1,0,1,1, }, - { 0,1,0,0,1,1,1,0,1,0,1,1,0,0,0,0,0,1,0,0,1,1,1,0,1,0, }, - { 1,0,1,0,0,1,1,1,1,1,0,1,1,0,0,0,1,0,1,0,0,1,1,1,1,1, }, - { 1,1,1,0,1,1,1,1,0,0,0,1,0,0,1,0,1,1,1,0,1,1,1,1,0,0, }, +/*! Training Sequences for Normal Burst (see 3GPP TS 45.002, section 5.2.3) */ +const ubit_t _sched_train_seq_gmsk_nb[4][8][26] = { + { /* TSC set 1, table 5.2.3a */ + { 0,0,1,0,0,1,0,1,1,1,0,0,0,0,1,0,0,0,1,0,0,1,0,1,1,1 }, + { 0,0,1,0,1,1,0,1,1,1,0,1,1,1,1,0,0,0,1,0,1,1,0,1,1,1 }, + { 0,1,0,0,0,0,1,1,1,0,1,1,1,0,1,0,0,1,0,0,0,0,1,1,1,0 }, + { 0,1,0,0,0,1,1,1,1,0,1,1,0,1,0,0,0,1,0,0,0,1,1,1,1,0 }, + { 0,0,0,1,1,0,1,0,1,1,1,0,0,1,0,0,0,0,0,1,1,0,1,0,1,1 }, + { 0,1,0,0,1,1,1,0,1,0,1,1,0,0,0,0,0,1,0,0,1,1,1,0,1,0 }, + { 1,0,1,0,0,1,1,1,1,1,0,1,1,0,0,0,1,0,1,0,0,1,1,1,1,1 }, + { 1,1,1,0,1,1,1,1,0,0,0,1,0,0,1,0,1,1,1,0,1,1,1,1,0,0 }, + }, + { /* TSC set 2, table 5.2.3b */ + { 0,1,1,0,0,0,1,0,0,0,1,0,0,1,0,0,1,1,1,1,0,1,0,1,1,1 }, + { 0,1,0,1,1,1,1,0,1,0,0,1,1,0,1,1,1,0,1,1,1,0,0,0,0,1 }, + { 0,1,0,0,0,0,0,1,0,1,1,0,0,0,1,1,1,0,1,1,1,0,1,1,0,0 }, + { 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,0,1,1,1,1,0,1,0,0,0,0 }, + { 0,1,1,1,0,1,0,0,1,1,1,1,0,1,0,0,1,1,1,0,1,1,1,1,1,0 }, + { 0,1,0,0,0,0,0,1,0,0,1,1,0,1,0,1,0,0,1,1,1,1,0,0,1,1 }, + { 0,0,0,1,0,0,0,0,1,1,0,1,0,0,0,0,1,1,0,1,1,1,0,1,0,1 }, + { 0,1,0,0,0,1,0,1,1,1,0,0,1,1,1,1,1,1,0,0,1,0,1,0,0,1 }, + }, + { /* TSC set 3, table 5.2.3c */ + { 1,1,0,0,0,0,1,0,0,1,0,0,0,1,1,1,1,0,1,0,1,0,0,0,1,0 }, + { 0,0,1,0,1,1,1,1,1,0,0,0,1,0,0,1,0,1,0,0,0,0,1,0,0,0 }, + { 1,1,0,0,1,0,0,0,1,1,1,1,1,0,1,1,1,0,1,0,1,1,0,1,1,0 }, + { 0,0,1,1,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,1,0,1,1,0,0 }, + { 0,0,0,1,1,1,1,0,1,0,1,1,1,0,1,0,0,0,0,1,0,0,0,1,1,0 }, + { 1,1,0,0,1,1,1,1,0,1,0,1,0,1,1,1,1,0,0,1,0,0,0,0,0,0 }, + { 1,0,1,1,1,0,0,1,1,0,1,0,1,1,1,1,1,1,0,0,0,1,0,0,0,0 }, + { 1,1,1,0,0,1,0,1,1,1,1,0,1,1,1,0,0,0,0,0,1,0,0,1,0,0 }, + }, + { /* TSC set 4, table 5.2.3d */ + { 1,1,0,0,1,1,1,0,1,0,0,0,0,0,1,0,0,0,1,1,0,1,0,0,0,0 }, + { 0,1,1,0,0,0,1,0,0,0,0,1,0,1,0,0,0,1,0,1,1,1,0,0,0,0 }, + { 1,1,1,0,0,1,0,0,0,0,0,1,0,1,0,1,0,0,1,1,1,0,0,0,0,0 }, + { 0,1,1,0,1,1,0,0,1,1,1,1,1,0,1,0,1,0,0,0,0,1,1,0,0,0 }, + { 1,1,0,1,1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,1,0,0,0,0 }, + { 1,1,0,1,0,0,1,1,1,1,1,1,1,0,1,0,0,0,1,1,0,1,0,1,1,0 }, + { 0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,1,0,1,0,1,1,0,0,0,0 }, + { 0,1,0,1,1,1,0,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,1,1,1,0 }, + }, }; const ubit_t _sched_train_seq_8psk_nb[8][78] = { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24328 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I03fe712da5a3cc1a59f40a98a57f43306c3586c6 Gerrit-Change-Number: 24328 Gerrit-PatchSet: 9 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 Jun 4 20:04:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:04:15 +0000 Subject: Change in osmo-bts[master]: [VAMOS] l1sap_chan_act(): handle Osmocom specific TSC IE In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24329 ) Change subject: [VAMOS] l1sap_chan_act(): handle Osmocom specific TSC IE ...................................................................... [VAMOS] l1sap_chan_act(): handle Osmocom specific TSC IE This is an Osmocom specific RSL IE that, if present, takes precedence over the values indicated via the A-bis/OML. Change-Id: I717e5b2a6ca5b4faeaab9cae4bb971907945871b Related: SYS#4895, OS#4941 --- M src/common/rsl.c 1 file changed, 33 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/common/rsl.c b/src/common/rsl.c index bb53aa5..516e609 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -134,6 +134,16 @@ case RSL_CMOD_CRT_TCH_Bm: case RSL_CMOD_CRT_TCH_Lm: break; + case RSL_CMOD_CRT_OSMO_TCH_VAMOS_Bm: + case RSL_CMOD_CRT_OSMO_TCH_VAMOS_Lm: + /* Make sure that Osmocom specific TSC IE is present */ + if (!TLVP_PRES_LEN(tp, RSL_IE_OSMO_TRAINING_SEQUENCE, 2)) { + LOGPLCHAN(lchan, DRSL, LOGL_ERROR, + "Training Sequence IE is not present\n"); + *cause = RSL_ERR_MAND_IE_ERROR; + return -ENODEV; + } + break; default: LOGPLCHAN(lchan, DRSL, LOGL_ERROR, "Channel Mode IE contains " "unknown 'Channel rate and type' value 0x%02x\n", @@ -265,6 +275,24 @@ return 0; } +/* Handle Osmocom specific TSC IE */ +static int rsl_handle_osmo_tsc_ie(struct gsm_lchan *lchan, + const struct tlv_parsed *tp, + uint8_t *cause) +{ + /* Osmocom specific IE indicating Training Sequence Code and Set */ + if (TLVP_PRES_LEN(tp, RSL_IE_OSMO_TRAINING_SEQUENCE, 2)) { + const uint8_t *ie = TLVP_VAL(tp, RSL_IE_OSMO_TRAINING_SEQUENCE); + lchan->ts->tsc_set = ie[0] & 0x03; /* Range: 0..3 */ + lchan->ts->tsc = ie[1] & 0x07; /* Range: 0..7 */ + } else { + lchan->ts->tsc = lchan->ts->tsc_oml; + lchan->ts->tsc_set = 0; + } + + return 0; +} + /* * support @@ -1482,6 +1510,8 @@ return rsl_tx_chan_act_nack(lchan, cause); if (rsl_handle_chan_ident_ie(lchan, &tp, &cause) != 0) return rsl_tx_chan_act_nack(lchan, cause); + if (rsl_handle_osmo_tsc_ie(lchan, &tp, &cause) != 0) + return rsl_tx_chan_act_nack(lchan, cause); } /* 9.3.7 Encryption Information */ @@ -1996,6 +2026,9 @@ /* 9.3.5 Channel Identification */ if (rsl_handle_chan_ident_ie(lchan, &tp, &cause) != 0) return rsl_tx_mode_modif_nack(lchan, cause); + /* Osmocom specific TSC IE for VAMOS */ + if (rsl_handle_osmo_tsc_ie(lchan, &tp, &cause) != 0) + return rsl_tx_mode_modif_nack(lchan, cause); /* 9.3.7 Encryption Information */ if (TLVP_PRESENT(&tp, RSL_IE_ENCR_INFO)) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I717e5b2a6ca5b4faeaab9cae4bb971907945871b Gerrit-Change-Number: 24329 Gerrit-PatchSet: 9 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 Jun 4 20:04:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:04:16 +0000 Subject: Change in osmo-bts[master]: [VAMOS] common/oml: generalize checking BTS_FEAT_MULTI_TSC In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24389 ) Change subject: [VAMOS] common/oml: generalize checking BTS_FEAT_MULTI_TSC ...................................................................... [VAMOS] common/oml: generalize checking BTS_FEAT_MULTI_TSC Change-Id: Iaa5aced70e166963106c27ebdb09adaae22daea4 Related: SYS#4895, OS#4941 --- M src/common/oml.c M src/osmo-bts-lc15/oml.c M src/osmo-bts-oc2g/oml.c M src/osmo-bts-sysmo/oml.c 4 files changed, 7 insertions(+), 44 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/oml.c b/src/common/oml.c index 0a502c1..7bf89c5 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -962,6 +962,13 @@ /* 9.4.60 TSC */ if (TLVP_PRES_LEN(&tp, NM_ATT_TSC, 1)) { ts->tsc_oml = ts->tsc = *TLVP_VAL(&tp, NM_ATT_TSC); + if (ts->tsc != BTS_TSC(bts) && + !osmo_bts_has_feature(bts->features, BTS_FEAT_MULTI_TSC)) { + LOGPFOH(DOML, LOGL_ERROR, foh, "SET CHAN ATTR: this BTS model does not " + "support TSC %u != BSIC-BCC %u\n", ts->tsc, BTS_TSC(bts)); + talloc_free(tp_merged); + return oml_fom_ack_nack(msg, NM_NACK_PARAM_RANGE); + } } else { /* If there is no TSC specified, use the BCC */ ts->tsc_oml = ts->tsc = BTS_TSC(bts); diff --git a/src/osmo-bts-lc15/oml.c b/src/osmo-bts-lc15/oml.c index 3010fe7..acce1d4 100644 --- a/src/osmo-bts-lc15/oml.c +++ b/src/osmo-bts-lc15/oml.c @@ -1827,21 +1827,6 @@ void *obj) { /* FIXME: more checks if the attributes are valid */ - - switch (msg_type) { - case NM_MT_SET_CHAN_ATTR: - /* our L1 only supports one global TSC for all channels - * one one TRX, so we need to make sure not to activate - * channels with a different TSC!! */ - if (TLVP_PRESENT(new_attr, NM_ATT_TSC) && - TLVP_LEN(new_attr, NM_ATT_TSC) >= 1 && - *TLVP_VAL(new_attr, NM_ATT_TSC) != BTS_TSC(bts)) { - LOGP(DOML, LOGL_ERROR, "Channel TSC %u != BSIC-TSC %u\n", - *TLVP_VAL(new_attr, NM_ATT_TSC), BTS_TSC(bts)); - return -NM_NACK_PARAM_RANGE; - } - break; - } return 0; } diff --git a/src/osmo-bts-oc2g/oml.c b/src/osmo-bts-oc2g/oml.c index 151b92e..5646cfb 100644 --- a/src/osmo-bts-oc2g/oml.c +++ b/src/osmo-bts-oc2g/oml.c @@ -1836,21 +1836,6 @@ void *obj) { /* FIXME: more checks if the attributes are valid */ - - switch (msg_type) { - case NM_MT_SET_CHAN_ATTR: - /* our L1 only supports one global TSC for all channels - * one one TRX, so we need to make sure not to activate - * channels with a different TSC!! */ - if (TLVP_PRESENT(new_attr, NM_ATT_TSC) && - TLVP_LEN(new_attr, NM_ATT_TSC) >= 1 && - *TLVP_VAL(new_attr, NM_ATT_TSC) != BTS_TSC(bts)) { - LOGP(DOML, LOGL_ERROR, "Channel TSC %u != BSIC-TSC %u\n", - *TLVP_VAL(new_attr, NM_ATT_TSC), BTS_TSC(bts)); - return -NM_NACK_PARAM_RANGE; - } - break; - } return 0; } diff --git a/src/osmo-bts-sysmo/oml.c b/src/osmo-bts-sysmo/oml.c index 25c5651..818d82b 100644 --- a/src/osmo-bts-sysmo/oml.c +++ b/src/osmo-bts-sysmo/oml.c @@ -1741,20 +1741,6 @@ void *obj) { /* FIXME: more checks if the attributes are valid */ - - switch (msg_type) { - case NM_MT_SET_CHAN_ATTR: - /* our L1 only supports one global TSC for all channels - * one one TRX, so we need to make sure not to activate - * channels with a different TSC!! */ - if (TLVP_PRES_LEN(new_attr, NM_ATT_TSC, 1) && - *TLVP_VAL(new_attr, NM_ATT_TSC) != BTS_TSC(bts)) { - LOGP(DOML, LOGL_ERROR, "Channel TSC %u != BSIC-TSC %u\n", - *TLVP_VAL(new_attr, NM_ATT_TSC), BTS_TSC(bts)); - return -NM_NACK_PARAM_RANGE; - } - break; - } return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24389 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iaa5aced70e166963106c27ebdb09adaae22daea4 Gerrit-Change-Number: 24389 Gerrit-PatchSet: 7 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 20:04:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:04:16 +0000 Subject: Change in osmo-bts[master]: [VAMOS] gsm_pchan2chan_nr(): use ABIS_RSL_CHAN_NR_CBITS_* macros In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24436 ) Change subject: [VAMOS] gsm_pchan2chan_nr(): use ABIS_RSL_CHAN_NR_CBITS_* macros ...................................................................... [VAMOS] gsm_pchan2chan_nr(): use ABIS_RSL_CHAN_NR_CBITS_* macros Change-Id: I2b1480d3c330951cccc15333450cf7243b9505fc Related: SYS#4895, OS#4941 --- M src/common/gsm_data.c 1 file changed, 7 insertions(+), 10 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index d0fe479..9a54912 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -187,16 +187,15 @@ switch (pchan) { case GSM_PCHAN_TCH_F: OSMO_ASSERT(lchan_nr == 0); - cbits = 0x01; + cbits = ABIS_RSL_CHAN_NR_CBITS_Bm_ACCHs; break; case GSM_PCHAN_PDCH: OSMO_ASSERT(lchan_nr == 0); - cbits = RSL_CHAN_OSMO_PDCH >> 3; + cbits = ABIS_RSL_CHAN_NR_CBITS_OSMO_PDCH; break; case GSM_PCHAN_TCH_H: OSMO_ASSERT(lchan_nr < 2); - cbits = 0x02; - cbits += lchan_nr; + cbits = ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(lchan_nr); break; case GSM_PCHAN_CCCH_SDCCH4: case GSM_PCHAN_CCCH_SDCCH4_CBCH: @@ -206,21 +205,19 @@ * See osmo-bts-xxx/oml.c:opstart_compl(). */ if (lchan_nr == CCCH_LCHAN) - cbits = 0x10; /* BCCH */ + cbits = ABIS_RSL_CHAN_NR_CBITS_BCCH; else { OSMO_ASSERT(lchan_nr < 4); - cbits = 0x04; - cbits += lchan_nr; + cbits = ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(lchan_nr); } break; case GSM_PCHAN_SDCCH8_SACCH8C: case GSM_PCHAN_SDCCH8_SACCH8C_CBCH: OSMO_ASSERT(lchan_nr < 8); - cbits = 0x08; - cbits += lchan_nr; + cbits = ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(lchan_nr); break; case GSM_PCHAN_CCCH: - cbits = 0x10; + cbits = ABIS_RSL_CHAN_NR_CBITS_BCCH; break; case GSM_PCHAN_NONE: LOGP(DRSL, LOGL_ERROR, "Physical channel %s not expected!\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I2b1480d3c330951cccc15333450cf7243b9505fc Gerrit-Change-Number: 24436 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 20:04:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:04:16 +0000 Subject: Change in osmo-bts[master]: [VAMOS] rsl_lchan_lookup(): use ABIS_RSL_CHAN_NR_CBITS_* macros In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24437 ) Change subject: [VAMOS] rsl_lchan_lookup(): use ABIS_RSL_CHAN_NR_CBITS_* macros ...................................................................... [VAMOS] rsl_lchan_lookup(): use ABIS_RSL_CHAN_NR_CBITS_* macros Change-Id: Iec3250e3a59f8d428d7e7be2ceb71f7086a68e7b Related: SYS#4895, OS#4941 --- M src/common/gsm_data.c 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index 9a54912..8425d1a 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -282,24 +282,24 @@ if (rc) *rc = -EINVAL; - if (cbits == 0x01) { + if (cbits == ABIS_RSL_CHAN_NR_CBITS_Bm_ACCHs) { lch_idx = 0; /* TCH/F */ 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) ok = false; - } else if ((cbits & 0x1e) == 0x02) { + } else if ((cbits & 0x1e) == ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(0)) { lch_idx = cbits & 0x1; /* TCH/H */ if (ts->pchan != GSM_PCHAN_TCH_H && ts->pchan != GSM_PCHAN_TCH_F_TCH_H_PDCH) ok = false; - } else if ((cbits & 0x1c) == 0x04) { + } else if ((cbits & 0x1c) == ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(0)) { lch_idx = cbits & 0x3; /* SDCCH/4 */ if (ts->pchan != GSM_PCHAN_CCCH_SDCCH4 && ts->pchan != GSM_PCHAN_CCCH_SDCCH4_CBCH) ok = false; - } else if ((cbits & 0x18) == 0x08) { + } else if ((cbits & 0x18) == ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(0)) { lch_idx = cbits & 0x7; /* SDCCH/8 */ if (ts->pchan != GSM_PCHAN_SDCCH8_SACCH8C && ts->pchan != GSM_PCHAN_SDCCH8_SACCH8C_CBCH) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24437 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iec3250e3a59f8d428d7e7be2ceb71f7086a68e7b Gerrit-Change-Number: 24437 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 20:04:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:04:16 +0000 Subject: Change in osmo-bts[master]: [VAMOS] rsl_lchan_lookup(): make it more readable In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24438 ) Change subject: [VAMOS] rsl_lchan_lookup(): make it more readable ...................................................................... [VAMOS] rsl_lchan_lookup(): make it more readable Change-Id: I3160929c739a521fe494716c3da3d3b72370a98a Related: SYS#4895, OS#4941 --- M src/common/gsm_data.c 1 file changed, 28 insertions(+), 7 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index 8425d1a..6b57851 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -282,41 +282,62 @@ if (rc) *rc = -EINVAL; - if (cbits == ABIS_RSL_CHAN_NR_CBITS_Bm_ACCHs) { + switch (cbits) { + case ABIS_RSL_CHAN_NR_CBITS_Bm_ACCHs: lch_idx = 0; /* TCH/F */ 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) ok = false; - } else if ((cbits & 0x1e) == ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(0)) { + break; + case ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(0): + 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) ok = false; - } else if ((cbits & 0x1c) == ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(0)) { + break; + case ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(0): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(1): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(2): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(3): lch_idx = cbits & 0x3; /* SDCCH/4 */ if (ts->pchan != GSM_PCHAN_CCCH_SDCCH4 && ts->pchan != GSM_PCHAN_CCCH_SDCCH4_CBCH) ok = false; - } else if ((cbits & 0x18) == ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(0)) { + break; + 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): lch_idx = cbits & 0x7; /* SDCCH/8 */ if (ts->pchan != GSM_PCHAN_SDCCH8_SACCH8C && ts->pchan != GSM_PCHAN_SDCCH8_SACCH8C_CBCH) ok = false; - } else if (cbits == 0x10 || cbits == 0x11 || cbits == 0x12) { + break; + case ABIS_RSL_CHAN_NR_CBITS_BCCH: + case ABIS_RSL_CHAN_NR_CBITS_RACH: + case ABIS_RSL_CHAN_NR_CBITS_PCH_AGCH: lch_idx = 0; if (ts->pchan != GSM_PCHAN_CCCH && ts->pchan != GSM_PCHAN_CCCH_SDCCH4 && ts->pchan != GSM_PCHAN_CCCH_SDCCH4_CBCH) ok = false; /* FIXME: we should not return first sdcch4 !!! */ - } else if ((chan_nr & RSL_CHAN_NR_MASK) == RSL_CHAN_OSMO_PDCH) { + break; + case ABIS_RSL_CHAN_NR_CBITS_OSMO_PDCH: lch_idx = 0; if (ts->pchan != GSM_PCHAN_TCH_F_TCH_H_PDCH) ok = false; - } else + break; + default: return NULL; + } if (rc && ok) *rc = 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3160929c739a521fe494716c3da3d3b72370a98a Gerrit-Change-Number: 24438 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 Jun 4 20:04:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:04:17 +0000 Subject: Change in osmo-bts[master]: [VAMOS] gsm_data: rework and rename gsm_lchan_name_compute() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24439 ) Change subject: [VAMOS] gsm_data: rework and rename gsm_lchan_name_compute() ...................................................................... [VAMOS] gsm_data: rework and rename gsm_lchan_name_compute() Change-Id: Id5cc40db04a654d94f5f75d4aad45439d66528cc Related: SYS#4895, OS#4941 --- M include/osmo-bts/gsm_data.h M src/common/bts_trx.c M src/common/gsm_data.c 3 files changed, 11 insertions(+), 10 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index cd63f6f..93eb2f0 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -512,7 +512,7 @@ const char *gsm_lchant_name(enum gsm_chan_t c); char *gsm_ts_name(const struct gsm_bts_trx_ts *ts); char *gsm_ts_and_pchan_name(const struct gsm_bts_trx_ts *ts); -char *gsm_lchan_name_compute(const struct gsm_lchan *lchan); +void gsm_lchan_name_update(struct gsm_lchan *lchan); const char *gsm_lchans_name(enum gsm_lchan_state s); static inline char *gsm_lchan_name(const struct gsm_lchan *lchan) diff --git a/src/common/bts_trx.c b/src/common/bts_trx.c index ee03b9a..3d295e5 100644 --- a/src/common/bts_trx.c +++ b/src/common/bts_trx.c @@ -96,15 +96,13 @@ for (l = 0; l < TS_MAX_LCHAN; l++) { struct gsm_lchan *lchan; - char *name; lchan = &ts->lchan[l]; lchan->ts = ts; lchan->nr = l; lchan->type = GSM_LCHAN_NONE; + gsm_lchan_name_update(lchan); - name = gsm_lchan_name_compute(lchan); - lchan->name = talloc_strdup(trx, name); INIT_LLIST_HEAD(&lchan->sapi_cmds); INIT_LLIST_HEAD(&lchan->dl_tch_queue); } diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index 6b57851..6328783 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -165,14 +165,17 @@ return ts2str; } -char *gsm_lchan_name_compute(const struct gsm_lchan *lchan) +void gsm_lchan_name_update(struct gsm_lchan *lchan) { - struct gsm_bts_trx_ts *ts = lchan->ts; + const struct gsm_bts_trx_ts *ts = lchan->ts; + const struct gsm_bts_trx *trx = ts->trx; + char *name; - snprintf(ts2str, sizeof(ts2str), "(bts=%d,trx=%d,ts=%d,ss=%d)", - ts->trx->bts->nr, ts->trx->nr, ts->nr, lchan->nr); - - return ts2str; + name = talloc_asprintf(trx, "(bts=%u,trx=%u,ts=%u,ss=%u)", + trx->bts->nr, trx->nr, ts->nr, lchan->nr); + if (lchan->name != NULL) + talloc_free(lchan->name); + lchan->name = name; } /* See Table 10.5.25 of GSM04.08 */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id5cc40db04a654d94f5f75d4aad45439d66528cc Gerrit-Change-Number: 24439 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 Jun 4 20:04:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:04:17 +0000 Subject: Change in osmo-bts[master]: [VAMOS] l1sap: get_lchan_by_chan_nr() may return NULL In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24483 ) Change subject: [VAMOS] l1sap: get_lchan_by_chan_nr() may return NULL ...................................................................... [VAMOS] l1sap: get_lchan_by_chan_nr() may return NULL Change-Id: Ic309622d0ee818302dfc66d69fd2914ae28261d6 --- M src/common/l1sap.c 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/src/common/l1sap.c b/src/common/l1sap.c index a47f653..b0cffe5 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -765,6 +765,12 @@ struct info_act_cnf_param *info_act_cnf) { struct gsm_lchan *lchan = get_lchan_by_chan_nr(trx, info_act_cnf->chan_nr); + if (lchan == NULL) { + LOGPTRX(trx, DL1C, LOGL_ERROR, "get_lchan_by_chan_nr(chan_nr=%s) " + "yields NULL for PRIM_INFO_ACTIVATE.conf\n", + rsl_chan_nr_str(info_act_cnf->chan_nr)); + return -ENODEV; + } LOGPLCHAN(lchan, DL1C, LOGL_INFO, "activate confirm chan_nr=%s trx=%d\n", rsl_chan_nr_str(info_act_cnf->chan_nr), trx->nr); @@ -788,6 +794,12 @@ struct info_act_cnf_param *info_act_cnf) { struct gsm_lchan *lchan = get_lchan_by_chan_nr(trx, info_act_cnf->chan_nr); + if (lchan == NULL) { + LOGPTRX(trx, DL1C, LOGL_ERROR, "get_lchan_by_chan_nr(chan_nr=%s) " + "yields NULL for PRIM_INFO_ACTIVATE.conf\n", + rsl_chan_nr_str(info_act_cnf->chan_nr)); + return -ENODEV; + } LOGPLCHAN(lchan, DL1C, LOGL_INFO, "deactivate confirm chan_nr=%s trx=%d\n", rsl_chan_nr_str(info_act_cnf->chan_nr), trx->nr); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic309622d0ee818302dfc66d69fd2914ae28261d6 Gerrit-Change-Number: 24483 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 Fri Jun 4 20:04:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:04:17 +0000 Subject: Change in osmo-bts[master]: [VAMOS] oml_rx_set_chan_attr(): clarify NM_ATT_CHAN_COMB handling In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24484 ) Change subject: [VAMOS] oml_rx_set_chan_attr(): clarify NM_ATT_CHAN_COMB handling ...................................................................... [VAMOS] oml_rx_set_chan_attr(): clarify NM_ATT_CHAN_COMB handling Change-Id: I8a4aace97515ca59ac4c6b5d50a9ee242edfe409 --- M src/common/oml.c 1 file changed, 8 insertions(+), 7 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/common/oml.c b/src/common/oml.c index 7bf89c5..cf83903 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -789,9 +789,12 @@ return bts_model_apply_oml(trx->bts, msg, tp_merged, NM_OC_RADIO_CARRIER, trx); } -static int conf_lchans(struct gsm_bts_trx_ts *ts) +static int handle_chan_comb(struct gsm_bts_trx_ts *ts, const uint8_t comb) { - enum gsm_phys_chan_config pchan = ts->pchan; + enum gsm_phys_chan_config pchan; + + pchan = abis_nm_pchan4chcomb(comb); + ts->pchan = pchan; /* RSL_MT_IPAC_PDCH_ACT style dyn PDCH */ if (pchan == GSM_PCHAN_TCH_F_PDCH) @@ -946,12 +949,10 @@ /* 9.4.13 Channel Combination */ if (TLVP_PRES_LEN(&tp, NM_ATT_CHAN_COMB, 1)) { - uint8_t comb = *TLVP_VAL(&tp, NM_ATT_CHAN_COMB); - ts->pchan = abis_nm_pchan4chcomb(comb); - rc = conf_lchans(ts); - if (rc < 0) { + const uint8_t comb = *TLVP_VAL(&tp, NM_ATT_CHAN_COMB); + if ((rc = handle_chan_comb(ts, comb)) != 0) { LOGPFOH(DOML, LOGL_ERROR, foh, "SET CHAN ATTR: invalid Chan Comb 0x%x" - " (pchan=%s, conf_lchans()->%d)\n", + " (pchan=%s, handle_chan_comb() returns %d)\n", comb, gsm_pchan_name(ts->pchan), rc); talloc_free(tp_merged); /* Send NACK */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24484 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8a4aace97515ca59ac4c6b5d50a9ee242edfe409 Gerrit-Change-Number: 24484 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 Fri Jun 4 20:04:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:04:47 +0000 Subject: Change in osmo-bts[master]: manuals/abis/rsl.adoc: rework Channel Number description In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24490 ) Change subject: manuals/abis/rsl.adoc: rework Channel Number description ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3013c6b2c38db33d7d80e174b3d4910f8b01963d Gerrit-Change-Number: 24490 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 20:04: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 Jun 4 20:04:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:04:56 +0000 Subject: Change in osmo-bts[master]: manuals/abis/rsl.adoc: add missing CBCH Channel Number values In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24491 ) Change subject: manuals/abis/rsl.adoc: add missing CBCH Channel Number values ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iab64c35a384978ba2eb1878f619de2c3827cd8c5 Gerrit-Change-Number: 24491 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 20: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 Fri Jun 4 20:05:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:05:06 +0000 Subject: Change in osmo-bts[master]: manuals/abis/rsl.adoc: add VAMOS specific Channel Number values In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24492 ) Change subject: manuals/abis/rsl.adoc: add VAMOS specific Channel Number values ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib3ad7652dfcbd104d25b031ac89f5491da2673a6 Gerrit-Change-Number: 24492 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 20:05:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 20:05:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:05:20 +0000 Subject: Change in osmo-bts[master]: manuals/abis/rsl.adoc: s/TS 08.58/TS 48.058/ In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24489 ) Change subject: manuals/abis/rsl.adoc: s/TS 08.58/TS 48.058/ ...................................................................... manuals/abis/rsl.adoc: s/TS 08.58/TS 48.058/ Change-Id: Iae8e184f98f089c95dce4c51f512971521c4b059 Related: SYS#4895, OS#4941 --- M doc/manuals/abis/rsl.adoc 1 file changed, 76 insertions(+), 76 deletions(-) Approvals: dexter: 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 7b45acf..c9ad495 100644 --- a/doc/manuals/abis/rsl.adoc +++ b/doc/manuals/abis/rsl.adoc @@ -3,16 +3,16 @@ === List of Messages The following tables list the RSL messages used by OsmoBTS A-bis/IP, -grouped by their level of compliance with 3GPP TS 08.58. +grouped by their level of compliance with 3GPP TS 48.058. -==== Messages Compliant With TS 08.58 +==== Messages Compliant With TS 48.058 Specific additions and limitations apply, see the linked sections. -.Messages compliant with TS 08.58 +.Messages compliant with TS 48.058 [options="header",cols="10%,20%,45%,5%,20%"] |=== -| TS 08.58 ? | This document ? | Message | <-/-> | Received/Sent by OsmoBTS +| TS 48.058 ? | This document ? | Message | <-/-> | Received/Sent by OsmoBTS 5+<| *Radio link layer management messages* | 8.3.1 | - | DATA REQUEST | <- | Received | 8.3.2 | - | DATA INDICATION | -> | Sent @@ -59,7 +59,7 @@ ==== Messages Specific to OsmoBTS -.Messages specific to OsmoBTS, not found in 3GPP TS 08.58 +.Messages specific to OsmoBTS, not found in 3GPP TS 48.058 [options="header",cols="15%,15%,45%,5%,20%"] |=== 2+| This document ? | Message | <-/-> | Received/Sent by OsmoBTS @@ -87,10 +87,10 @@ ==== Messages Not Implemented by OsmoBTS -.3GPP TS 08.58 messages not implemented by OsmoBTS +.3GPP TS 48.058 messages not implemented by OsmoBTS [options="header",cols="10%,90%"] |=== -| TS 08.58 ? | Message +| TS 48.058 ? | Message 2+<| *DEDICATED CHANNEL MANAGEMENT MESSAGES* | 8.4.12 | PHYSICAL CONTEXT REQUEST | 8.4.13 | PHYSICAL CONTEXT CONFIRM @@ -135,24 +135,24 @@ [[MEASUREMENT_RESULT]] ==== Measurement Result -Conforms to 3GPP TS 08.58 ? 8.4.8 with this limitation: +Conforms to 3GPP TS 48.058 ? 8.4.8 with this limitation: ._Measurement Result_ IE limitations [options="header",cols="10%,30%,60%"] |=== -| TS 08.58 ? | IE Name | Handling +| TS 48.058 ? | IE Name | Handling | 9.3.37 | MS Timing Offset | never sent by OsmoBTS |=== [[MODE_MODIFY]] ==== Mode Modify -Conforms to 3GPP TS 08.58 ? 8.4.9 with these limitations: +Conforms to 3GPP TS 48.058 ? 8.4.9 with these limitations: ._Mode Modify_ IE limitations [options="header",cols="10%,30%,60%"] |=== -| TS 08.58 ? | IE Name | Handling +| TS 48.058 ? | IE Name | Handling | 9.3.45 | Main channel reference | _ignored_ | 9.3.53 | MultiRate Control | _ignored_ | 9.3.54 | Supported Codec Types | _ignored_ @@ -161,12 +161,12 @@ [[MS_POWER_CONTROL]] ==== MS Power Control -Conforms to 3GPP TS 08.58 ? 8.4.15 with these limitations: +Conforms to 3GPP TS 48.058 ? 8.4.15 with these limitations: ._MS Power Control_ IE limitations [options="header",cols="10%,30%,60%"] |=== -| TS 08.58 ? | IE Name | Handling +| TS 48.058 ? | IE Name | Handling | 9.3.31 | MS Power Parameters | _ignored_ |=== @@ -174,12 +174,12 @@ [[SACCH_INFO_MODIFY]] ==== SACCH Info Modify -Conforms to 3GPP TS 08.58 ? 8.4.20, with these exceptions: +Conforms to 3GPP TS 48.058 ? 8.4.20, with these exceptions: ._SACCH Info Modify_ IE limitations [options="header",cols="10%,30%,60%"] |=== -| TS 08.58 ? | IE Name | Handling +| TS 48.058 ? | IE Name | Handling | 9.3.30 | System Info Type | See below for available types | 9.3.23 | Starting Time | not supported, provokes an _Error Report_ response |=== @@ -199,12 +199,12 @@ [[BCCH_INFORMATION]] ==== BCCH Information -Conforms to 3GPP TS 08.58 ? 8.5.1, with these limitations and extensions: +Conforms to 3GPP TS 48.058 ? 8.5.1, with these limitations and extensions: ._BCCH Information_ IE details [options="header",cols="10%,30%,60%"] |=== -| TS 08.58 ? | IE Name | Handling +| TS 48.058 ? | IE Name | Handling | 9.3.30 | System Info Type | See <> for available types | 9.3.11 | L3 Info | This IE may be included instead of a 9.3.39 _Full BCCH Info_ IE. The _Full BCCH Info_ takes precedence over _L3 Info_. @@ -215,12 +215,12 @@ [[CHANNEL_REQUIRED]] ==== Channel Required -Conforms to 3GPP TS 08.58 ? 8.5.3, with these limitations: +Conforms to 3GPP TS 48.058 ? 8.5.3, with these limitations: ._Channel Required_ message IE details [options="header",cols="10%,30%,60%"] |=== -| TS 08.58 ? | IE Name | Handling +| TS 48.058 ? | IE Name | Handling | 9.3.16 | Physical Context | never sent by OsmoBTS |=== @@ -228,12 +228,12 @@ [[PAGING_COMMAND]] ==== Paging Command -Conforms to 3GPP TS 08.58 ? 8.5.5, with these limitations: +Conforms to 3GPP TS 48.058 ? 8.5.5, with these limitations: ._Paging Command_ message IE details [options="header",cols="10%,30%,60%"] |=== -| TS 08.58 ? | IE Name | Handling +| TS 48.058 ? | IE Name | Handling | 9.3.49 | eMLPP Priority | _ignored_ |=== @@ -244,15 +244,15 @@ [[RF_RESOURCE_INDICATION]] ==== RF Resource Indication -This message does not conform to 3GPP TS 08.58 ? 8.6.1, in that it omits the +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 08.58 ? | IE Name | Handling -| 9.3.21 | Resource Information | OsmoBTS omits this IE, though TS 08.58 +| TS 48.058 ? | IE Name | Handling +| 9.3.21 | Resource Information | OsmoBTS omits this IE, though TS 48.058 specifies it as mandatory. |=== @@ -260,12 +260,12 @@ [[SACCH_FILLING]] ==== SACCH Filling -Conforms to 3GPP TS 08.58 ? 8.6.2, with these limitations: +Conforms to 3GPP TS 48.058 ? 8.6.2, with these limitations: ._SACCH Filling_ message IE limitations [options="header",cols="10%,30%,60%"] |=== -| TS 08.58 ? | IE Name | Handling +| TS 48.058 ? | IE Name | Handling | 9.3.30 | System Info Type | See <> for available types | 9.3.23 | Starting Time | _ignored_ |=== @@ -275,7 +275,7 @@ === User Plane Transport Management This chapter defines the A-bis/IP specific RSL procedures that are -introduced in addition to the 3GPP TS 08.58 standard procedures. +introduced in addition to the 3GPP TS 48.058 standard procedures. In classic A-bis over E1, user plane traffic is carried over 16kBps sub-slots of 64kBps E1 time-slots according to ETSI/3GPP TS 08.60. As @@ -423,10 +423,10 @@ procedure according to <>, with these modifications: * The 'C-bits' part of the 'Channel Number' IE take the non-standard binary - value 11000 (C5 through C1 as seen in 3GPP TS 08.58 ? 9.3.1). + value 11000 (C5 through C1 as seen in 3GPP TS 48.058 ? 9.3.1). * The 'A-bits' part of the 'Activation Type' IE take the non-standard binary value 1111, with an additional fourth bit (add A4 to A3 through A1 as seen in - 3GPP TS 08.58 ? 9.3.3; all remaining reserved bits as well as the 'R' bit are + 3GPP TS 48.058 ? 9.3.3; all remaining reserved bits as well as the 'R' bit are coded as zero). * The normally mandatory 'Channel Mode' IE is omitted; none of the optional IEs are included. @@ -436,7 +436,7 @@ .PDCH type _Channel Activation_ message IEs [options="header",cols="10%,30%,60%"] |=== -| TS 08.58 ? | IE Name | Handling +| TS 48.058 ? | IE Name | Handling | 9.1 | Message discriminator | Dedicated Channel Management | 9.2 | Message type | CHANnel ACTIVation | 9.3.1 | Channel number | 'C-bits' 11000, plus TS bits as usual @@ -489,9 +489,9 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 +| Channel number | 48.058 9.3.1 | M | TV | 2 | Destination IP Address | <> | O | TV | 5 | Destination IP Port | <> | O | TV | 3 | IP Speech Mode | <> | O | TV | 2 @@ -509,9 +509,9 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 +| Channel number | 48.058 9.3.1 | M | TV | 2 | Connection Id | <> | M | TV | 3 | Source IP Address | <> | O | TV | 5 | Source IP Port | <> | O | TV | 3 @@ -529,12 +529,12 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 +| Channel number | 48.058 9.3.1 | M | TV | 2 | Destination IP Address | <> | O | TV | 5 | Destination IP Port | <> | O | TV | 3 -| Cause | 08.58 9.3.26 | O | TLV | >= 3 +| Cause | 48.058 9.3.26 | O | TLV | >= 3 |=== @@ -548,9 +548,9 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 +| Channel number | 48.058 9.3.1 | M | TV | 2 | Connection Id | <> | O | TV | 3 | Destination IP Address | <> | O | TV | 5 | Destination IP Port | <> | O | TV | 3 @@ -569,9 +569,9 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 +| Channel number | 48.058 9.3.1 | M | TV | 2 | Connection Id | <> | O | TV | 3 | Source IP Address | <> | C | TV | 5 | Source IP Port | <> | C | TV | 3 @@ -590,10 +590,10 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 -| Cause | 08.58 9.3.26 | M | TLV | >= 3 +| Channel number | 48.058 9.3.1 | M | TV | 2 +| Cause | 48.058 9.3.26 | M | TLV | >= 3 |=== [[rsl_dlcx_ind_msg]] @@ -607,12 +607,12 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 +| Channel number | 48.058 9.3.1 | M | TV | 2 | Connection Id | <> | M | TV | 3 | Connection Id | <> | M | TV | 3 -| Cause | 08.58 9.3.26 | M | TLV | >= 3 +| Cause | 48.058 9.3.26 | M | TLV | >= 3 |=== [[rsl_dlcx_msg]] @@ -626,9 +626,9 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 +| Channel number | 48.058 9.3.1 | M | TV | 2 | Connection Id | <> | O | TV | 3 |=== @@ -644,9 +644,9 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 +| Channel number | 48.058 9.3.1 | M | TV | 2 | Connection Id | <> | O | TV | 3 | Connection Statistics | <> | C | TV | 29 |=== @@ -663,11 +663,11 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 +| Channel number | 48.058 9.3.1 | M | TV | 2 | Connection Id | <> | O | TV | 3 -| Cause | 08.58 9.3.26 | M | TLV | >= 3 +| Cause | 48.058 9.3.26 | M | TLV | >= 3 |=== [[rsl_pdch_act]] @@ -680,9 +680,9 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 +| Channel number | 48.058 9.3.1 | M | TV | 2 |=== NOTE:: This message is *not* used by Osmocom style dynamic channels @@ -697,10 +697,10 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 -| Frame Number | 08.58 9.3.8 | O | TV | 3 +| Channel number | 48.058 9.3.1 | M | TV | 2 +| Frame Number | 48.058 9.3.8 | O | TV | 3 |=== NOTE:: This message is *not* used by Osmocom style dynamic channels @@ -715,10 +715,10 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 -| Cause | 08.58 9.3.26 | M | TLV | >= 3 +| Channel number | 48.058 9.3.1 | M | TV | 2 +| Cause | 48.058 9.3.26 | M | TLV | >= 3 |=== NOTE:: This message is *not* used by Osmocom style dynamic channels @@ -733,9 +733,9 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 +| Channel number | 48.058 9.3.1 | M | TV | 2 |=== NOTE:: This message is *not* used by Osmocom style dynamic channels @@ -750,9 +750,9 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 +| Channel number | 48.058 9.3.1 | M | TV | 2 |=== NOTE:: This message is *not* used by Osmocom style dynamic channels @@ -767,10 +767,10 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 -| Cause | 08.58 9.3.26 | M | TLV | >= 3 +| Channel number | 48.058 9.3.1 | M | TV | 2 +| Cause | 48.058 9.3.26 | M | TLV | >= 3 |=== NOTE:: This message is *not* used by Osmocom style dynamic channels @@ -794,10 +794,10 @@ [cols="30%,25%,15%,15%,15%"] |=== | INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 +| Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 -| SMSCB Message | 08.58 9.3.42 | M | TLV | 2-58 +| Channel number | 48.058 9.3.1 | M | TV | 2 +| SMSCB Message | 48.058 9.3.42 | M | TLV | 2-58 |=== @@ -807,7 +807,7 @@ ==== A-bis/IP specific RSL Message discriminators The following message discriminators are used in addition to those -indicated in 3GPP TS 08.58 Section 9.1: +indicated in 3GPP TS 48.058 Section 9.1: .OsmoBTS specific new message discriminators [options="header",cols="10%,50%,40%"] @@ -835,7 +835,7 @@ ==== A-bis/IP specific RSL IEIs The following Information Element Identifiers (IEIs) are used in -addition to those indicated in 3GPP TS 08.58 Section 9.3: +addition to those indicated in 3GPP TS 48.058 Section 9.3: .A-bis/IP specific information elements [options="header",cols="10%,50%,40%"] @@ -857,13 +857,13 @@ [[RSL_IE_CHAN_NR]] ==== RSL_IE_CHAN_NR -This information element is coded like 3GPP TS 08.58 Section 9.3.1, +This information element is coded like 3GPP TS 48.058 Section 9.3.1, but in addition supports the following extended coding: * C5..C1 bits 0b11000 for PDCH type channels The TN-Bits are not re-defined in this case but use the same encoding -as specified in TS 08.58 Section 9.3.1. +as specified in TS 48.058 Section 9.3.1. NOTE:: The above extension is only valid on an Osmocom-style dynamic channel, having configured the 'NM_CHANC_IPAC_TCHFull_PDCH' channel -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iae8e184f98f089c95dce4c51f512971521c4b059 Gerrit-Change-Number: 24489 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria 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 Jun 4 20:05:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:05:21 +0000 Subject: Change in osmo-bts[master]: manuals/abis/rsl.adoc: rework Channel Number description In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24490 ) Change subject: manuals/abis/rsl.adoc: rework Channel Number description ...................................................................... manuals/abis/rsl.adoc: rework Channel Number description Change-Id: I3013c6b2c38db33d7d80e174b3d4910f8b01963d Related: SYS#4895, OS#4941 --- M doc/manuals/abis/rsl.adoc 1 file changed, 11 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/doc/manuals/abis/rsl.adoc b/doc/manuals/abis/rsl.adoc index c9ad495..2d17a89 100644 --- a/doc/manuals/abis/rsl.adoc +++ b/doc/manuals/abis/rsl.adoc @@ -857,17 +857,22 @@ [[RSL_IE_CHAN_NR]] ==== RSL_IE_CHAN_NR -This information element is coded like 3GPP TS 48.058 Section 9.3.1, -but in addition supports the following extended coding: +This information element is coded as described in 3GPP TS 48.058 Section 9.3.1, +but in addition supports the following vendor specific values: -* C5..C1 bits 0b11000 for PDCH type channels +.RSL Channel Number extensions +[options="header",cols="5%,5%,5%,5%,5%,75%"] +|=== +| C5 | C4 | C3 | C2 | C1 | Description +| 1 | 1 | 0 | 0 | 0 | PDCH `<1>` +|=== + +`<1>` This extension is only valid on an Osmocom-style dynamic channel, having +configured the 'NM_CHANC_IPAC_TCHFull_PDCH' channel combination by OML. The TN-Bits are not re-defined in this case but use the same encoding as specified in TS 48.058 Section 9.3.1. -NOTE:: The above extension is only valid on an Osmocom-style dynamic -channel, having configured the 'NM_CHANC_IPAC_TCHFull_PDCH' channel -combination by OML. [[RSL_IE_IPAC_REMOTE_IP]] ==== RSL_IE_IPAC_REMOTE_IP -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3013c6b2c38db33d7d80e174b3d4910f8b01963d Gerrit-Change-Number: 24490 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 20:05:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:05:21 +0000 Subject: Change in osmo-bts[master]: manuals/abis/rsl.adoc: add missing CBCH Channel Number values In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24491 ) Change subject: manuals/abis/rsl.adoc: add missing CBCH Channel Number values ...................................................................... manuals/abis/rsl.adoc: add missing CBCH Channel Number values Change-Id: Iab64c35a384978ba2eb1878f619de2c3827cd8c5 Related: SYS#4895, OS#4941 --- M doc/manuals/abis/rsl.adoc 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/doc/manuals/abis/rsl.adoc b/doc/manuals/abis/rsl.adoc index 2d17a89..17d2cb0 100644 --- a/doc/manuals/abis/rsl.adoc +++ b/doc/manuals/abis/rsl.adoc @@ -865,6 +865,8 @@ |=== | C5 | C4 | C3 | C2 | C1 | Description | 1 | 1 | 0 | 0 | 0 | PDCH `<1>` +| 1 | 1 | 0 | 0 | 1 | CBCH on SDCCH4 +| 1 | 1 | 0 | 1 | 0 | CBCH on SDCCH8 |=== `<1>` This extension is only valid on an Osmocom-style dynamic channel, having -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iab64c35a384978ba2eb1878f619de2c3827cd8c5 Gerrit-Change-Number: 24491 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 20:05:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:05:21 +0000 Subject: Change in osmo-bts[master]: manuals/abis/rsl.adoc: add VAMOS specific Channel Number values In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24492 ) Change subject: manuals/abis/rsl.adoc: add VAMOS specific Channel Number values ...................................................................... manuals/abis/rsl.adoc: add VAMOS specific Channel Number values Change-Id: Ib3ad7652dfcbd104d25b031ac89f5491da2673a6 Related: SYS#4895, OS#4941 --- M doc/manuals/abis/rsl.adoc 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/doc/manuals/abis/rsl.adoc b/doc/manuals/abis/rsl.adoc index 17d2cb0..b973cf5 100644 --- a/doc/manuals/abis/rsl.adoc +++ b/doc/manuals/abis/rsl.adoc @@ -867,10 +867,15 @@ | 1 | 1 | 0 | 0 | 0 | PDCH `<1>` | 1 | 1 | 0 | 0 | 1 | CBCH on SDCCH4 | 1 | 1 | 0 | 1 | 0 | CBCH on SDCCH8 +| 1 | 1 | 1 | 0 | 1 | VAMOS TCH/F `<2>` +| 1 | 1 | 1 | 1 | T | VAMOS TCH/H `<2>` |=== `<1>` This extension is only valid on an Osmocom-style dynamic channel, having configured the 'NM_CHANC_IPAC_TCHFull_PDCH' channel combination by OML. +`<2>` These Osmocom specific values are used by osmo-bsc to address logical +channels on the shadow timeslots in VAMOS mode, iff the BTS is an osmo-bts +and VAMOS capable. The TN-Bits are not re-defined in this case but use the same encoding as specified in TS 48.058 Section 9.3.1. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib3ad7652dfcbd104d25b031ac89f5491da2673a6 Gerrit-Change-Number: 24492 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 Fri Jun 4 20:05:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:05:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests.cfg: also execute LAPDm related test cases In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24528 ) Change subject: BTS_Tests.cfg: also execute LAPDm related test cases ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If632fdd740634e4e115e4aea56940033b18f5736 Gerrit-Change-Number: 24528 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 20:05: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 Jun 4 20:05:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:05:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests.cfg: also execute LAPDm related test cases In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24528 ) Change subject: BTS_Tests.cfg: also execute LAPDm related test cases ...................................................................... BTS_Tests.cfg: also execute LAPDm related test cases Change-Id: If632fdd740634e4e115e4aea56940033b18f5736 --- M bts/BTS_Tests.cfg 1 file changed, 1 insertion(+), 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/bts/BTS_Tests.cfg b/bts/BTS_Tests.cfg index 4b6e6ca..aaffbf6 100644 --- a/bts/BTS_Tests.cfg +++ b/bts/BTS_Tests.cfg @@ -37,4 +37,5 @@ [EXECUTE] BTS_Tests.control BTS_Tests_SMSCB.control +BTS_Tests_LAPDm.control BTS_Tests_VAMOS.control -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If632fdd740634e4e115e4aea56940033b18f5736 Gerrit-Change-Number: 24528 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 20:06:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:06:04 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix NULL pointer dereference in trx_if_send_burst() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24515 ) Change subject: osmo-bts-trx: fix NULL pointer dereference in trx_if_send_burst() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24515 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4a361777fc40bdedcebbe54df6274bc5573f77a8 Gerrit-Change-Number: 24515 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 20:06: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 Jun 4 20:06:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:06:13 +0000 Subject: Change in osmo-bts[master]: trx_sched_is_sacch_fn(): fix handling of dynamic timeslots In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24526 ) Change subject: trx_sched_is_sacch_fn(): fix handling of dynamic timeslots ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia5e337e897b595e7de6e504664c969b583cc02a1 Gerrit-Change-Number: 24526 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 20:06: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 Jun 4 20:06:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:06:54 +0000 Subject: Change in osmo-bts[master]: measurement: remove over-defensive checks in is_meas_complete() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24527 ) Change subject: measurement: remove over-defensive checks in is_meas_complete() ...................................................................... Patch Set 1: then maybe tat least the pchan check is something for an OSMO_ASSERT()? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6d20d7cba49cc8b6d1dc2192598ca372b7d2c5bf Gerrit-Change-Number: 24527 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 20:06: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 Fri Jun 4 20:06:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:06:59 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix NULL pointer dereference in trx_if_send_burst() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24515 ) Change subject: osmo-bts-trx: fix NULL pointer dereference in trx_if_send_burst() ...................................................................... osmo-bts-trx: fix NULL pointer dereference in trx_if_send_burst() Starting from TRXDv2 [1], trx_if_send_burst() would keep batching PDUs to the static buffer, unless it's called with br = NULL, so we cannot dereference br in the logging statement. Of course, we could also store TDMA frame number in a static variable, but I don't think it's worth it just for logging. Change-Id: I4a361777fc40bdedcebbe54df6274bc5573f77a8 Fixes: [1] I9b4cc8e10cd683b28d22e32890569484cd20372d Fixes: CID#236232 --- M src/osmo-bts-trx/trx_if.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index c10a15f..afd630f 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -1154,8 +1154,8 @@ sendall: LOGPPHI(l1h->phy_inst, DTRX, LOGL_DEBUG, - "Tx TRXDv%u datagram with %u PDU(s): fn=%u\n", - pdu_ver, pdu_num, br->fn); + "Tx TRXDv%u datagram with %u PDU(s)\n", + pdu_ver, pdu_num); /* TRXDv2: unset BATCH.ind in the last PDU */ if (pdu_ver >= 2) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24515 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4a361777fc40bdedcebbe54df6274bc5573f77a8 Gerrit-Change-Number: 24515 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 20:06:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:06:59 +0000 Subject: Change in osmo-bts[master]: trx_sched_is_sacch_fn(): fix handling of dynamic timeslots In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24526 ) Change subject: trx_sched_is_sacch_fn(): fix handling of dynamic timeslots ...................................................................... trx_sched_is_sacch_fn(): fix handling of dynamic timeslots There is no GSM_PCHAN_TCH_F{_TCH_H}_PDCH in trx_sched_multiframes[], so find_sched_mframe_idx() would always return -1 for these. Fix this by using ts_pchan(), which returns currently active pchan type. Change-Id: Ia5e337e897b595e7de6e504664c969b583cc02a1 --- M src/common/scheduler_mframe.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved dexter: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/common/scheduler_mframe.c b/src/common/scheduler_mframe.c index b969407..f6476ec 100644 --- a/src/common/scheduler_mframe.c +++ b/src/common/scheduler_mframe.c @@ -1007,7 +1007,7 @@ const struct trx_sched_frame *frame; enum trx_chan_type ch_type; - i = find_sched_mframe_idx(ts->pchan, ts->nr); + i = find_sched_mframe_idx(ts_pchan(ts), ts->nr); if (i < 0) return -EINVAL; sched = &trx_sched_multiframes[i]; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia5e337e897b595e7de6e504664c969b583cc02a1 Gerrit-Change-Number: 24526 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria 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 Jun 4 20:07:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:07:08 +0000 Subject: Change in libosmocore[master]: fsm: cosmetic: fix weird spacing in osmo_fsm_inst_alloc() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24525 ) Change subject: fsm: cosmetic: fix weird spacing in osmo_fsm_inst_alloc() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I199085e717c6ebdc9061a0c9fa9a96bfbc11a74a Gerrit-Change-Number: 24525 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 20: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 Fri Jun 4 20:07:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:07:11 +0000 Subject: Change in libosmocore[master]: fsm: cosmetic: fix weird spacing in osmo_fsm_inst_alloc() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24525 ) Change subject: fsm: cosmetic: fix weird spacing in osmo_fsm_inst_alloc() ...................................................................... fsm: cosmetic: fix weird spacing in osmo_fsm_inst_alloc() Change-Id: I199085e717c6ebdc9061a0c9fa9a96bfbc11a74a --- M src/fsm.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/fsm.c b/src/fsm.c index f1dbb41..8f7ff1a 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -450,8 +450,8 @@ osmo_timer_setup(&fi->timer, fsm_tmr_cb, fi); if (osmo_fsm_inst_update_id(fi, id) < 0) { - fsm_free_or_steal(fi); - return NULL; + fsm_free_or_steal(fi); + return NULL; } INIT_LLIST_HEAD(&fi->proc.children); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I199085e717c6ebdc9061a0c9fa9a96bfbc11a74a Gerrit-Change-Number: 24525 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 20:07:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:07:31 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit: add primary/shadow indicator for TRXDv2 PDUs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24509 ) Change subject: trx_toolkit: add primary/shadow indicator for TRXDv2 PDUs ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24509 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I0a3ad4f0bda56b93e0ab8bf82b6b3758831edf60 Gerrit-Change-Number: 24509 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 20:07:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 20:07:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Jun 2021 20:07:34 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit: add primary/shadow indicator for TRXDv2 PDUs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24509 ) Change subject: trx_toolkit: add primary/shadow indicator for TRXDv2 PDUs ...................................................................... trx_toolkit: add primary/shadow indicator for TRXDv2 PDUs Change-Id: I0a3ad4f0bda56b93e0ab8bf82b6b3758831edf60 Related: SYS#4895, OS#4941, OS#4006 --- M src/target/trx_toolkit/trxd_proto.py 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/target/trx_toolkit/trxd_proto.py b/src/target/trx_toolkit/trxd_proto.py index 74a3124..21fe31e 100644 --- a/src/target/trx_toolkit/trxd_proto.py +++ b/src/target/trx_toolkit/trxd_proto.py @@ -40,7 +40,8 @@ if ver >= 2: # TRXDv2 and higher f.append(codec.BitField('batch', bl=1)) - f.append(codec.BitField.Spare(bl=1)) + f.append(codec.BitField('shadow', bl=1) if batched + else codec.BitField.Spare(bl=1)) f.append(codec.BitField('trxn', bl=6)) codec.BitFieldSet.__init__(self, set=tuple(f)) -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24509 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I0a3ad4f0bda56b93e0ab8bf82b6b3758831edf60 Gerrit-Change-Number: 24509 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 20:27:10 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 4 Jun 2021 20:27:10 +0000 Subject: Change in libosmocore[master]: stat, rate_ctr: Allow setting group name and use it at report time In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24467 ) Change subject: stat,rate_ctr: Allow setting group name and use it at report time ...................................................................... Patch Set 3: Code-Review+2 Great to see this feature for our counters/stats finally, thanks! Looks good to me and passes the unit tests. Let's see what unexpected breakage we'll have regardless. :-) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0dc510783dd9ae8436dae8005a7b3330e80d36f3 Gerrit-Change-Number: 24467 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 04 Jun 2021 20:27:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 21:05:01 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Jun 2021 21:05:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU_Tests: new test case TC_ta_ul_ack_nack_first_block() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24417 ) Change subject: PCU_Tests: new test case TC_ta_ul_ack_nack_first_block() ...................................................................... PCU_Tests: new test case TC_ta_ul_ack_nack_first_block() In a busy network, there can be a significant delay between resource allocation (Packet Uplink Assignment above) and the actual time when the MS is allowed to transmit the first Uplink data block. Verify Timing Advance value indicated in Packet Uplink ACK/NACK message sent in response to the first Uplink block after resource allocation. Change-Id: I30f82c51b3e9a167af4dbce3e74697dd79ff15bf --- M pcu/PCU_Tests.ttcn 1 file changed, 54 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 3d374d0..8e8fba9 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -496,6 +496,59 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +/* Verify Timing Advance value indicated in Packet Uplink ACK/NACK message + * sent in response to the first Uplink block after resource allocation. */ +testcase TC_ta_ul_ack_nack_first_block() runs on RAW_PCU_Test_CT { + var GprsMS ms := valueof(t_GprsMS_def); + var PacketUlAckNack ul_ack_nack; + var PacketTimingAdvance pkt_ta; + var RlcmacDlBlock dl_block; + var uint32_t sched_fn; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli); + + /* Establish an Uplink TBF */ + f_ms_establish_ul_tbf(ms); + + /* In a busy network, there can be a significant delay between resource + * allocation (Packet Uplink Assignment above) and the actual time when + * the MS is allowed to transmit the first Uplink data block. */ + + /* Simulate a delay > 0 */ + ms.ta := 2; + + /* We're in One-Phase Access contention resoultion, include TLLI */ + f_ms_tx_ul_data_block_multi(ms, 1, with_tlli := true, fn := ms.ul_tbf.start_time_fn); + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + + ul_ack_nack := dl_block.ctrl.payload.u.ul_ack_nack; + if (ispresent(ul_ack_nack.gprs.pkt_ta)) { + pkt_ta := ul_ack_nack.gprs.pkt_ta; + } else if (ispresent(ul_ack_nack.egprs.pkt_ta)) { + pkt_ta := ul_ack_nack.egprs.pkt_ta; + } else { + setverdict(fail, "PacketTimingAdvance IE is not present"); + f_shutdown(__BFILE__, __LINE__); + } + + if (not ispresent(pkt_ta.val)) { + setverdict(fail, "Timing Advance value is not present"); + f_shutdown(__BFILE__, __LINE__); + } else if (pkt_ta.val != ms.ta) { + setverdict(fail, "Timing Advance mismatch: expected ", + ms.ta, ", but received ", pkt_ta.val); + f_shutdown(__BFILE__, __LINE__); + } +} + /* Verify Timing Advance value(s) indicated during the packet Downlink assignment * procedure as per 3GPP TS 44.018, section 3.5.3. There seems to be a bug in the * IUT that causes it to send an unreasonable Timing Advance value > 0 despite @@ -5850,6 +5903,7 @@ execute( TC_pcuif_suspend_active_tbf() ); execute( TC_ta_ptcch_idle() ); execute( TC_ta_rach_imm_ass() ); + execute( TC_ta_ul_ack_nack_first_block() ); execute( TC_ta_idle_dl_tbf_ass() ); execute( TC_ta_ptcch_ul_multi_tbf() ); execute( TC_cs_lqual_ul_tbf() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I30f82c51b3e9a167af4dbce3e74697dd79ff15bf Gerrit-Change-Number: 24417 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 21:09:04 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 4 Jun 2021 21:09:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MSC_ConnectionHandler: fix race in f_create_chan_and_exp() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24562 ) Change subject: MSC_ConnectionHandler: fix race in f_create_chan_and_exp() ...................................................................... MSC_ConnectionHandler: fix race in f_create_chan_and_exp() During f_create_chan_and_exp() (part of f_establish_fully()), announce the BSSAP L3 expectation before activating the lchan. In RSL_Emulation f_chan_est(), we go through Chan Request, Channel Act and Immediate Assignment followed by EST IND. Right after that, osmo-bsc sends a Complete Layer 3 on BSSAP. But in f_create_chan_and_exp(), we only create the expectation of the BSSAP right after the call to f_chan_est(), i.e. only after sending the EST IND. So far it was always juuust in time to work, but when I added a little check to the end of f_chan_est(), or alternatively an f_sleep(0.2), then BSC tests always fail with: Test case TC_reassignment_fr finished. Verdict: fail reason: Couldn't find Expect for incoming connection { [...] pdu := { bssmap := { completeLayer3Information... } With the BSSAP expectation done first, this error is avoided. Change-Id: I1d4af737dcc0f9c9fa6cdaff3a92813d532e730c --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/62/24562/1 diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 37adc18..ec90abe 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -635,9 +635,9 @@ 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); - /* 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); 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); } function f_rsl_send_l3(template PDU_ML3_MS_NW l3, template (omit) RslLinkId link_id := omit, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24562 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1d4af737dcc0f9c9fa6cdaff3a92813d532e730c Gerrit-Change-Number: 24562 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 Jun 4 21:09:05 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 4 Jun 2021 21:09:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: fix osmo-stp.cfg: missing smlc routing References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24563 ) Change subject: bsc: fix osmo-stp.cfg: missing smlc routing ...................................................................... bsc: fix osmo-stp.cfg: missing smlc routing Without the SMLC routing in place, virtually all BSC_Tests fail with: VirtSMLC-BSSAP_LE(8)@x42: setverdict(fail): none -> fail reason: "BSSMAP-LE: Timeout waiting for RESET-ACK after sending RESET" Copy the SMLC part of osmo-stp.cfg from docker-playground/ttcn3-bsc-test/osmo-stp.cfg and localhost-ize it. Change-Id: I274515e7e9205c895cd250abed7361aef5a33f56 --- M bsc/osmo-stp.cfg 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/63/24563/1 diff --git a/bsc/osmo-stp.cfg b/bsc/osmo-stp.cfg index b29dc91..7ea46a4 100644 --- a/bsc/osmo-stp.cfg +++ b/bsc/osmo-stp.cfg @@ -55,10 +55,18 @@ asp virt-msc2-0 routing-key 3 0.0.3 + asp virt-smlc-0 23908 2905 m3ua + local-ip 127.0.0.1 + remote-ip 127.0.0.1 + as virt-smlc m3ua + asp virt-smlc-0 + routing-key 6 0.23.6 + route-table system update route 0.23.1 7.255.7 linkset virt-msc0 update route 0.0.2 7.255.7 linkset virt-msc1 update route 0.0.3 7.255.7 linkset virt-msc2 + update route 0.23.6 7.255.7 linkset virt-smlc listen m3ua 2905 accept-asp-connections dynamic-permitted listen ipa 5000 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I274515e7e9205c895cd250abed7361aef5a33f56 Gerrit-Change-Number: 24563 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 Jun 4 21:09:06 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 4 Jun 2021 21:09:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: test TSC in various messages References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24564 ) Change subject: bsc: test TSC in various messages ...................................................................... bsc: test TSC in various messages In a recent osmo-bsc patch: "allow explixit TSC Set and TSC on chan activ / modif / assignment" c33eb8d56943b8981523754b081967e6ff5f245d Ic665125255d7354f5499d10dda1dd866ab243d24 I accidentally changed the default behavior of the Training Sequence Code sent to BTS and MS. So now, make sure that we verify the expected Training Sequence Code in BSC_Tests, in: RSL Channel Activate RR Immediate Assignment RR Assignment Command RR Channel Mode Modify RSL Mode Modify Related: OS#5172 SYS#5315 Change-Id: Id67a949e0f61ec8123976eb8d336f04510c55c01 --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M library/RSL_Emulation.ttcn 3 files changed, 76 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/64/24564/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 6f603b1..9ea0269 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -684,6 +684,9 @@ pars.exp_ms_power_level := mp_exp_ms_power_level; pars.mscpool.bssap_idx := bssap_idx; + /* BTS 0 has BSIC 10 (and no explicit timeslot training_sequence_code config), so expecting TSC = (BSIC & 7) = 2 */ + pars.expect_tsc := 2; + return pars; } diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index ec90abe..c29ccd4 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -590,7 +590,8 @@ TestHdlrParamsMSCPool mscpool, boolean media_mgw_offer_ipv6, OCT3 last_used_eutran_plmn optional, - boolean expect_channel_mode_modify + boolean expect_channel_mode_modify, + uint3_t expect_tsc optional }; /* Note: Do not use valueof() to get a value of this template, use @@ -627,13 +628,19 @@ }, media_mgw_offer_ipv6 := true, last_used_eutran_plmn := omit, - expect_channel_mode_modify := false + expect_channel_mode_modify := false, + expect_tsc := omit } function f_create_chan_and_exp() runs on MSC_ConnHdlr { 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 := ?; + + if (not istemplatekind(g_pars.expect_tsc, "omit")) { + tsc := g_pars.expect_tsc; + } f_create_bssmap_exp(l3_enc); /* call helper function for CHAN_RQD -> IMM ASS ->EST_IND */ @@ -859,6 +866,14 @@ } +private function rr_chan_desc_tsc(ChannelDescription2_V cd2) + return uint3_t +{ + var uint3_t tsc := oct2int(cd2.octet3); + tsc := tsc / 32; /* shl 5 */ + return tsc; +} + altstep as_assignment(inout AssignmentState st) 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 { @@ -867,6 +882,16 @@ if (ischosen(l3.msgs.rrm.assignmentCommand)) { var RslChannelNr new_chan_nr; var GsmArfcn arfcn; + + if (not istemplatekind(g_pars.expect_tsc, "omit")) { + var uint3_t got_tsc := rr_chan_desc_tsc(l3.msgs.rrm.assignmentCommand.descrOf1stChAfterTime); + if (not match(got_tsc, g_pars.expect_tsc)) { + setverdict(fail, "RR Assignment: unexpected TSC in Channel Description: expected ", + g_pars.expect_tsc, " got ", got_tsc); + mtc.stop; + } + } + f_ChDesc2RslChanNr(l3.msgs.rrm.assignmentCommand.descrOf1stChAfterTime, new_chan_nr, arfcn); /* FIXME: Determine TRX NR by ARFCN, instead of hard-coded TRX0! */ @@ -1264,6 +1289,32 @@ " to signalling mode, but got spd_ind == ", rsl_spd_ind); mtc.stop; } + + if (not istemplatekind(g_pars.expect_tsc, "omit")) { + var uint3_t got_tsc := rr_chan_desc_tsc(st.rr_channel_mode_modify_msg.msgs.rrm.channelModeModify.channelDescription); + if (not match(got_tsc, g_pars.expect_tsc)) { + setverdict(fail, "RR Channel Mode Modify: unexpected TSC in Channel Description: expected ", + g_pars.expect_tsc, " got ", got_tsc); + mtc.stop; + } + } + + } else { + /* not exp_modify, so this did a Channel Activate */ + + /* Check the TSC */ + if (not istemplatekind(g_pars.expect_tsc, "omit")) { + var RSL_Message chan_act := f_rslem_get_last_act(RSL_PROC, 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; + if (not match(got_tsc, g_pars.expect_tsc)) { + setverdict(fail, "RSL CHANnel ACTIVation: unexpected TSC in Channel Description: expected ", + g_pars.expect_tsc, " got ", got_tsc); + mtc.stop; + } + } + } } /* When the BSC detects that LCLS is possible it will cross the diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn index cb8b763..91fa2db 100644 --- a/library/RSL_Emulation.ttcn +++ b/library/RSL_Emulation.ttcn @@ -135,18 +135,37 @@ } /* establish a dedicated channel using 'ra' */ -function f_chan_est(OCT1 ra, octetstring est_l3, template RslLinkId link_id, GsmFrameNumber fn := 23) +function f_chan_est(OCT1 ra, octetstring est_l3, template RslLinkId link_id, GsmFrameNumber fn := 23, + template uint3_t tsc := ?) 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)); + /* 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); 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 ", + rr.payload.imm_ass.chan_desc.tsc); + 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)); + + /* Check above CHAN ACTIV */ + var RSL_Message chan_act := f_rslem_get_last_act(RSL_PROC, 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; + if (not match(got_tsc, tsc)) { + setverdict(fail, "RSL CHANnel ACTIVation: unexpected TSC in Channel Description: expected ", + tsc, " got ", got_tsc); + mtc.stop; + } + } } function f_deact_chan(RSL_Cause cause) runs on RSL_DchanHdlr -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id67a949e0f61ec8123976eb8d336f04510c55c01 Gerrit-Change-Number: 24564 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 Jun 4 21:12:21 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 4 Jun 2021 21:12:21 +0000 Subject: Change in osmo-bsc[master]: fixup: pass tsc = -1 for previous default training sequence code References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24565 ) Change subject: fixup: pass tsc = -1 for previous default training sequence code ...................................................................... fixup: pass tsc = -1 for previous default training sequence code An unintended change in default behavior was introduced in patch: "allow explixit TSC Set and TSC on chan activ / modif / assignment" Ic665125255d7354f5499d10dda1dd866ab243d24 c33eb8d56943b8981523754b081967e6ff5f245d Set tsc_set and tsc = -1 for all lchan_activate_info and assignment_request requests to actually yield the default behavior of selecting the TSC based on the timeslot cfg or the BSIC value. By setting tsc = 0 implicitly, the patch caused all requests to ask for tsc 0 instead of calling gsm_ts_tsc(). For a Channel Mode Modify in assignment_fsm, pass the lchan's current TSC to keep it unchanged. osmo-ttcn3-hacks Id67a949e0f61ec8123976eb8d336f04510c55c01 adds a test to verify the expected TSC in all of the activation, assignment and modify messages. Current osmo-bsc master fails, this patch fixes. Related: SYS#5315 OS#4940 Ic665125255d7354f5499d10dda1dd866ab243d24 Change-Id: If12df11511fe22ea167782f776736a1a9c484b1f --- M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/osmo_bsc_bssap.c 4 files changed, 13 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/65/24565/1 diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 00bb5dc..469b7b3 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1782,6 +1782,8 @@ }, .ta = rqd->ta, .ta_known = true, + .tsc_set = -1, + .tsc = -1, }; lchan_activate(lchan, &info); diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 6a9eb81..a15807a 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -808,14 +808,18 @@ static void assignment_fsm_wait_lchan_modified_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) { struct gsm_subscriber_connection *conn = assignment_fi_conn(fi); + struct gsm_lchan *lchan = conn->lchan; struct assignment_request *req = &conn->assignment.req; struct lchan_modify_info modif_info = { .modify_for = MODIFY_FOR_ASSIGNMENT, .ch_mode_rate = conn->assignment.selected_ch_mode_rate, .requires_voice_stream = conn->assignment.requires_voice_stream, .msc_assigned_cic = req->msc_assigned_cic, + /* keep previous training sequence code */ + .tsc_set = lchan->tsc_set, + .tsc = lchan->tsc, }; - lchan_mode_modify(conn->lchan, &modif_info); + lchan_mode_modify(lchan, &modif_info); } static void assignment_fsm_wait_lchan_modified(struct osmo_fsm_inst *fi, uint32_t event, void *data) diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 48cfbdf..c6a03f1 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -984,6 +984,8 @@ .ch_mode_rate = lchan->modify.ch_mode_rate, .requires_voice_stream = true, .msc_assigned_cic = lchan->modify.info.msc_assigned_cic, + .tsc_set = -1, + .tsc = -1, }; lchan->activate.concluded = false; lchan_fsm_state_chg(LCHAN_ST_WAIT_RLL_RTP_ESTABLISH); diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index d6048bf..da0429b 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -928,6 +928,8 @@ .msc_assigned_cic = cic, .use_osmux = use_osmux, .osmux_cid = osmux_cid, + .tsc_set = -1, + .tsc = -1, }; /* Match codec information from the assignment command against the @@ -954,6 +956,8 @@ req = (struct assignment_request){ .assign_for = ASSIGN_FOR_BSSMAP_REQ, .aoip = aoip, + .tsc_set = -1, + .tsc = -1, }; rc = select_sign_chan(&req, &ct); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If12df11511fe22ea167782f776736a1a9c484b1f Gerrit-Change-Number: 24565 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 Jun 4 21:21:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Jun 2021 21:21:25 +0000 Subject: Change in osmo-bts[master]: measurement: remove over-defensive checks in is_meas_complete() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24527 ) Change subject: measurement: remove over-defensive checks in is_meas_complete() ...................................................................... Patch Set 1: > Patch Set 1: > > then maybe tat least the pchan check is something for an OSMO_ASSERT()? We do not assert the result of ts_pchan() in other places, and I don't see why should we do it here... -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6d20d7cba49cc8b6d1dc2192598ca372b7d2c5bf Gerrit-Change-Number: 24527 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 21:21:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 21:44:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Jun 2021 21:44:26 +0000 Subject: Change in osmo-bsc[master]: fixup: pass tsc = -1 for previous default training sequence code In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24565 ) Change subject: fixup: pass tsc = -1 for previous default training sequence code ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If12df11511fe22ea167782f776736a1a9c484b1f Gerrit-Change-Number: 24565 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 04 Jun 2021 21:44: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 Jun 4 21:46:00 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Jun 2021 21:46:00 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/BTS_Tests.cfg: execute VAMOS specific test cases In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24529 ) Change subject: ttcn3-bts-test/BTS_Tests.cfg: execute VAMOS specific test cases ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I421f6ce5b689cd221f000043fcc0f5985e266e95 Gerrit-Change-Number: 24529 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Jun 2021 21: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 Fri Jun 4 21:46:04 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Jun 2021 21:46:04 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/BTS_Tests.cfg: execute VAMOS specific test cases In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24529 ) Change subject: ttcn3-bts-test/BTS_Tests.cfg: execute VAMOS specific test cases ...................................................................... ttcn3-bts-test/BTS_Tests.cfg: execute VAMOS specific test cases Change-Id: I421f6ce5b689cd221f000043fcc0f5985e266e95 Related: SYS#4895, OS#4941 --- 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 fixeria: Looks good to me, approved; Verified diff --git a/ttcn3-bts-test/BTS_Tests.cfg b/ttcn3-bts-test/BTS_Tests.cfg index a899b5c..4e1d2bf 100644 --- a/ttcn3-bts-test/BTS_Tests.cfg +++ b/ttcn3-bts-test/BTS_Tests.cfg @@ -22,3 +22,4 @@ BTS_Tests.control BTS_Tests_SMSCB.control BTS_Tests_LAPDm.control +BTS_Tests_VAMOS.control -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I421f6ce5b689cd221f000043fcc0f5985e266e95 Gerrit-Change-Number: 24529 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 21:46:32 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 4 Jun 2021 21:46:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc-VAMOS: add cfg files to run BSC_Tests_VAMOS locally References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24566 ) Change subject: bsc-VAMOS: add cfg files to run BSC_Tests_VAMOS locally ...................................................................... bsc-VAMOS: add cfg files to run BSC_Tests_VAMOS locally A local tccn3 test run for VAMOS looks like: while sleep 1; do osmo-bts-omldummy -f vamos 127.0.0.1 1234; done osmo-stp osmo-bsc -c osmo-bsc-vamos.cfg make compile make -j 5 ../start-testsuite.sh BSC_Tests BSC_Tests_VAMOS.cfg ../log_merge.sh BSC_Tests --rm Change-Id: Iabda4c864b02e6ddbf03386c75d67a37f92992f4 --- A bsc/BSC_Tests_VAMOS.cfg A bsc/osmo-bsc-vamos.cfg 2 files changed, 448 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/66/24566/1 diff --git a/bsc/BSC_Tests_VAMOS.cfg b/bsc/BSC_Tests_VAMOS.cfg new file mode 100644 index 0000000..d8ea207 --- /dev/null +++ b/bsc/BSC_Tests_VAMOS.cfg @@ -0,0 +1,18 @@ +[ORDERED_INCLUDE] +# Common configuration, shared between test suites +"../Common.cfg" +# testsuite specific configuration, not expected to change +"./BSC_Tests.default" + +# Local configuration below + +[LOGGING] + +[TESTPORT_PARAMETERS] + +[MODULE_PARAMETERS] + +[MAIN_CONTROLLER] + +[EXECUTE] +BSC_Tests_VAMOS.control diff --git a/bsc/osmo-bsc-vamos.cfg b/bsc/osmo-bsc-vamos.cfg new file mode 100644 index 0000000..5842a48 --- /dev/null +++ b/bsc/osmo-bsc-vamos.cfg @@ -0,0 +1,430 @@ +! +! OsmoBSC (1.0.1.122-630df) configuration saved from vty +!! +password foo +! +log stderr + logging filter all 1 + logging color 1 + logging print category 1 + logging timestamp 1 + logging print extended-timestamp 1 + logging level rll notice + logging level mm notice + logging level rr notice + logging level rsl notice + logging level nm info + logging level pag notice + logging level meas notice + logging level msc notice + logging level ho notice + logging level ref notice + logging level ctrl notice + logging level filter debug + logging level pcu debug + logging level lglobal notice + logging level llapd notice + logging level linp notice + logging level lmux notice + logging level lmi notice + logging level lmib notice + logging level lsms notice + logging level lctrl notice + logging level lgtp notice + logging level lstats notice + logging level lgsup notice + logging level loap notice + logging level lss7 notice + logging level lsccp notice + logging level lsua notice + logging level lm3ua notice + logging level lmgcp notice + logging level reset notice +! +stats interval 0 +stats reporter statsd + prefix TTCN3 + level subscriber + remote-ip 127.0.0.1 + remote-port 8125 + flush-period 1 + mtu 1024 + enable +! +line vty + no login + bind 127.0.0.1 +! +e1_input + e1_line 0 driver ipa + e1_line 0 port 0 + no e1_line 0 keepalive +cs7 instance 0 + asp asp-clnt-msc-0 2905 1905 m3ua + remote-ip 127.0.0.1 + sccp-address msc2 + point-code 0.0.2 + sccp-address msc3 + point-code 0.0.3 +network + network country code 1 + mobile network code 1 + encryption a5 0 1 3 + neci 1 + paging any use tch 0 + handover 1 + handover window rxlev averaging 10 + handover window rxqual averaging 1 + handover window rxlev neighbor averaging 10 + handover power budget interval 6 + handover power budget hysteresis 3 + handover maximum distance 9999 + timer t3113 10 + timer t3212 30 + bts 0 + type sysmobts + band DCS1800 + cell_identity 0 + location_area_code 1 + dtx uplink force + dtx downlink + base_station_id_code 10 + ms max power 15 + cell reselection hysteresis 4 + rxlev access min 0 + radio-link-timeout 32 + channel allocator ascending + rach tx integer 9 + rach max transmission 7 + channel-descrption attach 1 + channel-descrption bs-pa-mfrms 5 + channel-descrption bs-ag-blks-res 1 + early-classmark-sending forbidden + ip.access unit_id 1234 0 + oml ip.access stream_id 255 line 0 + neighbor-list mode manual-si5 + neighbor-list add arfcn 100 + neighbor-list add arfcn 200 + si5 neighbor-list add arfcn 10 + si5 neighbor-list add arfcn 20 + codec-support fr hr efr amr + gprs mode gprs + gprs routing area 0 + gprs network-control-order nc0 + gprs cell bvci 1234 + gprs cell timer blocking-timer 3 + gprs cell timer blocking-retries 3 + gprs cell timer unblocking-retries 3 + gprs cell timer reset-timer 3 + gprs cell timer reset-retries 3 + gprs cell timer suspend-timer 10 + gprs cell timer suspend-retries 3 + gprs cell timer resume-timer 10 + gprs cell timer resume-retries 3 + gprs cell timer capability-update-timer 10 + gprs cell timer capability-update-retries 3 + gprs nsei 1234 + gprs ns timer tns-block 3 + gprs ns timer tns-block-retries 3 + gprs ns timer tns-reset 3 + gprs ns timer tns-reset-retries 3 + gprs ns timer tns-test 30 + gprs ns timer tns-alive 3 + gprs ns timer tns-alive-retries 10 + gprs nsvc 0 nsvci 1234 + gprs nsvc 0 local udp port 23000 + gprs nsvc 0 remote udp port 23000 + gprs nsvc 0 remote ip 192.168.100.239 + gprs nsvc 1 nsvci 0 + gprs nsvc 1 local udp port 0 + gprs nsvc 1 remote udp port 0 + gprs nsvc 1 remote ip 0.0.0.0 + no force-combined-si + si2quater neighbor-list add earfcn 111 thresh-hi 20 thresh-lo 10 prio 3 qrxlv 22 meas 3 + trx 0 + rf_locked 0 + arfcn 871 + nominal power 23 + max_power_red 20 + rsl e1 tei 0 + timeslot 0 + phys_chan_config CCCH+SDCCH4+CBCH + hopping enabled 0 + timeslot 1 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 2 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 3 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 4 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 5 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 6 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 7 + phys_chan_config PDCH + hopping enabled 0 + bts 1 + type sysmobts + band DCS1800 + cell_identity 1 + location_area_code 1 + dtx uplink force + dtx downlink + base_station_id_code 11 + ms max power 15 + cell reselection hysteresis 4 + rxlev access min 0 + radio-link-timeout 32 + channel allocator ascending + rach tx integer 9 + rach max transmission 7 + channel-descrption attach 1 + channel-descrption bs-pa-mfrms 5 + channel-descrption bs-ag-blks-res 1 + early-classmark-sending forbidden + ip.access unit_id 1235 0 + oml ip.access stream_id 255 line 0 + neighbor-list mode manual-si5 + neighbor-list add arfcn 100 + neighbor-list add arfcn 200 + si5 neighbor-list add arfcn 10 + si5 neighbor-list add arfcn 20 + codec-support fr hr efr amr + gprs mode gprs + gprs routing area 0 + gprs network-control-order nc0 + gprs cell bvci 1235 + gprs cell timer blocking-timer 3 + gprs cell timer blocking-retries 3 + gprs cell timer unblocking-retries 3 + gprs cell timer reset-timer 3 + gprs cell timer reset-retries 3 + gprs cell timer suspend-timer 10 + gprs cell timer suspend-retries 3 + gprs cell timer resume-timer 10 + gprs cell timer resume-retries 3 + gprs cell timer capability-update-timer 10 + gprs cell timer capability-update-retries 3 + gprs nsei 1235 + gprs ns timer tns-block 3 + gprs ns timer tns-block-retries 3 + gprs ns timer tns-reset 3 + gprs ns timer tns-reset-retries 3 + gprs ns timer tns-test 30 + gprs ns timer tns-alive 3 + gprs ns timer tns-alive-retries 10 + gprs nsvc 0 nsvci 1235 + gprs nsvc 0 local udp port 23000 + gprs nsvc 0 remote udp port 23000 + gprs nsvc 0 remote ip 192.168.100.239 + gprs nsvc 1 nsvci 0 + gprs nsvc 1 local udp port 0 + gprs nsvc 1 remote udp port 0 + gprs nsvc 1 remote ip 0.0.0.0 + no force-combined-si + si2quater neighbor-list add earfcn 111 thresh-hi 20 thresh-lo 10 prio 3 qrxlv 22 meas 3 + trx 0 + rf_locked 0 + arfcn 871 + nominal power 23 + max_power_red 20 + rsl e1 tei 0 + timeslot 0 + phys_chan_config CCCH+SDCCH4+CBCH + hopping enabled 0 + timeslot 1 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 2 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 3 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 4 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 5 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 6 + phys_chan_config PDCH + hopping enabled 0 + timeslot 7 + phys_chan_config PDCH + hopping enabled 0 + bts 2 + type sysmobts + band DCS1800 + cell_identity 1 + location_area_code 2 + dtx uplink force + dtx downlink + base_station_id_code 12 + ms max power 15 + cell reselection hysteresis 4 + rxlev access min 0 + radio-link-timeout 32 + channel allocator ascending + rach tx integer 9 + rach max transmission 7 + channel-descrption attach 1 + channel-descrption bs-pa-mfrms 5 + channel-descrption bs-ag-blks-res 1 + early-classmark-sending forbidden + ip.access unit_id 1236 0 + oml ip.access stream_id 255 line 0 + neighbor-list mode manual-si5 + neighbor-list add arfcn 100 + neighbor-list add arfcn 200 + si5 neighbor-list add arfcn 10 + si5 neighbor-list add arfcn 20 + codec-support fr hr efr amr + gprs mode gprs + gprs routing area 0 + gprs network-control-order nc0 + gprs cell bvci 1236 + gprs cell timer blocking-timer 3 + gprs cell timer blocking-retries 3 + gprs cell timer unblocking-retries 3 + gprs cell timer reset-timer 3 + gprs cell timer reset-retries 3 + gprs cell timer suspend-timer 10 + gprs cell timer suspend-retries 3 + gprs cell timer resume-timer 10 + gprs cell timer resume-retries 3 + gprs cell timer capability-update-timer 10 + gprs cell timer capability-update-retries 3 + gprs nsei 1236 + gprs ns timer tns-block 3 + gprs ns timer tns-block-retries 3 + gprs ns timer tns-reset 3 + gprs ns timer tns-reset-retries 3 + gprs ns timer tns-test 30 + gprs ns timer tns-alive 3 + gprs ns timer tns-alive-retries 10 + gprs nsvc 0 nsvci 1236 + gprs nsvc 0 local udp port 23000 + gprs nsvc 0 remote udp port 23000 + gprs nsvc 0 remote ip 192.168.100.239 + gprs nsvc 1 nsvci 0 + gprs nsvc 1 local udp port 0 + gprs nsvc 1 remote udp port 0 + gprs nsvc 1 remote ip 0.0.0.0 + no force-combined-si + si2quater neighbor-list add earfcn 111 thresh-hi 20 thresh-lo 10 prio 3 qrxlv 22 meas 3 + trx 0 + rf_locked 0 + arfcn 871 + nominal power 23 + max_power_red 20 + rsl e1 tei 0 + timeslot 0 + phys_chan_config CCCH+SDCCH4+CBCH + hopping enabled 0 + timeslot 1 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 2 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 3 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 4 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 5 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 6 + phys_chan_config PDCH + hopping enabled 0 + timeslot 7 + phys_chan_config PDCH + hopping enabled 0 + bts 3 + type sysmobts + band DCS1800 + cell_identity 3 + location_area_code 3 + # re-use bts 2's ARFCN 871 and BSIC 12 (to test handover config) + base_station_id_code 12 + trx 0 + rf_locked 0 + arfcn 871 + nominal power 23 + max_power_red 20 + rsl e1 tei 0 + timeslot 0 + phys_chan_config CCCH+SDCCH4 + timeslot 1 + phys_chan_config TCH/F + timeslot 2 + phys_chan_config TCH/F + timeslot 3 + phys_chan_config TCH/F + timeslot 4 + phys_chan_config TCH/F + timeslot 5 + phys_chan_config TCH/H + timeslot 6 + phys_chan_config PDCH + timeslot 7 + phys_chan_config PDCH +msc 0 + allow-emergency allow + amr-config 12_2k forbidden + amr-config 10_2k forbidden + amr-config 7_95k forbidden + amr-config 7_40k forbidden + amr-config 6_70k forbidden + amr-config 5_90k allowed + amr-config 5_15k forbidden + amr-config 4_75k forbidden + codec-list fr1 fr2 fr3 hr1 hr3 + mgw remote-ip 127.0.0.1 + lcls-mode mgw-loop +msc 1 + msc-addr msc2 + mgw remote-ip 127.0.0.1 +msc 2 + msc-addr msc3 + mgw remote-ip 127.0.0.1 + +network + nri bitlen 10 + # a NULL NRI that is outside the NRI ranges used by the MSCs: + nri null add 0 + # a NULL NRI that is also used by an MSC: + nri null add 1 +msc 0 + nri add 1 255 +msc 1 + nri add 256 511 +msc 2 + nri add 512 767 + # range 768-1024 is not assigned to any MSC on purpose + +bsc + mid-call-timeout 0 +ctrl + bind 127.0.0.1 +cbc + mode disabled + client + remote-ip 127.0.0.1 + remote-port 48049 + server + local-ip 127.0.0.1 + local-port 48050 +smlc + enable -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24566 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iabda4c864b02e6ddbf03386c75d67a37f92992f4 Gerrit-Change-Number: 24566 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 Jun 4 21:51:07 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Jun 2021 21:51:07 +0000 Subject: Change in osmo-bts[master]: [VAMOS] conf_lchans_as_pchan(): improve readability In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24485 ) Change subject: [VAMOS] conf_lchans_as_pchan(): improve readability ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24485/1/src/common/oml.c File src/common/oml.c: https://gerrit.osmocom.org/c/osmo-bts/+/24485/1/src/common/oml.c at 824 PS1, Line 824: } while(0) > I agree. Not sure why there's a need to do this in a MACRO. [?] Hmm, it's just two lines wrapped into do-while and I am surprised that you find it confusing. Look at the handover relates macros in osmo-bsc, this is where the real magic happens ;) Anyway, I'll introduce a function in the next patch set. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1c5a033e89d9ca5fb01ebe9ffb521fd67d159bee Gerrit-Change-Number: 24485 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 04 Jun 2021 21:51:07 +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 Jun 4 22:11:18 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Jun 2021 22:11:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: add a test case for RF RESource INDication References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24567 ) Change subject: BTS: add a test case for RF RESource INDication ...................................................................... BTS: add a test case for RF RESource INDication Change-Id: I78b6d8beffa5228a28231b75728e7aebdd3cb23c Related: SYS#5313, OS#1569, OS#1866 --- M bts/BTS_Tests.ttcn 1 file changed, 45 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/67/24567/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index ee5258c..06f21e3 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -6772,6 +6772,50 @@ f_testmatrix_each_chan(pars, refers(f_TC_rsl_modify_encr)); } +/* Verify RF RESource INDication messages (periodically sent over the RSL) */ +private function f_TC_rsl_rf_resource_ind(template RSL_ResourceInfo info) +runs on test_CT { + var ASP_RSL_Unitdata ud; + timer T; + + /* Intave is 6 SACCH periods by default */ + var float Tval := int2float(6 * 480) / 1000.0 + 0.5; + + T.start(Tval); + alt { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_RF_RES_IND(info))) { + setverdict(pass); + } + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_RF_RES_IND(?))) -> value ud { + setverdict(fail, "RF RESource INDication mismatch: ", ud.rsl); + } + [] RSL_CCHAN.receive { repeat; } + [] T.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Timeout waiting for RF RESource INDication"); + } + } +} + +testcase TC_rsl_rf_resource_ind() runs on test_CT { + var RSL_ResourceInfo info := { }; + + f_init(trx_nr := 0); + + /* g_AllChannels contains all logical channels */ + for (var integer i := 0; i < lengthof(g_AllChannels); i := i + 1) { + var RslChannelNr chan_nr := g_AllChannels[i]; + info := info & { valueof(ts_RSL_ResourceInfoItem(chan_nr)) }; + } + + /* Test 4 consecutive messages */ + for (var integer i := 0; i < 4; i := i + 1) { + f_TC_rsl_rf_resource_ind(info); + } + + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + /* Test unencrypted channel activation followed by explicit ENCR CMD later */ private function f_TC_encr_cmd(charstring id) runs on ConnHdlr { /* L3 payload doesn't matter, as it is passed transparently */ @@ -7344,6 +7388,7 @@ execute( TC_rsl_chan_initial_ms_pwr() ); execute( TC_rsl_chan_initial_ta() ); execute( TC_rsl_modify_encr() ); + execute( TC_rsl_rf_resource_ind() ); execute( TC_conn_fail_crit() ); execute( TC_paging_imsi_80percent() ); execute( TC_paging_tmsi_80percent() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I78b6d8beffa5228a28231b75728e7aebdd3cb23c Gerrit-Change-Number: 24567 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 Jun 4 22:34:42 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Jun 2021 22:34:42 +0000 Subject: Change in osmo-bts[master]: [VAMOS] conf_lchans_as_pchan(): improve readability 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/+/24485 to look at the new patch set (#3). Change subject: [VAMOS] conf_lchans_as_pchan(): improve readability ...................................................................... [VAMOS] conf_lchans_as_pchan(): improve readability Change-Id: I1c5a033e89d9ca5fb01ebe9ffb521fd67d159bee --- M src/common/oml.c 1 file changed, 21 insertions(+), 33 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/85/24485/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1c5a033e89d9ca5fb01ebe9ffb521fd67d159bee Gerrit-Change-Number: 24485 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 4 22:36:35 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Jun 2021 22:36:35 +0000 Subject: Change in osmo-bts[master]: [VAMOS] conf_lchans_as_pchan(): improve readability In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24485 ) Change subject: [VAMOS] conf_lchans_as_pchan(): improve readability ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24485/1/src/common/oml.c File src/common/oml.c: https://gerrit.osmocom.org/c/osmo-bts/+/24485/1/src/common/oml.c at 824 PS1, Line 824: } while(0) > Hmm, it's just two lines wrapped into do-while and I am surprised that you find it confusing. [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1c5a033e89d9ca5fb01ebe9ffb521fd67d159bee Gerrit-Change-Number: 24485 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 04 Jun 2021 22:36:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Comment-In-Reply-To: fixeria 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 Jun 4 22:37:36 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Jun 2021 22:37:36 +0000 Subject: Change in osmo-bts[master]: [VAMOS] conf_lchans_as_pchan(): improve readability In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24485 ) Change subject: [VAMOS] conf_lchans_as_pchan(): improve readability ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24485/3/src/common/oml.c File src/common/oml.c: https://gerrit.osmocom.org/c/osmo-bts/+/24485/3/src/common/oml.c at 859 PS3, Line 859: Damn, now I left this whitespace here... but I guess it qualifies as improving readability ;) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1c5a033e89d9ca5fb01ebe9ffb521fd67d159bee Gerrit-Change-Number: 24485 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 04 Jun 2021 22:37: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 Fri Jun 4 22:40:40 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Jun 2021 22:40:40 +0000 Subject: Change in osmo-bts[2021q1]: trx_sched_is_sacch_fn(): fix handling of dynamic timeslots References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24568 ) Change subject: trx_sched_is_sacch_fn(): fix handling of dynamic timeslots ...................................................................... trx_sched_is_sacch_fn(): fix handling of dynamic timeslots There is no GSM_PCHAN_TCH_F{_TCH_H}_PDCH in trx_sched_multiframes[], so find_sched_mframe_idx() would always return -1 for these. Fix this by using ts_pchan(), which returns currently active pchan type. Change-Id: Ia5e337e897b595e7de6e504664c969b583cc02a1 --- M src/common/scheduler_mframe.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/68/24568/1 diff --git a/src/common/scheduler_mframe.c b/src/common/scheduler_mframe.c index b969407..f6476ec 100644 --- a/src/common/scheduler_mframe.c +++ b/src/common/scheduler_mframe.c @@ -1007,7 +1007,7 @@ const struct trx_sched_frame *frame; enum trx_chan_type ch_type; - i = find_sched_mframe_idx(ts->pchan, ts->nr); + i = find_sched_mframe_idx(ts_pchan(ts), ts->nr); if (i < 0) return -EINVAL; sched = &trx_sched_multiframes[i]; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24568 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: 2021q1 Gerrit-Change-Id: Ia5e337e897b595e7de6e504664c969b583cc02a1 Gerrit-Change-Number: 24568 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 Jun 5 08:47:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 08:47:27 +0000 Subject: Change in pysim[master]: construct: Recursive normalization of construct parse result In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24452 to look at the new patch set (#5). Change subject: construct: Recursive normalization of construct parse result ...................................................................... construct: Recursive normalization of construct parse result If we want to use construct parse results to generate JSON serializable dicts, we need to * apply the filter_dict() operation recursively, and * simplify the construct Container and ListContainer classes to a simple dict and/or list. We introduce a pySim.construct.parse_construct() helper which is subsequently used from all pySim.filesystem caller sites. Change-Id: I319414eb69808ef65895293832bb30519f45949d --- M pySim/construct.py M pySim/filesystem.py 2 files changed, 36 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/52/24452/5 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I319414eb69808ef65895293832bb30519f45949d Gerrit-Change-Number: 24452 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 08:47:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 08:47:28 +0000 Subject: Change in pysim[master]: ts_102_221: Add construct for contents of EF.UMPC References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24569 ) Change subject: ts_102_221: Add construct for contents of EF.UMPC ...................................................................... ts_102_221: Add construct for contents of EF.UMPC Change-Id: I7c63ccca90ab34b0d6ac6c990eeb53279ef2cd8d --- M pySim/ts_102_221.py 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/69/24569/1 diff --git a/pySim/ts_102_221.py b/pySim/ts_102_221.py index 38a69de..3665939 100644 --- a/pySim/ts_102_221.py +++ b/pySim/ts_102_221.py @@ -18,7 +18,8 @@ """ from pytlv.TLV import * -from struct import pack, unpack +from construct import * +from pySim.construct import * from pySim.utils import * from pySim.filesystem import * from bidict import bidict @@ -599,7 +600,8 @@ class EF_UMPC(TransparentEF): def __init__(self, fid='2f08', sfid=0x08, name='EF.UMPC', desc='UICC Maximum Power Consumption'): super().__init__(fid, sfid=sfid, name=name, desc=desc, size={5,5}) - + addl_info = FlagsEnum(Byte, req_inc_idle_current=1, support_uicc_suspend=2) + self._construct = Struct('max_current_mA'/Int8ub, 't_op_s'/Int8ub, 'addl_info'/addl_info) class CardProfileUICC(CardProfile): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24569 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7c63ccca90ab34b0d6ac6c990eeb53279ef2cd8d Gerrit-Change-Number: 24569 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 09:34:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 09:34:50 +0000 Subject: Change in pysim[master]: utils: Make filter_dict() transparently pass non-dict In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24453 ) Change subject: utils: Make filter_dict() transparently pass non-dict ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia1802101a62e21f1ce894d80728f939bf3da5a39 Gerrit-Change-Number: 24453 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Jun 2021 09:34:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 09:34:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 09:34:55 +0000 Subject: Change in pysim[master]: construct: Recursive normalization of construct parse result In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24452 ) Change subject: construct: Recursive normalization of construct parse result ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I319414eb69808ef65895293832bb30519f45949d Gerrit-Change-Number: 24452 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Jun 2021 09:34:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 09:35:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 09:35:08 +0000 Subject: Change in pysim[master]: utils: Make filter_dict() transparently pass non-dict In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24453 ) Change subject: utils: Make filter_dict() transparently pass non-dict ...................................................................... utils: Make filter_dict() transparently pass non-dict Change-Id: Ia1802101a62e21f1ce894d80728f939bf3da5a39 --- M pySim/construct.py 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/construct.py b/pySim/construct.py index a903305..d0101e3 100644 --- a/pySim/construct.py +++ b/pySim/construct.py @@ -72,6 +72,8 @@ def filter_dict(d, exclude_prefix='_'): """filter the input dict to ensure no keys starting with 'exclude_prefix' remain.""" + if not isinstance(d, dict): + return d res = {} for (key, value) in d.items(): if key.startswith(exclude_prefix): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia1802101a62e21f1ce894d80728f939bf3da5a39 Gerrit-Change-Number: 24453 Gerrit-PatchSet: 5 Gerrit-Owner: laforge 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 Sat Jun 5 09:35:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 09:35:08 +0000 Subject: Change in pysim[master]: construct: Recursive normalization of construct parse result In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24452 ) Change subject: construct: Recursive normalization of construct parse result ...................................................................... construct: Recursive normalization of construct parse result If we want to use construct parse results to generate JSON serializable dicts, we need to * apply the filter_dict() operation recursively, and * simplify the construct Container and ListContainer classes to a simple dict and/or list. We introduce a pySim.construct.parse_construct() helper which is subsequently used from all pySim.filesystem caller sites. Change-Id: I319414eb69808ef65895293832bb30519f45949d --- M pySim/construct.py M pySim/filesystem.py 2 files changed, 36 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/construct.py b/pySim/construct.py index d0101e3..2a3efd3 100644 --- a/pySim/construct.py +++ b/pySim/construct.py @@ -1,3 +1,4 @@ +import typing from construct import * from pySim.utils import b2h, h2b, swap_nibbles import gsm0338 @@ -84,6 +85,34 @@ res[key] = value return res +from construct.lib.containers import Container, ListContainer +from construct.core import EnumIntegerString + +def normalize_construct(c): + """Convert a construct specific type to a related base type, mostly useful + so we can serialize it.""" + # we need to include the filter_dict as we otherwise get elements like this + # in the dict: '_io': <_io.BytesIO object at 0x7fdb64e05860> which we cannot json-serialize + c = filter_dict(c) + if isinstance(c, Container) or isinstance(c, dict): + r = {k : normalize_construct(v) for (k, v) in c.items()} + elif isinstance(c, ListContainer): + r = [normalize_construct(x) for x in c] + elif isinstance(c, list): + r = [normalize_construct(x) for x in c] + elif isinstance(c, EnumIntegerString): + r = str(c) + else: + r = c + return r + +def parse_construct(c, raw_bin_data:bytes, length:typing.Optional[int]=None, exclude_prefix:str='_'): + """Helper function to wrap around normalize_construct() and filter_dict().""" + if not length: + length = len(raw_bin_data) + parsed = c.parse(raw_bin_data, total_len=length) + return normalize_construct(parsed) + # here we collect some shared / common definitions of data types LV = Prefixed(Int8ub, HexAdapter(GreedyBytes)) diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 8c45ba1..9a2f4e1 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -35,7 +35,7 @@ from typing import cast, Optional, Iterable, List, Any, Dict, Tuple from pySim.utils import sw_match, h2b, b2h, i2h, is_hex, auto_int, bertlv_parse_one, Hexstr -from pySim.construct import filter_dict +from pySim.construct import filter_dict, parse_construct from pySim.exceptions import * from pySim.jsonpath import js_path_find, js_path_modify @@ -490,7 +490,7 @@ if callable(method): return method(b2h(raw_bin_data)) if self._construct: - return filter_dict(self._construct.parse(raw_bin_data, total_len=len(raw_bin_data))) + return parse_construct(self._construct, raw_bin_data) return {'raw': raw_bin_data.hex()} def decode_hex(self, raw_hex_data:str) -> dict: @@ -513,7 +513,7 @@ if callable(method): return method(raw_bin_data) if self._construct: - return filter_dict(self._construct.parse(raw_bin_data, total_len=len(raw_bin_data))) + return parse_construct(self._construct, raw_bin_data) return {'raw': raw_bin_data.hex()} def encode_bin(self, abstract_data:dict) -> bytearray: @@ -712,7 +712,7 @@ if callable(method): return method(raw_bin_data) if self._construct: - return filter_dict(self._construct.parse(raw_bin_data, total_len=len(raw_bin_data))) + return parse_construct(self._construct, raw_bin_data) return {'raw': raw_bin_data.hex()} def decode_record_bin(self, raw_bin_data:bytearray) -> dict: @@ -735,7 +735,7 @@ if callable(method): return method(raw_hex_data) if self._construct: - return filter_dict(self._construct.parse(raw_bin_data, total_len=len(raw_bin_data))) + return parse_construct(self._construct, raw_bin_data) return {'raw': raw_hex_data} def encode_record_hex(self, abstract_data:dict) -> str: @@ -834,7 +834,7 @@ if callable(method): return method(raw_bin_data) if self._construct: - return filter_dict(self._construct.parse(raw_bin_data, total_len=len(raw_bin_data))) + return parse_construct(self._construct, raw_bin_data) return {'raw': raw_hex_data} def decode_record_bin(self, raw_bin_data:bytearray) -> dict: @@ -857,7 +857,7 @@ if callable(method): return method(raw_hex_data) if self._construct: - return filter_dict(self._construct.parse(raw_bin_data, total_len=len(raw_bin_data))) + return parse_construct(self._construct, raw_bin_data) return {'raw': raw_hex_data} def encode_record_hex(self, abstract_data:dict) -> str: -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I319414eb69808ef65895293832bb30519f45949d Gerrit-Change-Number: 24452 Gerrit-PatchSet: 5 Gerrit-Owner: laforge 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 Sat Jun 5 09:48:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 09:48:55 +0000 Subject: Change in pysim[master]: Introduce new object-oriented TLV parser/decoder/encoder In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24451 ) Change subject: Introduce new object-oriented TLV parser/decoder/encoder ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7fc1699443bc9d8a4e7cdd2687af9af7cc03c30e Gerrit-Change-Number: 24451 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Jun 2021 09: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 Jun 5 09:49:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 09:49:16 +0000 Subject: Change in pysim[master]: ts_102_221: Add construct for contents of EF.UMPC In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24569 ) Change subject: ts_102_221: Add construct for contents of EF.UMPC ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24569 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7c63ccca90ab34b0d6ac6c990eeb53279ef2cd8d Gerrit-Change-Number: 24569 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Sat, 05 Jun 2021 09:49:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 12:25:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 12:25:41 +0000 Subject: Change in pysim[master]: ts_102_221: Add construct for contents of EF.UMPC In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24569 ) Change subject: ts_102_221: Add construct for contents of EF.UMPC ...................................................................... ts_102_221: Add construct for contents of EF.UMPC Change-Id: I7c63ccca90ab34b0d6ac6c990eeb53279ef2cd8d --- M pySim/ts_102_221.py 1 file changed, 4 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/ts_102_221.py b/pySim/ts_102_221.py index 38a69de..3665939 100644 --- a/pySim/ts_102_221.py +++ b/pySim/ts_102_221.py @@ -18,7 +18,8 @@ """ from pytlv.TLV import * -from struct import pack, unpack +from construct import * +from pySim.construct import * from pySim.utils import * from pySim.filesystem import * from bidict import bidict @@ -599,7 +600,8 @@ class EF_UMPC(TransparentEF): def __init__(self, fid='2f08', sfid=0x08, name='EF.UMPC', desc='UICC Maximum Power Consumption'): super().__init__(fid, sfid=sfid, name=name, desc=desc, size={5,5}) - + addl_info = FlagsEnum(Byte, req_inc_idle_current=1, support_uicc_suspend=2) + self._construct = Struct('max_current_mA'/Int8ub, 't_op_s'/Int8ub, 'addl_info'/addl_info) class CardProfileUICC(CardProfile): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24569 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7c63ccca90ab34b0d6ac6c990eeb53279ef2cd8d Gerrit-Change-Number: 24569 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 12:25:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 12:25:41 +0000 Subject: Change in pysim[master]: Introduce new object-oriented TLV parser/decoder/encoder In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24451 ) Change subject: Introduce new object-oriented TLV parser/decoder/encoder ...................................................................... Introduce new object-oriented TLV parser/decoder/encoder This introduces a new TLV library that heavily builds upon python object oriented concepts. Contrary to classic TLV parsers it doesn't focus on the structure of Tag, Length and binary Value only, but it supports actual decoding/interpretation of the value part into some kind of JSON serializable dict. The latter can be achieved by imperative encode/decode methods, or by using our existing declarative 'construct' based approach. The TLV library supports both BER-TLV and COMPREHENSION-TLV for both nested and non-nested TLV definitions. As an example we include TLV definitions for a number of CAT (Card Application Toolkit) IEs. Change-Id: I7fc1699443bc9d8a4e7cdd2687af9af7cc03c30e --- M docs/library.rst A pySim/cat.py A pySim/tlv.py 3 files changed, 618 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/docs/library.rst b/docs/library.rst index f531ec5..6ecd55a 100644 --- a/docs/library.rst +++ b/docs/library.rst @@ -80,6 +80,11 @@ .. automodule:: pySim.construct :members: +pySim TLV utilities +------------------- + +.. automodule:: pySim.tlv + :members: pySim utility functions ----------------------- diff --git a/pySim/cat.py b/pySim/cat.py new file mode 100644 index 0000000..cd98a81 --- /dev/null +++ b/pySim/cat.py @@ -0,0 +1,222 @@ +"""Code related to the Card Application Toolkit (CAT) as described in +mainly) ETSI TS 102 223, ETSI TS 101 220 and 3GPP TS 31.111.""" + +# (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, see . + + +from pySim.tlv import * +from pySim.construct import * +from construct import * + +# Tag values as per TS 101 220 Table 7.23 + +# TS 102 223 Section 8.1 +class Address(COMPR_TLV_IE, tag=0x06): + _construct = Struct('ton_npi'/Int8ub, + 'call_number'/BcdAdapter(Bytes(this._.total_len-1))) + +# TS 102 223 Section 8.2 +class AlphaIdentifier(COMPR_TLV_IE, tag=0x05): + # FIXME: like EF.ADN + pass + +# TS 102 223 Section 8.3 +class Subaddress(COMPR_TLV_IE, tag=0x08): + pass + +# TS 102 223 Section 8.4 +class CapabilityConfigParams(COMPR_TLV_IE, tag=0x07): + pass + +# TS 31.111 Section 8.5 +class CBSPage(COMPR_TLV_IE, tag=0x0C): + pass + +# TS 102 223 Section 8.6 +class CommandDetails(COMPR_TLV_IE, tag=0x01): + _construct = Struct('command_number'/Int8ub, + 'type_of_command'/Int8ub, + 'command_qualifier'/Int8ub) + +# TS 102 223 Section 8.7 +class DeviceIdentities(COMPR_TLV_IE, tag=0x02): + DEV_IDS = bidict({ + 0x01: 'keypad', + 0x02: 'display', + 0x03: 'earpiece', + 0x10: 'addl_card_reader_0', + 0x11: 'addl_card_reader_1', + 0x12: 'addl_card_reader_2', + 0x13: 'addl_card_reader_3', + 0x14: 'addl_card_reader_4', + 0x15: 'addl_card_reader_5', + 0x16: 'addl_card_reader_6', + 0x17: 'addl_card_reader_7', + 0x21: 'channel_1', + 0x22: 'channel_2', + 0x23: 'channel_3', + 0x24: 'channel_4', + 0x25: 'channel_5', + 0x26: 'channel_6', + 0x27: 'channel_7', + 0x31: 'ecat_client_1', + 0x32: 'ecat_client_2', + 0x33: 'ecat_client_3', + 0x34: 'ecat_client_4', + 0x35: 'ecat_client_5', + 0x36: 'ecat_client_6', + 0x37: 'ecat_client_7', + 0x38: 'ecat_client_8', + 0x39: 'ecat_client_9', + 0x3a: 'ecat_client_a', + 0x3b: 'ecat_client_b', + 0x3c: 'ecat_client_c', + 0x3d: 'ecat_client_d', + 0x3e: 'ecat_client_e', + 0x3f: 'ecat_client_f', + 0x81: 'uicc', + 0x82: 'terminal', + 0x83: 'network', + }) + def _from_bytes(self, do:bytes): + return {'source_dev_id': self.DEV_IDS[do[0]], 'dest_dev_id': self.DEV_IDS[do[1]]} + + def _to_bytes(self): + src = self.DEV_IDS.inverse[self.decoded['source_dev_id']] + dst = self.DEV_IDS.inverse[self.decoded['dest_dev_id']] + return bytes([src, dst]) + +# TS 102 223 Section 8.8 +class Duration(COMPR_TLV_IE, tag=0x04): + _construct = Struct('time_unit'/Int8ub, + 'time_interval'/Int8ub) + +# TS 102 223 Section 8.9 +class Item(COMPR_TLV_IE, tag=0x0f): + _construct = Struct('identifier'/Int8ub, + 'text_string'/GsmStringAdapter(GreedyBytes)) + +# TS 102 223 Section 8.10 +class ItemIdentifier(COMPR_TLV_IE, tag=0x10): + _construct = Struct('identifier'/Int8ub) + +# TS 102 223 Section 8.11 +class ResponseLength(COMPR_TLV_IE, tag=0x11): + _construct = Struct('minimum_length'/Int8ub, + 'maximum_length'/Int8ub) + +# TS 102 223 Section 8.12 +class Result(COMPR_TLV_IE, tag=0x03): + _construct = Struct('general_result'/Int8ub, + 'additional_information'/HexAdapter(GreedyBytes)) + + + +# TS 102 223 Section 8.13 + TS 31.111 Section 8.13 +class SMS_TPDU(COMPR_TLV_IE, tag=0x0B): + pass + +# TS 102 223 Section 8.15 +class TextString(COMPR_TLV_IE, tag=0x0d): + _construct = Struct('dcs'/Int8ub, + 'text_string'/HexAdapter(GreedyBytes)) + +# TS 102 223 Section 8.16 +class Tone(COMPR_TLV_IE, tag=0x0e): + _construct = Struct('tone'/Int8ub) + +# TS 31 111 Section 8.17 +class USSDString(COMPR_TLV_IE, tag=0x0a): + _construct = Struct('dcs'/Int8ub, + 'ussd_string'/HexAdapter(GreedyBytes)) + + + +# TS 101 220 Table 7.17 +class ProactiveCommand(BER_TLV_IE, tag=0xD0): + pass + +# TS 101 220 Table 7.17 + 31.111 7.1.1.2 +class SMSPPDownload(BER_TLV_IE, tag=0xD1, + nested=[DeviceIdentities, Address, SMS_TPDU]): + pass + +# TS 101 220 Table 7.17 + 31.111 7.1.1.3 +class SMSCBDownload(BER_TLV_IE, tag=0xD2, + nested=[DeviceIdentities, CBSPage]): + pass + +class USSDDownload(BER_TLV_IE, tag=0xD9, + nested=[DeviceIdentities, USSDString]): + pass + +term_prof_bits = { + 1: 'Profile download', + 2: 'SMS-PP data doanload', + 3: 'Cell Broadcast data download', + 4: 'Menu selection', + 5: 'SMS-PP data download', + 6: 'Timer expiration', + 7: 'USSD string DO support in CC by USIM', + 8: 'Call Control by NAA', + + 9: 'Command result', + 10: 'Call Controll by NAA', + 11: 'Call Control by NAA', + 12: 'MO short message control support', + 13: 'Call Control by NAA', + 14: 'UCS2 Entry supported', + 15: 'UCS2 Display supported', + 16: 'Display Text', + + 17: 'Proactive UICC: DISPLAY TEXT', + 18: 'Proactive UICC: GET INKEY', + 19: 'Proactive UICC: GET INPUT', + 20: 'Proactive UICC: MORE TIME', + 21: 'Proactive UICC: PLAY TONE', + 22: 'Proactive UICC: POLL INTERVAL', + 23: 'Proactive UICC: POLLING OFF', + 24: 'Proactive UICC: REFRESH', + + 25: 'Proactive UICC: SELECT ITEM', + 26: 'Proactive UICC: SEND SHORT MESSAGE with 3GPP-SMS-TPDU', + 27: 'Proactive UICC: SEND SS', + 28: 'Proactive UICC: SEND USSD', + 29: 'Proactive UICC: SET UP CALL', + 30: 'Proactive UICC: SET UP MENU', + 31: 'Proactive UICC: PROVIDE LOCAL INFORMATION (MCC, MNC, LAC, Cell ID & IMEI)', + 32: 'Proactive UICC: PROVIDE LOCAL INFORMATION (NMR)', + + 33: 'Proactive UICC: SET UP EVENT LIST', + 34: 'Event: MT call', + 35: 'Event: Call connected', + 36: 'Event: Call disconnected', + 37: 'Event: Location status', + 38: 'Event: User activity', + 39: 'Event: Idle screen available', + 40: 'Event: Card reader status', + + 41: 'Event: Language selection', + 42: 'Event: Browser Termination', + 43: 'Event: Data aailable', + 44: 'Event: Channel status', + 45: 'Event: Access Technology Change', + 46: 'Event: Display parameters changed', + 47: 'Event: Local Connection', + 48: 'Event: Network Search Mode Change', + + # FIXME: remainder +} diff --git a/pySim/tlv.py b/pySim/tlv.py new file mode 100644 index 0000000..3b27b5e --- /dev/null +++ b/pySim/tlv.py @@ -0,0 +1,391 @@ +"""object-oriented TLV parser/encoder library.""" + +# (C) 2021 by Harald Welte +# All Rights Reserved +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +from typing import Optional, List, Dict, Any, Tuple +from bidict import bidict +from construct import * + +from pySim.utils import bertlv_encode_len, bertlv_parse_len, bertlv_encode_tag, bertlv_parse_tag +from pySim.utils import comprehensiontlv_encode_tag, comprehensiontlv_parse_tag +from pySim.utils import bertlv_parse_one, comprehensiontlv_parse_one +from pySim.utils import bertlv_parse_tag_raw, comprehensiontlv_parse_tag_raw + +from pySim.construct import parse_construct, LV, HexAdapter, BcdAdapter, BitsRFU, GsmStringAdapter +from pySim.exceptions import * + +import inspect +import abc + +class TlvMeta(abc.ABCMeta): + """Metaclass which we use to set some class variables at the time of defining a subclass. + This allows us to create subclasses for each TLV/IE type, where the class represents fixed + parameters like the tag/type and instances of it represent the actual TLV data.""" + def __new__(metacls, name, bases, namespace, **kwargs): + #print("TlvMeta_new_(metacls=%s, name=%s, bases=%s, namespace=%s, kwargs=%s)" % (metacls, name, bases, namespace, kwargs)) + x = super().__new__(metacls, name, bases, namespace) + # this becomes a _class_ variable, not an instance variable + x.tag = namespace.get('tag', kwargs.get('tag', None)) + x.desc = namespace.get('desc', kwargs.get('desc', None)) + nested = namespace.get('nested', kwargs.get('nested', None)) + if nested is None or inspect.isclass(nested) and issubclass(nested, TLV_IE_Collection): + # caller has specified TLV_IE_Collection sub-class, we can directly reference it + x.nested_collection_cls = nested + else: + # caller passed list of other TLV classes that might possibly appear within us, + # build a dynamically-created TLV_IE_Collection sub-class and reference it + name = 'auto_collection_%s' % (name) + cls = type(name, (TLV_IE_Collection,), {'nested': nested}) + x.nested_collection_cls = cls + return x + +class TlvCollectionMeta(abc.ABCMeta): + """Metaclass which we use to set some class variables at the time of defining a subclass. + This allows us to create subclasses for each Collection type, where the class represents fixed + parameters like the nested IE classes and instances of it represent the actual TLV data.""" + def __new__(metacls, name, bases, namespace, **kwargs): + #print("TlvCollectionMeta_new_(metacls=%s, name=%s, bases=%s, namespace=%s, kwargs=%s)" % (metacls, name, bases, namespace, kwargs)) + x = super().__new__(metacls, name, bases, namespace) + # this becomes a _class_ variable, not an instance variable + x.possible_nested = namespace.get('nested', kwargs.get('nested', None)) + return x + + +class Transcodable(abc.ABC): + _construct = None + """Base class for something that can be encoded + encoded. Decoding and Encoding happens either + * via a 'construct' object stored in a derived class' _construct variable, or + * via a 'construct' object stored in an instance _construct variable, or + * via a derived class' _{to,from}_bytes() methods.""" + def __init__(self): + self.encoded = None + self.decoded = None + self._construct = None + + def to_bytes(self) -> bytes: + """Convert from internal representation to binary bytes. Store the binary result + in the internal state and return it.""" + if self._construct: + do = self._construct.build(self.decoded, total_len=None) + elif self.__class__._construct: + do = self.__class__._construct.build(self.decoded, total_len=None) + else: + do = self._to_bytes() + self.encoded = do + return do + + # not an abstractmethod, as it is only required if no _construct exists + def _to_bytes(self): + raise NotImplementedError + + def from_bytes(self, do:bytes): + """Convert from binary bytes to internal representation. Store the decoded result + in the internal state and return it.""" + self.encoded = do + if self._construct: + self.decoded = parse_construct(self._construct, do) + elif self.__class__._construct: + self.decoded = parse_construct(self.__class__._construct, do) + else: + self.decoded = self._from_bytes(do) + return self.decoded + + # not an abstractmethod, as it is only required if no _construct exists + def _from_bytes(self, do:bytes): + raise NotImplementedError + +class IE(Transcodable, metaclass=TlvMeta): + # we specify the metaclass so any downstream subclasses will automatically use it + """Base class for various Information Elements. We understand the notion of a hierarchy + of IEs on top of the Transcodable class.""" + # this is overridden by the TlvMeta metaclass, if it is used to create subclasses + nested_collection_cls = None + tag = None + + def __init__(self, **kwargs): + super().__init__() + self.nested_collection = None + if self.nested_collection_cls: + self.nested_collection = self.nested_collection_cls() + # if we are a constructed IE, [ordered] list of actual child-IE instances + self.children = kwargs.get('children', []) + self.decoded = kwargs.get('decoded', None) + + def __repr__(self): + """Return a string representing the [nested] IE data (for print).""" + if len(self.children): + member_strs = [repr(x) for x in self.children] + return '%s(%s)' % (type(self).__name__, ','.join(member_strs)) + else: + return '%s(%s)' % (type(self).__name__, self.decoded) + + def to_dict(self): + """Return a JSON-serializable dict representing the [nested] IE data.""" + if len(self.children): + v = [x.to_dict() for x in self.children] + else: + v = self.decoded + return {type(self).__name__: v} + + def from_dict(self, decoded:dict): + """Set the IE internal decoded representation to data from the argument. + If this is a nested IE, the child IE instance list is re-created.""" + if self.nested_collection: + self.children = self.nested_collection.from_dict(decoded) + else: + self.children = [] + self.decoded = decoded + + def is_constructed(self): + """Is this IE constructed by further nested IEs?""" + if len(self.children): + return True + else: + return False + + @abc.abstractmethod + def to_ie(self) -> bytes: + """Convert the internal representation to entire IE including IE header.""" + + def to_bytes(self) -> bytes: + """Convert the internal representation _of the value part_ to binary bytes.""" + if self.is_constructed(): + # concatenate the encoded IE of all children to form the value part + out = b'' + for c in self.children: + out += c.to_ie() + return out + else: + return super().to_bytes() + + def from_bytes(self, do:bytes): + """Parse _the value part_ from binary bytes to internal representation.""" + if self.nested_collection: + self.children = self.nested_collection.from_bytes(do) + else: + self.children = [] + return super().from_bytes(do) + + +class TLV_IE(IE): + """Abstract base class for various TLV type Information Elements.""" + def __init__(self, **kwargs): + super().__init__(**kwargs) + + def _compute_tag(self) -> int: + """Compute the tag (sometimes the tag encodes part of the value).""" + return self.tag + + @classmethod + @abc.abstractmethod + def _parse_tag_raw(cls, do:bytes) -> Tuple[int, bytes]: + """Obtain the raw TAG at the start of the bytes provided by the user.""" + + @classmethod + @abc.abstractmethod + def _parse_len(cls, do:bytes) -> Tuple[int, bytes]: + """Obtain the length encoded at the start of the bytes provided by the user.""" + + @abc.abstractmethod + def _encode_tag(self) -> bytes: + """Encode the tag part. Must be provided by derived (TLV format specific) class.""" + + @abc.abstractmethod + def _encode_len(self, val:bytes) -> bytes: + """Encode the length part assuming a certain binary value. Must be provided by + derived (TLV format specific) class.""" + + def to_ie(self): + return self.to_tlv() + + def to_tlv(self): + """Convert the internal representation to binary TLV bytes.""" + val = self.to_bytes() + return self._encode_tag() + self._encode_len(val) + val + + def from_tlv(self, do:bytes): + (rawtag, remainder) = self.__class__._parse_tag_raw(do) + if rawtag: + if rawtag != self.tag: + raise ValueError("%s: Encountered tag %s doesn't match our supported tag %s" % + (self, rawtag, self.tag)) + (length, remainder) = self.__class__._parse_len(remainder) + value = remainder[:length] + remainder = remainder[length:] + else: + value = do + remainder = b'' + dec = self.from_bytes(value) + return dec, remainder + + +class BER_TLV_IE(TLV_IE): + """TLV_IE formatted as ASN.1 BER described in ITU-T X.690 8.1.2.""" + def __init__(self, **kwargs): + super().__init__(**kwargs) + + @classmethod + def _decode_tag(cls, do:bytes) -> Tuple[dict, bytes]: + return bertlv_parse_tag(do) + + @classmethod + def _parse_tag_raw(cls, do:bytes) -> Tuple[int, bytes]: + return bertlv_parse_tag_raw(do) + + @classmethod + def _parse_len(cls, do:bytes) -> Tuple[int, bytes]: + return bertlv_parse_len(do) + + def _encode_tag(self) -> bytes: + return bertlv_encode_tag(self._compute_tag()) + + def _encode_len(self, val:bytes) -> bytes: + return bertlv_encode_len(len(val)) + + +class COMPR_TLV_IE(TLV_IE): + """TLV_IE formated as COMPREHENSION-TLV as described in ETSI TS 101 220.""" + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.comprehension = False + + @classmethod + def _decode_tag(cls, do:bytes) -> Tuple[dict, bytes]: + return comprehensiontlv_parse_tag(do) + + @classmethod + def _parse_tag_raw(cls, do:bytes) -> Tuple[int, bytes]: + return comprehensiontlv_parse_tag_raw(do) + + @classmethod + def _parse_len(cls, do:bytes) -> Tuple[int, bytes]: + return bertlv_parse_len(do) + + def _encode_tag(self) -> bytes: + return comprehensiontlv_encode_tag(self._compute_tag()) + + def _encode_len(self, val:bytes) -> bytes: + return bertlv_encode_len(len(val)) + + +class TLV_IE_Collection(metaclass=TlvCollectionMeta): + # we specify the metaclass so any downstream subclasses will automatically use it + """A TLV_IE_Collection consists of multiple TLV_IE classes identified by their tags. + A given encoded DO may contain any of them in any order, and may contain multiple instances + of each DO.""" + # this is overridden by the TlvCollectionMeta metaclass, if it is used to create subclasses + possible_nested = [] + def __init__(self, desc=None, **kwargs): + self.desc = desc + #print("possible_nested: ", self.possible_nested) + self.members = kwargs.get('nested', self.possible_nested) + self.members_by_tag = {} + self.members_by_name = {} + self.members_by_tag = { m.tag:m for m in self.members } + self.members_by_name = { m.__name__:m for m in self.members } + # if we are a constructed IE, [ordered] list of actual child-IE instances + self.children = kwargs.get('children', []) + self.encoded = None + + def __str__(self): + member_strs = [str(x) for x in self.members] + return '%s(%s)' % (type(self).__name__, ','.join(member_strs)) + + def __repr__(self): + member_strs = [repr(x) for x in self.members] + return '%s(%s)' % (self.__class__, ','.join(member_strs)) + + def __add__(self, other): + """Extending TLV_IE_Collections with other TLV_IE_Collections or TLV_IEs.""" + if isinstance(other, TLV_IE_Collection): + # adding one collection to another + members = self.members + other.members + return TLV_IE_Collection(self.desc, nested=members) + elif inspect.isclass(other) and issubclass(other, TLV_IE): + # adding a member to a collection + return TLV_IE_Collection(self.desc, nested = self.members + [other]) + else: + raise TypeError + + def from_bytes(self, binary:bytes) -> List[TLV_IE]: + """Create a list of TLV_IEs from the collection based on binary input data. + Args: + binary : binary bytes of encoded data + Returns: + list of instances of TLV_IE sub-classes containing parsed data + """ + self.encoded = binary + # list of instances of TLV_IE collection member classes appearing in the data + res = [] + remainder = binary + first = next(iter(self.members_by_tag.values())) + # iterate until no binary trailer is left + while len(remainder): + # obtain the tag at the start of the remainder + tag, r = first._parse_tag_raw(remainder) + if tag in self.members_by_tag: + cls = self.members_by_tag[tag] + # create an instance and parse accordingly + inst = cls() + dec, remainder = inst.from_tlv(remainder) + res.append(inst) + else: + # unknown tag; create the related class on-the-fly using the same base class + name = 'unknown_%s_%X' % (first.__base__.__name__, tag) + cls = type(name, (first.__base__,), {'tag':tag, 'possible_nested':[], + 'nested_collection_cls':None}) + cls._from_bytes = lambda s, a : {'raw': a.hex()} + cls._to_bytes = lambda s: bytes.fromhex(s.decoded['raw']) + # create an instance and parse accordingly + inst = cls() + dec, remainder = inst.from_tlv(remainder) + res.append(inst) + self.children = res + return res + + def from_dict(self, decoded:List[dict]) -> List[TLV_IE]: + """Create a list of TLV_IE instances from the collection based on an array + of dicts, where they key indicates the name of the TLV_IE subclass to use.""" + # list of instances of TLV_IE collection member classes appearing in the data + res = [] + for i in decoded: + for k in i.keys(): + if k in self.members_by_name: + cls = self.members_by_name[k] + inst = cls(decoded=i[k]) + res.append(inst) + else: + raise ValueError('%s: Unknown TLV Class %s in %s; expected %s' % + (self, i[0], decoded, self.members_by_name.keys())) + self.children = res + return res + + def to_dict(self): + return [x.to_dict() for x in self.children] + + def to_bytes(self): + out = b'' + for c in self.children: + out += c.to_tlv() + return out + + def from_tlv(self, do): + return self.from_bytes(do) + + def to_tlv(self): + return self.to_bytes() -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7fc1699443bc9d8a4e7cdd2687af9af7cc03c30e Gerrit-Change-Number: 24451 Gerrit-PatchSet: 5 Gerrit-Owner: laforge 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 Sat Jun 5 12:25:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 12:25:46 +0000 Subject: Change in pysim[master]: filesystem: Introduce support for TLV parser In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24454 ) Change subject: filesystem: Introduce support for TLV parser ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I59f456b4223ec88081e91cee168b654c69bcb5f4 Gerrit-Change-Number: 24454 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Jun 2021 12:25: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 Jun 5 12:25:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 12:25:51 +0000 Subject: Change in pysim[master]: filesystem: Introduce support for TLV parser In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24454 ) Change subject: filesystem: Introduce support for TLV parser ...................................................................... filesystem: Introduce support for TLV parser This adds an easy way for files to make use of the pySim.tlv parser. All a file has to do is to specify a _tlv member which points to either a TLV_IE or a TLV_IE_Collection instance. Change-Id: I59f456b4223ec88081e91cee168b654c69bcb5f4 --- M pySim/filesystem.py M pySim/tlv.py 2 files changed, 40 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 9a2f4e1..170429b 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -468,6 +468,7 @@ """ super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, parent=parent) self._construct = None + self._tlv = None self.size = size self.shell_commands = [self.ShellCommands()] @@ -491,6 +492,9 @@ return method(b2h(raw_bin_data)) if self._construct: return parse_construct(self._construct, raw_bin_data) + elif self._tlv: + self._tlv.from_tlv(raw_bin_data) + return self._tlv.to_dict() return {'raw': raw_bin_data.hex()} def decode_hex(self, raw_hex_data:str) -> dict: @@ -514,6 +518,9 @@ return method(raw_bin_data) if self._construct: return parse_construct(self._construct, raw_bin_data) + elif self._tlv: + self._tlv.from_tlv(raw_bin_data) + return self._tlv.to_dict() return {'raw': raw_bin_data.hex()} def encode_bin(self, abstract_data:dict) -> bytearray: @@ -536,6 +543,9 @@ return h2b(method(abstract_data)) if self._construct: return self._construct.build(abstract_data) + elif self._tlv: + self._tlv.from_dict(abstract_data) + return self._tlv.to_tlv() raise NotImplementedError def encode_hex(self, abstract_data:dict) -> str: @@ -559,6 +569,9 @@ return b2h(raw_bin_data) if self._construct: return b2h(self._construct.build(abstract_data)) + elif self._tlv: + self._tlv.from_dict(abstract_data) + return b2h(self._tlv.to_tlv()) raise NotImplementedError @@ -691,6 +704,7 @@ self.rec_len = rec_len self.shell_commands = [self.ShellCommands()] self._construct = None + self._tlv = None def decode_record_hex(self, raw_hex_data:str) -> dict: """Decode raw (hex string) data into abstract representation. @@ -713,6 +727,9 @@ return method(raw_bin_data) if self._construct: return parse_construct(self._construct, raw_bin_data) + elif self._tlv: + self._tlv.from_tlv(raw_bin_data) + return self._tlv.to_dict() return {'raw': raw_bin_data.hex()} def decode_record_bin(self, raw_bin_data:bytearray) -> dict: @@ -736,6 +753,9 @@ return method(raw_hex_data) if self._construct: return parse_construct(self._construct, raw_bin_data) + elif self._tlv: + self._tlv.from_tlv(raw_bin_data) + return self._tlv.to_dict() return {'raw': raw_hex_data} def encode_record_hex(self, abstract_data:dict) -> str: @@ -759,6 +779,9 @@ return b2h(raw_bin_data) if self._construct: return b2h(self._construct.build(abstract_data)) + elif self._tlv: + self._tlv.from_dict(abstract_data) + return b2h(self._tlv.to_tlv()) raise NotImplementedError def encode_record_bin(self, abstract_data:dict) -> bytearray: @@ -781,6 +804,9 @@ return h2b(method(abstract_data)) if self._construct: return self._construct.build(abstract_data) + elif self._tlv: + self._tlv.from_dict(abstract_data) + return self._tlv.to_tlv() raise NotImplementedError class CyclicEF(LinFixedEF): @@ -835,6 +861,9 @@ return method(raw_bin_data) if self._construct: return parse_construct(self._construct, raw_bin_data) + elif self._tlv: + self._tlv.from_tlv(raw_bin_data) + return self._tlv.to_dict() return {'raw': raw_hex_data} def decode_record_bin(self, raw_bin_data:bytearray) -> dict: @@ -858,6 +887,9 @@ return method(raw_hex_data) if self._construct: return parse_construct(self._construct, raw_bin_data) + elif self._tlv: + self._tlv.from_tlv(raw_bin_data) + return self._tlv.to_dict() return {'raw': raw_hex_data} def encode_record_hex(self, abstract_data:dict) -> str: @@ -880,6 +912,9 @@ return b2h(method(abstract_data)) if self._construct: return b2h(filter_dict(self._construct.build(abstract_data))) + elif self._tlv: + self._tlv.from_dict(abstract_data) + return b2h(self._tlv.to_tlv()) raise NotImplementedError def encode_record_bin(self, abstract_data:dict) -> bytearray: @@ -902,6 +937,9 @@ return h2b(method(abstract_data)) if self._construct: return filter_dict(self._construct.build(abstract_data)) + elif self._tlv: + self._tlv.from_dict(abstract_data) + return self._tlv.to_tlv() raise NotImplementedError def _decode_bin(self, raw_bin_data:bytearray): diff --git a/pySim/tlv.py b/pySim/tlv.py index 3b27b5e..05f824e 100644 --- a/pySim/tlv.py +++ b/pySim/tlv.py @@ -338,6 +338,8 @@ while len(remainder): # obtain the tag at the start of the remainder tag, r = first._parse_tag_raw(remainder) + if tag == None: + return res if tag in self.members_by_tag: cls = self.members_by_tag[tag] # create an instance and parse accordingly -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I59f456b4223ec88081e91cee168b654c69bcb5f4 Gerrit-Change-Number: 24454 Gerrit-PatchSet: 5 Gerrit-Owner: laforge 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 Sat Jun 5 12:27:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 12:27:16 +0000 Subject: Change in pysim[master]: ts_31_102: Start using pySim.tlv to implement more DF.5GS files In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24455 to look at the new patch set (#7). Change subject: ts_31_102: Start using pySim.tlv to implement more DF.5GS files ...................................................................... ts_31_102: Start using pySim.tlv to implement more DF.5GS files Change-Id: I8ef2d8c24530d13929282e1a1d2138d319b894c6 --- M pySim/ts_31_102.py 1 file changed, 77 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/55/24455/7 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8ef2d8c24530d13929282e1a1d2138d319b894c6 Gerrit-Change-Number: 24455 Gerrit-PatchSet: 7 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 12:27:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 12:27:16 +0000 Subject: Change in pysim[master]: ts_31_102: Fully support USIM EF.AD References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24570 ) Change subject: ts_31_102: Fully support USIM EF.AD ...................................................................... ts_31_102: Fully support USIM EF.AD The USIM EF.AD has quite some more bits, it should have a separate implementation and not reuse te DF.GSM/EF.AD implementation. Change-Id: Iaf195cb63d5d12fc906a7e7cd85e3fd44589a41e --- M pySim/ts_31_102.py 1 file changed, 26 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/70/24570/1 diff --git a/pySim/ts_31_102.py b/pySim/ts_31_102.py index d6f5dc0..075d6bf 100644 --- a/pySim/ts_31_102.py +++ b/pySim/ts_31_102.py @@ -276,13 +276,15 @@ # ADF.USIM ###################################################################### +import enum from struct import unpack, pack from construct import * +from construct import Optional as COptional from pySim.construct import * from pySim.filesystem import * from pySim.tlv import * from pySim.ts_102_221 import EF_ARR -from pySim.ts_51_011 import EF_IMSI, EF_xPLMNwAcT, EF_SPN, EF_CBMI, EF_ACC, EF_PLMNsel, EF_AD +from pySim.ts_51_011 import EF_IMSI, EF_xPLMNwAcT, EF_SPN, EF_CBMI, EF_ACC, EF_PLMNsel from pySim.ts_51_011 import EF_CBMID, EF_CBMIR, EF_ADN, EF_SMS, EF_MSISDN, EF_SMSP, EF_SMSS from pySim.ts_51_011 import EF_SMSR, EF_DCK, EF_EXT, EF_CNL, EF_OPL, EF_MBI, EF_MWIS from pySim.ts_51_011 import EF_MMSN, EF_MMSICP, EF_MMSUP, EF_MMSUCP, EF_VGCS, EF_VGCSS, EF_NIA @@ -555,6 +557,28 @@ super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) self._construct = Struct('tmsi'/HexAdapter(Bytes(4)), 'lai'/HexAdapter(Bytes(5)), 'rfu'/Int8ub, 'lu_status'/Int8ub) +# TS 31.102 Section 4.2.18 +class EF_AD(TransparentEF): + class OP_MODE(enum.IntEnum): + normal = 0x00 + type_approval = 0x80 + normal_and_specific_facilities = 0x01 + type_approval_and_specific_facilities = 0x81 + maintenance_off_line = 0x02 + cell_test = 0x04 + + def __init__(self, fid='6fad', sfid=0x03, name='EF.AD', desc='Administrative Data', size={4,6}): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) + self._construct = BitStruct( + # Byte 1 + 'ms_operation_mode'/Bytewise(Enum(Byte, EF_AD.OP_MODE)), + # Byte 2 + 3 + 'additional_info'/Bytewise(FlagsEnum(Int16ub, ciphering_indicator=1, csg_display_control=2, + prose_services=4, extended_drx=8)), + 'rfu'/BitsRFU(4), + 'mnc_len'/BitsInteger(4), + 'extensions'/COptional(Bytewise(GreedyBytesRFU)) + ) # TS 31.102 Section 4.2.23 class EF_PSLOCI(TransparentEF): @@ -817,7 +841,7 @@ EF_ACC(sfid=0x06), EF_PLMNsel('6f7b', 0x0d, 'EF.FPLMN', 'Forbidden PLMNs', size={12,None}), EF_LOCI(), - EF_AD(sfid=0x03), + EF_AD(), EF_CBMID(sfid=0x0e), EF_ECC(), EF_CBMIR(), -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24570 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iaf195cb63d5d12fc906a7e7cd85e3fd44589a41e Gerrit-Change-Number: 24570 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 12:28:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 12:28:31 +0000 Subject: Change in osmo-bts[2021q1]: trx_sched_is_sacch_fn(): fix handling of dynamic timeslots In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24568 ) Change subject: trx_sched_is_sacch_fn(): fix handling of dynamic timeslots ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24568 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: 2021q1 Gerrit-Change-Id: Ia5e337e897b595e7de6e504664c969b583cc02a1 Gerrit-Change-Number: 24568 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 05 Jun 2021 12:28:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 13:00:32 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 5 Jun 2021 13:00:32 +0000 Subject: Change in osmo-bts[master]: [VAMOS] scheduler: drop meaningless channel number checks In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24486 ) Change subject: [VAMOS] scheduler: drop meaningless channel number checks ...................................................................... [VAMOS] scheduler: drop meaningless channel number checks Change-Id: Icc57e58feece51c2d1c421454352bc821e338973 --- M src/common/scheduler.c 1 file changed, 0 insertions(+), 10 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/common/scheduler.c b/src/common/scheduler.c index 75cf6bd..6472e89 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -874,11 +874,6 @@ chan_nr = trx_chan_desc[br->chan].chan_nr | br->tn; link_id = trx_chan_desc[br->chan].link_id; - if (!chan_nr) { - LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "RTS func with non-existing chan_nr 0x%02x\n", chan_nr); - return -ENODEV; - } - /* For handover detection, there are cases where the SACCH should remain inactive until the first RACH * indicating the TA is received. */ if (L1SAP_IS_LINK_SACCH(link_id) @@ -914,11 +909,6 @@ chan_nr = trx_chan_desc[br->chan].chan_nr | br->tn; link_id = trx_chan_desc[br->chan].link_id; - if (!chan_nr) { - LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "RTS func with non-existing chan_nr 0x%02x\n", chan_nr); - return -ENODEV; - } - LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "TCH RTS.ind: chan_nr=0x%02x\n", chan_nr); /* only send, if FACCH is selected */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icc57e58feece51c2d1c421454352bc821e338973 Gerrit-Change-Number: 24486 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 14:35:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 14:35:08 +0000 Subject: Change in osmo-bsc[master]: handover: apply meas report BS Power to RXLEV, fix ho oscillation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24425 ) Change subject: handover: apply meas report BS Power to RXLEV, fix ho oscillation ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifcf59964b5e2d550d79e4ba14d90962808f79dae Gerrit-Change-Number: 24425 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 05 Jun 2021 14:35:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 14:35:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 14:35:17 +0000 Subject: Change in osmo-bsc[master]: handover: apply meas report BS Power to RXLEV, fix ho oscillation In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24425 ) Change subject: handover: apply meas report BS Power to RXLEV, fix ho oscillation ...................................................................... handover: apply meas report BS Power to RXLEV, fix ho oscillation This fixes handover oscillation in the presence of power reduction on the downlink: apply the reduced power to the cell's RXLEV in order to not rate the current cell as weaker than it actually is. Related: SYS#5339 Change-Id: Ifcf59964b5e2d550d79e4ba14d90962808f79dae --- M src/osmo-bsc/meas_rep.c M tests/handover/test_bs_power.ho_vty 2 files changed, 9 insertions(+), 10 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/meas_rep.c b/src/osmo-bsc/meas_rep.c index 73d9a1f..9b2fca0 100644 --- a/src/osmo-bsc/meas_rep.c +++ b/src/osmo-bsc/meas_rep.c @@ -31,11 +31,15 @@ case MEAS_REP_DL_RXLEV_FULL: if (!(rep->flags & MEAS_REP_F_DL_VALID)) return -EINVAL; - return rep->dl.full.rx_lev; + /* Add BS Power value to rxlev: improve the RXLEV value by the amount of power that the BTS is reducing + * transmission. Note that bs_power is coded as dB/2, a positive value indicating the amount of power reduction + * on the downlink; rxlev is coded in dB, where a higher number means stronger signal. */ + return rep->dl.full.rx_lev + (rep->bs_power * 2); case MEAS_REP_DL_RXLEV_SUB: if (!(rep->flags & MEAS_REP_F_DL_VALID)) return -EINVAL; - return rep->dl.sub.rx_lev; + /* Apply BS Power as explained above */ + return rep->dl.sub.rx_lev + (rep->bs_power * 2); case MEAS_REP_DL_RXQUAL_FULL: if (!(rep->flags & MEAS_REP_F_DL_VALID)) return -EINVAL; diff --git a/tests/handover/test_bs_power.ho_vty b/tests/handover/test_bs_power.ho_vty index 2c68d57..5d8c278 100644 --- a/tests/handover/test_bs_power.ho_vty +++ b/tests/handover/test_bs_power.ho_vty @@ -6,11 +6,6 @@ set-ts-use trx 0 0 states * TCH/F - - - - - * meas-rep repeat 10 bspower 20 lchan 0 0 1 0 rxlev 20 rxqual 0 ta 0 neighbors 30 -# FAIL: there should be no handover, because the bspower reduction of 20 with an rxlev of 20 (= 40) is stronger than the -# neighbor at 30. But since osmo-bsc fails to take the BS Power into account, it hands over to the neighbor. -#expect-no-chan -expect-ho from lchan 0 0 1 0 to lchan 1 0 1 0 - -# When the neighbor then reports the stronger original cell, we get handover oscillation -meas-rep repeat 10 bspower 0 lchan 1 0 1 0 rxlev 30 rxqual 0 ta 0 neighbors 40 -expect-ho from lchan 1 0 1 0 to lchan 0 0 1 0 +# there should be no handover, because the bspower reduction of 20 with an rxlev of 20 (= 40) is stronger than the +# neighbor at 30. +expect-no-chan -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifcf59964b5e2d550d79e4ba14d90962808f79dae Gerrit-Change-Number: 24425 Gerrit-PatchSet: 7 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 14:35:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 14:35:17 +0000 Subject: Change in osmo-bsc[master]: change bs_power to bs_power_db In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24421 ) Change subject: change bs_power to bs_power_db ...................................................................... change bs_power to bs_power_db The RSL BS Power IE in measurement reports is encoded as dB / 2. Instead of using this coding all over the code, converting to dB and often printing confusing values in logging etc, store as plain dB. The conversions should be at the points where a "weird" format is defined: the RSL encoding needs divided-by-two, so apply it there. The meas_vis is (now unfortunately) defined as div-two, and so on. But internally we now just store the plain dB value and calculate with it without duplicating the wire decoding step everywhere. Rename to bs_power_db to clarify the unit of the stored value. Change-Id: I229db1d6bcf532af95aff56b2ad18b5ed9d81616 --- M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/meas_rep.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/meas_rep.c M src/utils/meas_db.c M src/utils/meas_json.c 8 files changed, 21 insertions(+), 18 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 1540864..2515d7e 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -686,7 +686,7 @@ /* The logical channel type */ enum gsm_chan_t type; /* Power levels for MS and BTS */ - uint8_t bs_power; + uint8_t bs_power_db; uint8_t ms_power; /* Encryption information */ struct gsm_encr encr; diff --git a/include/osmocom/bsc/meas_rep.h b/include/osmocom/bsc/meas_rep.h index b0c03f0..54e0519 100644 --- a/include/osmocom/bsc/meas_rep.h +++ b/include/osmocom/bsc/meas_rep.h @@ -38,7 +38,7 @@ struct gsm_meas_rep_unidir ul; struct gsm_meas_rep_unidir dl; - uint8_t bs_power; + uint8_t bs_power_db; /* according to 3GPP TS 48.058 ? MS Timing Offset [-63; 192] */ int16_t ms_timing_offset; struct { diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 00bb5dc..8e64ce5 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -300,6 +300,7 @@ struct abis_rsl_dchan_hdr *dh; struct msgb *msg; uint8_t chan_nr = gsm_lchan2chan_nr(lchan); + uint8_t bs_power_enc; db = abs(db); if (db > 30) @@ -307,15 +308,15 @@ msg = rsl_msgb_alloc(); - lchan->bs_power = db/2; + bs_power_enc = db / 2; if (fpc) - lchan->bs_power |= 0x10; + bs_power_enc |= 0x10; dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); init_dchan_hdr(dh, RSL_MT_BS_POWER_CONTROL); dh->chan_nr = chan_nr; - msgb_tv_put(msg, RSL_IE_BS_POWER, lchan->bs_power); + msgb_tv_put(msg, RSL_IE_BS_POWER, bs_power_enc); /* BS Power Control Parameters (if supported by BTS model) */ add_power_control_params(msg, RSL_IE_BS_POWER_PARAM, lchan); @@ -579,7 +580,7 @@ } if (bts->bs_power_ctrl.mode != GSM_PWR_CTRL_MODE_NONE) - msgb_tv_put(msg, RSL_IE_BS_POWER, lchan->bs_power); + msgb_tv_put(msg, RSL_IE_BS_POWER, lchan->bs_power_db / 2); if (bts->ms_power_ctrl.mode != GSM_PWR_CTRL_MODE_NONE) msgb_tv_put(msg, RSL_IE_MS_POWER, lchan->ms_power); @@ -1044,7 +1045,7 @@ DEBUGPC(DMEAS, "DTXd "); print_meas_rep_uni(&mr->ul, "ul"); - DEBUGPC(DMEAS, "BS_POWER=%d ", mr->bs_power); + DEBUGPC(DMEAS, "BS_POWER=%ddB ", mr->bs_power_db); if (mr->flags & MEAS_REP_F_MS_TO) DEBUGPC(DMEAS, "MS_TO=%d ", mr->ms_timing_offset); @@ -1099,6 +1100,7 @@ uint8_t len; const uint8_t *val; int rc; + uint8_t bs_power_enc; if (!lchan_may_receive_data(msg->lchan)) { LOG_LCHAN(msg->lchan, LOGL_DEBUG, "MEAS RES for inactive channel\n"); @@ -1132,7 +1134,8 @@ mr->ul.sub.rx_qual = val[2] & 0x7; } - mr->bs_power = *TLVP_VAL(&tp, RSL_IE_BS_POWER); + bs_power_enc = *TLVP_VAL(&tp, RSL_IE_BS_POWER); + mr->bs_power_db = (bs_power_enc & 0x0f) * 2; /* Optional Parts */ if (TLVP_PRESENT(&tp, RSL_IE_MS_TIMING_OFFSET)) { diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 1db284a..724a3b0 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1640,7 +1640,7 @@ 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*2, + - lchan->bs_power_db, ms_pwr_dbm(lchan->ts->trx->bts->band, lchan->ms_power), VTY_NEWLINE); vty_out(vty, " Channel Mode / Codec: %s%s", diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 48cfbdf..17e0c89 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -614,18 +614,18 @@ if (old_lchan && old_lchan->ts->trx->bts == bts) { ms_power_dbm = ms_pwr_dbm(bts->band, old_lchan->ms_power); lchan_update_ms_power_ctrl_level(lchan, ms_power_dbm >= 0 ? ms_power_dbm : bts->ms_max_power); - lchan->bs_power = old_lchan->bs_power; + lchan->bs_power_db = old_lchan->bs_power_db; } else { lchan_update_ms_power_ctrl_level(lchan, bts->ms_max_power); /* Upon last entering the UNUSED state, from lchan_reset(): - * - bs_power is still zero, 0dB reduction, output power = Pn. + * - bs_power_db is still zero, 0dB reduction, output power = Pn. * - TA is still zero, to be determined by RACH. */ /* Default BS Power reduction value (in 2 dB steps) */ if (bts->bs_power_ctrl.mode == GSM_PWR_CTRL_MODE_DYN_BTS) - lchan->bs_power = bts->bs_power_ctrl.bs_power_max_db / 2; + lchan->bs_power_db = bts->bs_power_ctrl.bs_power_max_db; else - lchan->bs_power = bts->bs_power_ctrl.bs_power_val_db / 2; + lchan->bs_power_db = bts->bs_power_ctrl.bs_power_val_db; } if (gsm48_chan_mode_to_non_vamos(info->ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { diff --git a/src/osmo-bsc/meas_rep.c b/src/osmo-bsc/meas_rep.c index 9b2fca0..32c689d 100644 --- a/src/osmo-bsc/meas_rep.c +++ b/src/osmo-bsc/meas_rep.c @@ -32,14 +32,14 @@ if (!(rep->flags & MEAS_REP_F_DL_VALID)) return -EINVAL; /* Add BS Power value to rxlev: improve the RXLEV value by the amount of power that the BTS is reducing - * transmission. Note that bs_power is coded as dB/2, a positive value indicating the amount of power reduction + * transmission. Note that bs_power is coded as dB, a positive value indicating the amount of power reduction * on the downlink; rxlev is coded in dB, where a higher number means stronger signal. */ - return rep->dl.full.rx_lev + (rep->bs_power * 2); + return rep->dl.full.rx_lev + rep->bs_power_db; case MEAS_REP_DL_RXLEV_SUB: if (!(rep->flags & MEAS_REP_F_DL_VALID)) return -EINVAL; /* Apply BS Power as explained above */ - return rep->dl.sub.rx_lev + (rep->bs_power * 2); + return rep->dl.sub.rx_lev + rep->bs_power_db; case MEAS_REP_DL_RXQUAL_FULL: if (!(rep->flags & MEAS_REP_F_DL_VALID)) return -EINVAL; diff --git a/src/utils/meas_db.c b/src/utils/meas_db.c index 7233dcd..4fc2916 100644 --- a/src/utils/meas_db.c +++ b/src/utils/meas_db.c @@ -111,7 +111,7 @@ SCK_OK(st->db, sqlite3_bind_int(st->stmt_ins_mr, 5, mr->nr)); - SCK_OK(st->db, sqlite3_bind_int(st->stmt_ins_mr, 6, mr->bs_power)); + SCK_OK(st->db, sqlite3_bind_int(st->stmt_ins_mr, 6, mr->bs_power_db / 2)); if (mr->flags & MEAS_REP_F_MS_TO) SCK_OK(st->db, sqlite3_bind_int(st->stmt_ins_mr, 7, mr->ms_timing_offset)); diff --git a/src/utils/meas_json.c b/src/utils/meas_json.c index b44a300..82b1e57 100644 --- a/src/utils/meas_json.c +++ b/src/utils/meas_json.c @@ -62,7 +62,7 @@ printf(", \"UL_MEAS\":{"); print_meas_rep_uni_json(&mr->ul); printf("}"); - printf(", \"BS_POWER\":%d", mr->bs_power); + printf(", \"BS_POWER\":%d", mr->bs_power_db / 2); if (mr->flags & MEAS_REP_F_MS_TO) printf(", \"MS_TO\":%d", mr->ms_timing_offset); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I229db1d6bcf532af95aff56b2ad18b5ed9d81616 Gerrit-Change-Number: 24421 Gerrit-PatchSet: 9 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 14:35:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 14:35:17 +0000 Subject: Change in osmo-bsc[master]: meas rep logging: replace a dozen DEBUGPC() with one DEBUGP() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24426 ) Change subject: meas rep logging: replace a dozen DEBUGPC() with one DEBUGP() ...................................................................... meas rep logging: replace a dozen DEBUGPC() with one DEBUGP() Instead of calling DEBUGPC() over and over, compose a string using osmo_strbuf and then log it once. Rationale: a) DEBUGPC() is a bad idea for gsmtap_log, because each DEBUGPC() dispatches a separate gsmtap_log packet, fragmenting the actual log line in wireshark. b) DEBUGPC() is a bad idea because it checks the logging categories for every DEBUGPC() invocation. c) using a separate function with osmo_strbuf and OTC_SELECT, we can actually skip the entire string composition in case the DMEAS logging category is disabled, with a single logging category check. Change-Id: I4cb607ff43a1cb30408427d99d97c103776b6e69 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 45 insertions(+), 24 deletions(-) Approvals: laforge: Looks good to me, approved neels: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 8e64ce5..cc13ac6 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1014,59 +1014,80 @@ return 0; } -static void print_meas_rep_uni(struct gsm_meas_rep_unidir *mru, - const char *prefix) +static void print_meas_rep_uni(struct osmo_strbuf *sb, struct gsm_meas_rep_unidir *mru, const char *prefix) { - DEBUGPC(DMEAS, "RXL-FULL-%s=%3ddBm RXL-SUB-%s=%3ddBm ", - prefix, rxlev2dbm(mru->full.rx_lev), - prefix, rxlev2dbm(mru->sub.rx_lev)); - DEBUGPC(DMEAS, "RXQ-FULL-%s=%d RXQ-SUB-%s=%d ", - prefix, mru->full.rx_qual, prefix, mru->sub.rx_qual); + OSMO_STRBUF_PRINTF(*sb, "RXL-FULL-%s=%3ddBm RXL-SUB-%s=%3ddBm ", + prefix, rxlev2dbm(mru->full.rx_lev), + prefix, rxlev2dbm(mru->sub.rx_lev)); + OSMO_STRBUF_PRINTF(*sb, "RXQ-FULL-%s=%d RXQ-SUB-%s=%d ", + prefix, mru->full.rx_qual, prefix, mru->sub.rx_qual); } -static void print_meas_rep(struct gsm_lchan *lchan, struct gsm_meas_rep *mr) +static int print_meas_rep_buf(char *buf, size_t len, struct gsm_lchan *lchan, struct gsm_meas_rep *mr) { - int i; const char *name = ""; struct bsc_subscr *bsub = NULL; + struct osmo_strbuf sb = { .buf = buf, .len = len }; if (lchan && lchan->conn) { bsub = lchan->conn->bsub; if (bsub) { - log_set_context(LOG_CTX_BSC_SUBSCR, bsub); name = bsc_subscr_name(bsub); } else name = lchan->name; } - DEBUGP(DMEAS, "[%s] MEASUREMENT RESULT NR=%d ", name, mr->nr); + OSMO_STRBUF_PRINTF(sb, "[%s] MEASUREMENT RESULT NR=%d ", name, mr->nr); if (mr->flags & MEAS_REP_F_DL_DTX) - DEBUGPC(DMEAS, "DTXd "); + OSMO_STRBUF_PRINTF(sb, "DTXd "); - print_meas_rep_uni(&mr->ul, "ul"); - DEBUGPC(DMEAS, "BS_POWER=%ddB ", mr->bs_power_db); + print_meas_rep_uni(&sb, &mr->ul, "ul"); + OSMO_STRBUF_PRINTF(sb, "BS_POWER=%ddB ", mr->bs_power_db); if (mr->flags & MEAS_REP_F_MS_TO) - DEBUGPC(DMEAS, "MS_TO=%d ", mr->ms_timing_offset); + OSMO_STRBUF_PRINTF(sb, "MS_TO=%d ", mr->ms_timing_offset); if (mr->flags & MEAS_REP_F_MS_L1) { - DEBUGPC(DMEAS, "L1_MS_PWR=%3ddBm ", mr->ms_l1.pwr); - DEBUGPC(DMEAS, "L1_FPC=%u ", - mr->flags & MEAS_REP_F_FPC ? 1 : 0); - DEBUGPC(DMEAS, "L1_TA=%u ", mr->ms_l1.ta); + OSMO_STRBUF_PRINTF(sb, "L1_MS_PWR=%3ddBm ", mr->ms_l1.pwr); + OSMO_STRBUF_PRINTF(sb, "L1_FPC=%u ", mr->flags & MEAS_REP_F_FPC ? 1 : 0); + OSMO_STRBUF_PRINTF(sb, "L1_TA=%u ", mr->ms_l1.ta); } if (mr->flags & MEAS_REP_F_UL_DTX) - DEBUGPC(DMEAS, "DTXu "); + OSMO_STRBUF_PRINTF(sb, "DTXu "); if (mr->flags & MEAS_REP_F_BA1) - DEBUGPC(DMEAS, "BA1 "); + OSMO_STRBUF_PRINTF(sb, "BA1 "); if (!(mr->flags & MEAS_REP_F_DL_VALID)) - DEBUGPC(DMEAS, "NOT VALID "); + OSMO_STRBUF_PRINTF(sb, "NOT VALID "); else - print_meas_rep_uni(&mr->dl, "dl"); + print_meas_rep_uni(&sb, &mr->dl, "dl"); - DEBUGPC(DMEAS, "NUM_NEIGH=%u\n", mr->num_cell); + OSMO_STRBUF_PRINTF(sb, "NUM_NEIGH=%u", mr->num_cell); + + return sb.chars_needed; +} + +static char *print_meas_rep_c(void *ctx, struct gsm_lchan *lchan, struct gsm_meas_rep *mr) +{ + /* A naive count of required characters gets me to ~200, so 256 should be safe to get a large enough buffer on + * the first time. */ + OSMO_NAME_C_IMPL(ctx, 256, "ERROR", print_meas_rep_buf, lchan, mr) +} + +static void print_meas_rep(struct gsm_lchan *lchan, struct gsm_meas_rep *mr) +{ + int i; + struct bsc_subscr *bsub = NULL; + + if (lchan && lchan->conn) { + bsub = lchan->conn->bsub; + if (bsub) + log_set_context(LOG_CTX_BSC_SUBSCR, bsub); + } + + DEBUGP(DMEAS, "%s\n", print_meas_rep_c(OTC_SELECT, lchan, mr)); + if (mr->num_cell == 7) return; for (i = 0; i < mr->num_cell; i++) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4cb607ff43a1cb30408427d99d97c103776b6e69 Gerrit-Change-Number: 24426 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 Sat Jun 5 14:35:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 14:35:18 +0000 Subject: Change in osmo-bsc[master]: meas rep logging: use log_check_level() to skip a logging loop In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24427 ) Change subject: meas rep logging: use log_check_level() to skip a logging loop ...................................................................... meas rep logging: use log_check_level() to skip a logging loop A side effect is that the final cleanup part of that function is now always called, also when num_cell == 7. (Whether we should really clear that logging context at that place is a different question, out of scope here.) Change-Id: I71a402a0940857bbedbaf25d293429934706a83c --- M src/osmo-bsc/abis_rsl.c 1 file changed, 7 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index cc13ac6..fc8e217 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1088,12 +1088,13 @@ DEBUGP(DMEAS, "%s\n", print_meas_rep_c(OTC_SELECT, lchan, mr)); - if (mr->num_cell == 7) - return; - for (i = 0; i < mr->num_cell; i++) { - struct gsm_meas_rep_cell *mrc = &mr->cell[i]; - DEBUGP(DMEAS, "IDX=%u ARFCN=%u BSIC=%u => %d dBm\n", - mrc->neigh_idx, mrc->arfcn, mrc->bsic, rxlev2dbm(mrc->rxlev)); + if (mr->num_cell != 7 + && log_check_level(DMEAS, LOGL_DEBUG)) { + for (i = 0; i < mr->num_cell; i++) { + struct gsm_meas_rep_cell *mrc = &mr->cell[i]; + DEBUGP(DMEAS, "IDX=%u ARFCN=%u BSIC=%u => %d dBm\n", + mrc->neigh_idx, mrc->arfcn, mrc->bsic, rxlev2dbm(mrc->rxlev)); + } } if (bsub) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71a402a0940857bbedbaf25d293429934706a83c Gerrit-Change-Number: 24427 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 14:37:00 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 14:37:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MSC_ConnectionHandler: fix race in f_create_chan_and_exp() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24562 ) Change subject: MSC_ConnectionHandler: fix race in f_create_chan_and_exp() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24562 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1d4af737dcc0f9c9fa6cdaff3a92813d532e730c Gerrit-Change-Number: 24562 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 05 Jun 2021 14:37:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 14:37:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 14:37:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: fix osmo-stp.cfg: missing smlc routing In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24563 ) Change subject: bsc: fix osmo-stp.cfg: missing smlc routing ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I274515e7e9205c895cd250abed7361aef5a33f56 Gerrit-Change-Number: 24563 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 05 Jun 2021 14:37: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 Jun 5 14:49:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 14:49:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: test TSC in various messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24564 ) Change subject: bsc: test TSC in various messages ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id67a949e0f61ec8123976eb8d336f04510c55c01 Gerrit-Change-Number: 24564 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 05 Jun 2021 14:49:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 14:50:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 14:50:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: adjust to changed 'vamos modify' vty command syntax In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24499 ) Change subject: bsc: adjust to changed 'vamos modify' vty command syntax ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I94988ee64edbecbe19c41d8cac5b055360f76547 Gerrit-Change-Number: 24499 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 05 Jun 2021 14:50:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 14:52:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 14:52:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 ) Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... Patch Set 14: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 14 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Jun 2021 14:52: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 Sat Jun 5 14:54:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 14:54:04 +0000 Subject: Change in osmo-bts[2021q1]: trx_sched_is_sacch_fn(): fix handling of dynamic timeslots In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24568 ) Change subject: trx_sched_is_sacch_fn(): fix handling of dynamic timeslots ...................................................................... trx_sched_is_sacch_fn(): fix handling of dynamic timeslots There is no GSM_PCHAN_TCH_F{_TCH_H}_PDCH in trx_sched_multiframes[], so find_sched_mframe_idx() would always return -1 for these. Fix this by using ts_pchan(), which returns currently active pchan type. Change-Id: Ia5e337e897b595e7de6e504664c969b583cc02a1 --- M src/common/scheduler_mframe.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/common/scheduler_mframe.c b/src/common/scheduler_mframe.c index b969407..f6476ec 100644 --- a/src/common/scheduler_mframe.c +++ b/src/common/scheduler_mframe.c @@ -1007,7 +1007,7 @@ const struct trx_sched_frame *frame; enum trx_chan_type ch_type; - i = find_sched_mframe_idx(ts->pchan, ts->nr); + i = find_sched_mframe_idx(ts_pchan(ts), ts->nr); if (i < 0) return -EINVAL; sched = &trx_sched_multiframes[i]; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24568 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: 2021q1 Gerrit-Change-Id: Ia5e337e897b595e7de6e504664c969b583cc02a1 Gerrit-Change-Number: 24568 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 14:54:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 14:54:20 +0000 Subject: Change in osmo-bts[master]: [VAMOS] conf_lchans_as_pchan(): improve readability In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24485 ) Change subject: [VAMOS] conf_lchans_as_pchan(): improve readability ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1c5a033e89d9ca5fb01ebe9ffb521fd67d159bee Gerrit-Change-Number: 24485 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-Comment-Date: Sat, 05 Jun 2021 14:54:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 14:54:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 14:54:30 +0000 Subject: Change in osmo-bts[master]: [VAMOS] Implement the concept of 'shadow' timeslots In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24153 ) Change subject: [VAMOS] Implement the concept of 'shadow' timeslots ...................................................................... Patch Set 13: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24153 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I48b44b4df9ffb1cca105aebbd868c29b21f3b1d6 Gerrit-Change-Number: 24153 Gerrit-PatchSet: 13 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Jun 2021 14:54:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 14:55:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 14:55:54 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: schedule bursts on 'shadow' timeslots In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24440 ) Change subject: [VAMOS] osmo-bts-trx: schedule bursts on 'shadow' timeslots ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3e0bdf8c03273f66991aa1764029ab1dd3528d7e Gerrit-Change-Number: 24440 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Jun 2021 14:55:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 14:56:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 14:56:07 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-omldummy: allocate shadow timeslots In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24155 ) Change subject: [VAMOS] osmo-bts-omldummy: allocate shadow timeslots ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24155 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4aa9a8bb35bd828d6f25d5690297e727dace5974 Gerrit-Change-Number: 24155 Gerrit-PatchSet: 6 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Jun 2021 14:56:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 14:56:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 14:56:10 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: schedule bursts on 'shadow' timeslots In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24440 ) Change subject: [VAMOS] osmo-bts-trx: schedule bursts on 'shadow' timeslots ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3e0bdf8c03273f66991aa1764029ab1dd3528d7e Gerrit-Change-Number: 24440 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Jun 2021 14:56:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 14:56:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 14:56:13 +0000 Subject: Change in osmo-bts[master]: [VAMOS] Implement the concept of 'shadow' timeslots In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24153 ) Change subject: [VAMOS] Implement the concept of 'shadow' timeslots ...................................................................... Patch Set 13: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24153 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I48b44b4df9ffb1cca105aebbd868c29b21f3b1d6 Gerrit-Change-Number: 24153 Gerrit-PatchSet: 13 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Jun 2021 14:56:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 15:46:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 15:46:11 +0000 Subject: Change in libosmocore[master]: gprs_ns2: rework id strings of nsvcs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24539 ) Change subject: gprs_ns2: rework id strings of nsvcs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I618e263e73fcc64d4e46b57aa3a2cb2783837907 Gerrit-Change-Number: 24539 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Jun 2021 15:46:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 15:46:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 15:46:14 +0000 Subject: Change in libosmocore[master]: gprs_ns2: rework id strings of nsvcs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24539 ) Change subject: gprs_ns2: rework id strings of nsvcs ...................................................................... gprs_ns2: rework id strings of nsvcs Ensure all nsvcs ids are unique as UDP ids might not be unique when multiple NSVCs connect to the same remote endpoint (multiple binds). Change the format of all ids to look similiar. FR: NSE11-NSVC23-FR-fr0-DLCI13. UDP: NSE11-NSVC-UDP-10.0.0.1:23000-192.168.1.1:24000 UDP: NSE11-NSVC23-UDP-10.0.0.1:23000-192.168.1.1:24000 UDP: NSE11-NSVC66-UDP-[fd01::1]:23000-[fd03::2]:24000 Change-Id: I618e263e73fcc64d4e46b57aa3a2cb2783837907 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_fr.c M src/gb/gprs_ns2_udp.c 3 files changed, 19 insertions(+), 11 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index d72f34e..975909b 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -980,7 +980,8 @@ enum gprs_ns2_vc_mode vc_mode; uint16_t nsvci; uint16_t nsei; - char idbuf[32]; + const struct osmo_sockaddr *local; + char idbuf[256], tmp[INET6_ADDRSTRLEN + 8]; int rc, tlv; @@ -1113,8 +1114,12 @@ nsvci = tlvp_val16be(&tp, NS_IE_VCI); vc_mode = ns2_dialect_to_vc_mode(dialect); - snprintf(idbuf, sizeof(idbuf), "%s-NSE%05u-NSVC%05u", gprs_ns2_lltype_str(nse->ll), - nse->nsei, nsvci); + + local = gprs_ns2_ip_bind_sockaddr(bind); + osmo_sockaddr_to_str_buf(tmp, sizeof(tmp), local); + snprintf(idbuf, sizeof(idbuf), "%s-NSE%05u-NSVC%05u-%s-%s", gprs_ns2_lltype_str(nse->ll), + nse->nsei, nsvci, tmp, osmo_sockaddr_to_str(remote)); + osmo_identifier_sanitize_buf(idbuf, NULL, '_'); nsvc = ns2_vc_alloc(bind, nse, false, vc_mode, idbuf); if (!nsvc) return NS2_CS_SKIPPED; diff --git a/src/gb/gprs_ns2_fr.c b/src/gb/gprs_ns2_fr.c index 7791094..3113b00 100644 --- a/src/gb/gprs_ns2_fr.c +++ b/src/gb/gprs_ns2_fr.c @@ -976,8 +976,9 @@ goto err; } - snprintf(idbuf, sizeof(idbuf), "%s-%s-DLCI%u-NSE%05u-NSVC%05u", gprs_ns2_lltype_str(nse->ll), - bpriv->netif, dlci, nse->nsei, nsvci); + snprintf(idbuf, sizeof(idbuf), "NSE%05u-NSVC%05u-%s-%s-DLCI%u", nse->nsei, nsvci, + gprs_ns2_lltype_str(nse->ll), bpriv->netif, dlci); + osmo_identifier_sanitize_buf(idbuf, NULL, '_'); nsvc = ns2_vc_alloc(bind, nse, true, GPRS_NS2_VC_MODE_BLOCKRESET, idbuf); if (!nsvc) goto err; diff --git a/src/gb/gprs_ns2_udp.c b/src/gb/gprs_ns2_udp.c index 7980df5..428fd4a 100644 --- a/src/gb/gprs_ns2_udp.c +++ b/src/gb/gprs_ns2_udp.c @@ -384,10 +384,10 @@ const struct osmo_sockaddr *remote) { struct gprs_ns2_vc *nsvc; + const struct osmo_sockaddr *local; struct priv_vc *priv; enum gprs_ns2_vc_mode vc_mode; - char *sockaddr_str; - char idbuf[64]; + char idbuf[256], tmp[INET6_ADDRSTRLEN + 8]; OSMO_ASSERT(gprs_ns2_is_ip_bind(bind)); @@ -402,10 +402,12 @@ if (gprs_ns2_nsvc_by_sockaddr_bind(bind, remote)) return NULL; - sockaddr_str = (char *)osmo_sockaddr_to_str(remote); - osmo_identifier_sanitize_buf(sockaddr_str, NULL, '_'); - snprintf(idbuf, sizeof(idbuf), "%s-NSE%05u-remote-%s", gprs_ns2_lltype_str(nse->ll), - nse->nsei, sockaddr_str); + local = gprs_ns2_ip_bind_sockaddr(bind); + osmo_sockaddr_to_str_buf(tmp, sizeof(tmp), local); + snprintf(idbuf, sizeof(idbuf), "NSE%05u-NSVC-%s-%s-%s", nse->nsei, gprs_ns2_lltype_str(nse->ll), + tmp, osmo_sockaddr_to_str(remote)); + osmo_identifier_sanitize_buf(idbuf, NULL, '_'); + nsvc = ns2_vc_alloc(bind, nse, true, vc_mode, idbuf); if (!nsvc) return NULL; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I618e263e73fcc64d4e46b57aa3a2cb2783837907 Gerrit-Change-Number: 24539 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 15:46:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 15:46:23 +0000 Subject: Change in libosmocore[master]: ns2: Use NSVC bufid in stats report In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24468 ) Change subject: ns2: Use NSVC bufid in stats report ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4c696c615ba3416f8524d0797ce06c0ecd3a18f2 Gerrit-Change-Number: 24468 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Comment-Date: Sat, 05 Jun 2021 15:46:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 15:46:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 15:46:27 +0000 Subject: Change in libosmocore[master]: stat, rate_ctr: Allow setting group name and use it at report time In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24467 ) Change subject: stat,rate_ctr: Allow setting group name and use it at report time ...................................................................... stat,rate_ctr: Allow setting group name and use it at report time This patch adds a new field "name" to the rate_ctr and osmo_stat_item_group structs, together with an API to set it. This new field allows for easy identification of specific group instances when several of them exists, rather than using a sometimes random/increasing index value. If set, this name (string) is used instead of the index by the stats reporter. The name, if set, is also printed during "show stats" VTY commands. It's up to the user or application to set up unique or meaningful names to fullfill one's needs. WARNING: this commit breaks ABI and possibly creates unexpected behavior when run with non-rebuilt apps which use the modified structs directly to get the coutners, or if use the static inline API rate_ctr_inc2(). Existing users of these structs should migrate to use new APIs introduced in follow-up commits instead of accessing the field directly. Related: SYS#5456 Change-Id: I0dc510783dd9ae8436dae8005a7b3330e80d36f3 --- M TODO-RELEASE M include/osmocom/core/rate_ctr.h M include/osmocom/core/stat_item.h M src/rate_ctr.c M src/stat_item.c M src/stats_statsd.c M src/vty/utils.c 7 files changed, 67 insertions(+), 35 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve daniel: Looks good to me, approved Jenkins Builder: Verified diff --git a/TODO-RELEASE b/TODO-RELEASE index ad644aa..0f70081 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -13,3 +13,4 @@ libosmocore osmo_tdef_fsm_inst_state_chg change default_timeout arg from unsigned long to long type (API breakage, not ABI) libosmovty vty_read_config_filep New API libosmosim osim_card_{reset,close} New API +libosmocore struct rate_ctr_group, osmo_stat_item_group_desc ABI breakage due to new struct members diff --git a/include/osmocom/core/rate_ctr.h b/include/osmocom/core/rate_ctr.h index 17ee672..d944cc0 100644 --- a/include/osmocom/core/rate_ctr.h +++ b/include/osmocom/core/rate_ctr.h @@ -61,6 +61,8 @@ const struct rate_ctr_group_desc *desc; /*! The index of this ctr_group within its class */ unsigned int idx; + /*! Optional string-based identifier to be used instead of index at report time */ + char *name; /*! Actual counter structures below. Don't access it directly, use APIs below! */ struct rate_ctr ctr[0]; }; @@ -73,6 +75,7 @@ { grp->idx = idx; } +void rate_ctr_group_set_name(struct rate_ctr_group *grp, const char *name); struct rate_ctr *rate_ctr_group_get_ctr(struct rate_ctr_group *grp, unsigned int idx); diff --git a/include/osmocom/core/stat_item.h b/include/osmocom/core/stat_item.h index 3cace08..fbe0433 100644 --- a/include/osmocom/core/stat_item.h +++ b/include/osmocom/core/stat_item.h @@ -65,6 +65,8 @@ const struct osmo_stat_item_group_desc *desc; /*! The index of this value group within its class */ unsigned int idx; + /*! Optional string-based identifier to be used instead of index at report time */ + char *name; /*! Actual counter structures below */ struct osmo_stat_item *items[0]; }; @@ -80,6 +82,7 @@ grp->idx = idx; } struct osmo_stat_item *osmo_stat_item_group_get_item(struct osmo_stat_item_group *grp, unsigned int idx); +void osmo_stat_item_group_set_name(struct osmo_stat_item_group *statg, const char *name); void osmo_stat_item_group_free(struct osmo_stat_item_group *statg); void osmo_stat_item_inc(struct osmo_stat_item *item, int32_t value); diff --git a/src/rate_ctr.c b/src/rate_ctr.c index c3a5286..4d99699 100644 --- a/src/rate_ctr.c +++ b/src/rate_ctr.c @@ -273,6 +273,16 @@ return &grp->ctr[idx]; } +/*! Set a name for the group of counters be used instead of index value + at report time. + * \param[in] grp Rate counter group + * \param[in] name Name identifier to assign to the rate counter group + */ +void rate_ctr_group_set_name(struct rate_ctr_group *grp, const char *name) +{ + osmo_talloc_replace_string(grp, &grp->name, name); +} + /*! Add a number to the counter */ void rate_ctr_add(struct rate_ctr *ctr, int inc) { diff --git a/src/stat_item.c b/src/stat_item.c index a6f86cb..55aa951 100644 --- a/src/stat_item.c +++ b/src/stat_item.c @@ -177,6 +177,16 @@ return grp->items[idx]; } +/*! Set a name for the statistics item group to be used instead of index value + at report time. + * \param[in] statg Statistics item group + * \param[in] name Name identifier to assign to the statistics item group + */ +void osmo_stat_item_group_set_name(struct osmo_stat_item_group *statg, const char *name) +{ + osmo_talloc_replace_string(statg, &statg->name, name); +} + /*! Increase the stat_item to the given value. * This function adds a new value for the given stat_item at the end of * the FIFO. diff --git a/src/stats_statsd.c b/src/stats_statsd.c index 99764e6..1acfce8 100644 --- a/src/stats_statsd.c +++ b/src/stats_statsd.c @@ -89,7 +89,7 @@ } static int osmo_stats_reporter_statsd_send(struct osmo_stats_reporter *srep, - const char *name1, unsigned int index1, const char *name2, int64_t value, + const char *name1, const char *index1, const char *name2, int64_t value, const char *unit) { char *buf; @@ -101,13 +101,13 @@ if (prefix) { if (name1) - fmt = "%1$s.%2$s.%6$u.%3$s:%4$" PRId64 "|%5$s"; + fmt = "%1$s.%2$s.%6$s.%3$s:%4$" PRId64 "|%5$s"; else fmt = "%1$s.%2$0.0s%3$s:%4$" PRId64 "|%5$s"; } else { prefix = ""; if (name1) - fmt = "%1$s%2$s.%6$u.%3$s:%4$" PRId64 "|%5$s"; + fmt = "%1$s%2$s.%6$s.%3$s:%4$" PRId64 "|%5$s"; else fmt = "%1$s%2$0.0s%3$s:%4$" PRId64 "|%5$s"; } @@ -162,32 +162,42 @@ const struct rate_ctr_desc *desc, int64_t value, int64_t delta) { - if (ctrg) - return osmo_stats_reporter_statsd_send(srep, - ctrg->desc->group_name_prefix, - ctrg->idx, - desc->name, delta, "c"); - else - return osmo_stats_reporter_statsd_send(srep, - NULL, 0, - desc->name, delta, "c"); + char buf_idx[64]; + const char *idx_name = buf_idx; + const char *prefix; + + if (ctrg) { + prefix = ctrg->desc->group_name_prefix; + if (ctrg->name) + idx_name = ctrg->name; + else + snprintf(buf_idx, sizeof(buf_idx), "%u", ctrg->idx); + } else { + prefix = NULL; + buf_idx[0] = '0'; + buf_idx[1] = '\n'; + } + return osmo_stats_reporter_statsd_send(srep, prefix, idx_name, desc->name, delta, "c"); } static int osmo_stats_reporter_statsd_send_item(struct osmo_stats_reporter *srep, const struct osmo_stat_item_group *statg, const struct osmo_stat_item_desc *desc, int64_t value) { - if (value < 0) { - return osmo_stats_reporter_statsd_send(srep, - statg->desc->group_name_prefix, - statg->idx, - desc->name, 0, "g"); - } else { - return osmo_stats_reporter_statsd_send(srep, - statg->desc->group_name_prefix, - statg->idx, - desc->name, value, "g"); + char buf_idx[64]; + char *idx_name; + if (statg->name) + idx_name = statg->name; + else { + snprintf(buf_idx, sizeof(buf_idx), "%u", statg->idx); + idx_name = buf_idx; } + + if (value < 0) + value = 0; + + return osmo_stats_reporter_statsd_send(srep, statg->desc->group_name_prefix, + idx_name, desc->name, value, "g"); } #endif /* !EMBEDDED */ diff --git a/src/vty/utils.c b/src/vty/utils.c index 0358d9b..1137f2b 100644 --- a/src/vty/utils.c +++ b/src/vty/utils.c @@ -225,12 +225,10 @@ if (ctrg->desc->class_id > vctx->max_level) return 0; - if (ctrg->idx) - vty_out(vty, "%s%s (%d):%s", vctx->prefix, - ctrg->desc->group_description, ctrg->idx, VTY_NEWLINE); - else - vty_out(vty, "%s%s:%s", vctx->prefix, - ctrg->desc->group_description, VTY_NEWLINE); + vty_out(vty, "%s%s (%d)", vctx->prefix, ctrg->desc->group_description, ctrg->idx); + if (ctrg->name) + vty_out(vty, "('%s')", ctrg->name); + vty_out(vty, ":%s", VTY_NEWLINE); rate_ctr_for_each_counter(ctrg, rate_ctr_handler, vctx); @@ -284,13 +282,10 @@ if (statg->desc->class_id > vctx->max_level) return 0; - if (statg->idx) - vty_out(vty, "%s%s (%d):%s", vctx->prefix, - statg->desc->group_description, statg->idx, - VTY_NEWLINE); - else - vty_out(vty, "%s%s:%s", vctx->prefix, - statg->desc->group_description, VTY_NEWLINE); + vty_out(vty, "%s%s (%d)", vctx->prefix, statg->desc->group_description, statg->idx); + if (statg->name) + vty_out(vty, "('%s')", statg->name); + vty_out(vty, ":%s", VTY_NEWLINE); osmo_stat_item_for_each_item(statg, osmo_stat_item_handler, vctx); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0dc510783dd9ae8436dae8005a7b3330e80d36f3 Gerrit-Change-Number: 24467 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 15:46:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 15:46:29 +0000 Subject: Change in libosmocore[master]: ns2: Use NSVC bufid in stats report In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24468 ) Change subject: ns2: Use NSVC bufid in stats report ...................................................................... ns2: Use NSVC bufid in stats report Use the new stats API to set a meaningful name for its stats group too, so that they are easily to identify when reported. Example on VTY "show stats": """ NSVC Peer Statistics (0)('UDP-NSE01800-NSVC01800'): ALIVE response time : 0 ms NS Bind Statistics: Transmit backlog length: 0 packets """ Example reporting to statsd: """ my-stats-reporter-prefix.ns.nsvc.UDP-NSE01800-NSVC01800.alive.delay:0|g """ Related: SYS#5456 Change-Id: I4c696c615ba3416f8524d0797ce06c0ecd3a18f2 --- M src/gb/gprs_ns2.c 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: 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/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 975909b..a57f577 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -606,6 +606,8 @@ bind->nsi->nsvc_rate_ctr_idx++; + osmo_stat_item_group_set_name(nsvc->statg, id); + llist_add(&nsvc->list, &nse->nsvc); llist_add(&nsvc->blist, &bind->nsvc); ns2_nse_update_mtu(nse); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4c696c615ba3416f8524d0797ce06c0ecd3a18f2 Gerrit-Change-Number: 24468 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 15:47:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 15:47:06 +0000 Subject: Change in osmo-bts[master]: measurement: remove over-defensive checks in is_meas_complete() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24527 ) Change subject: measurement: remove over-defensive checks in is_meas_complete() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6d20d7cba49cc8b6d1dc2192598ca372b7d2c5bf Gerrit-Change-Number: 24527 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Jun 2021 15:47:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 15:48:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 15:48:08 +0000 Subject: Change in osmo-bsc[master]: abis_nm: make a HACK in abis_nm_ipaccess_cgi() less confusing In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/20082 ) Change subject: abis_nm: make a HACK in abis_nm_ipaccess_cgi() less confusing ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/20082 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ideed271ca7453e98d153deb8aa0aefa7020b75ec Gerrit-Change-Number: 20082 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 15:48:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 15:48:25 +0000 Subject: Change in osmo-bsc[master]: fixup: pass tsc = -1 for previous default training sequence code In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24565 ) Change subject: fixup: pass tsc = -1 for previous default training sequence code ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If12df11511fe22ea167782f776736a1a9c484b1f Gerrit-Change-Number: 24565 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 05 Jun 2021 15: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 Sat Jun 5 15:48:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 15:48:53 +0000 Subject: Change in osmo-bsc[master]: fixup: pass tsc = -1 for previous default training sequence code In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24565 ) Change subject: fixup: pass tsc = -1 for previous default training sequence code ...................................................................... fixup: pass tsc = -1 for previous default training sequence code An unintended change in default behavior was introduced in patch: "allow explixit TSC Set and TSC on chan activ / modif / assignment" Ic665125255d7354f5499d10dda1dd866ab243d24 c33eb8d56943b8981523754b081967e6ff5f245d Set tsc_set and tsc = -1 for all lchan_activate_info and assignment_request requests to actually yield the default behavior of selecting the TSC based on the timeslot cfg or the BSIC value. By setting tsc = 0 implicitly, the patch caused all requests to ask for tsc 0 instead of calling gsm_ts_tsc(). For a Channel Mode Modify in assignment_fsm, pass the lchan's current TSC to keep it unchanged. osmo-ttcn3-hacks Id67a949e0f61ec8123976eb8d336f04510c55c01 adds a test to verify the expected TSC in all of the activation, assignment and modify messages. Current osmo-bsc master fails, this patch fixes. Related: SYS#5315 OS#4940 Ic665125255d7354f5499d10dda1dd866ab243d24 Change-Id: If12df11511fe22ea167782f776736a1a9c484b1f --- M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/osmo_bsc_bssap.c 4 files changed, 13 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index fc8e217..69052ee 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1807,6 +1807,8 @@ }, .ta = rqd->ta, .ta_known = true, + .tsc_set = -1, + .tsc = -1, }; lchan_activate(lchan, &info); diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 6a9eb81..a15807a 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -808,14 +808,18 @@ static void assignment_fsm_wait_lchan_modified_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) { struct gsm_subscriber_connection *conn = assignment_fi_conn(fi); + struct gsm_lchan *lchan = conn->lchan; struct assignment_request *req = &conn->assignment.req; struct lchan_modify_info modif_info = { .modify_for = MODIFY_FOR_ASSIGNMENT, .ch_mode_rate = conn->assignment.selected_ch_mode_rate, .requires_voice_stream = conn->assignment.requires_voice_stream, .msc_assigned_cic = req->msc_assigned_cic, + /* keep previous training sequence code */ + .tsc_set = lchan->tsc_set, + .tsc = lchan->tsc, }; - lchan_mode_modify(conn->lchan, &modif_info); + lchan_mode_modify(lchan, &modif_info); } static void assignment_fsm_wait_lchan_modified(struct osmo_fsm_inst *fi, uint32_t event, void *data) diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 17e0c89..c06735f 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -984,6 +984,8 @@ .ch_mode_rate = lchan->modify.ch_mode_rate, .requires_voice_stream = true, .msc_assigned_cic = lchan->modify.info.msc_assigned_cic, + .tsc_set = -1, + .tsc = -1, }; lchan->activate.concluded = false; lchan_fsm_state_chg(LCHAN_ST_WAIT_RLL_RTP_ESTABLISH); diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index d6048bf..da0429b 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -928,6 +928,8 @@ .msc_assigned_cic = cic, .use_osmux = use_osmux, .osmux_cid = osmux_cid, + .tsc_set = -1, + .tsc = -1, }; /* Match codec information from the assignment command against the @@ -954,6 +956,8 @@ req = (struct assignment_request){ .assign_for = ASSIGN_FOR_BSSMAP_REQ, .aoip = aoip, + .tsc_set = -1, + .tsc = -1, }; rc = select_sign_chan(&req, &ct); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If12df11511fe22ea167782f776736a1a9c484b1f Gerrit-Change-Number: 24565 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 15:49:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 15:49:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: add test configuration for SNS In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24397 ) Change subject: ns: add test configuration for SNS ...................................................................... ns: add test configuration for SNS Change-Id: Idda139c7adda3fb1fec0643a98cd6cf8b436a89e --- A ns/NS_Tests.sns.cfg 1 file changed, 34 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/ns/NS_Tests.sns.cfg b/ns/NS_Tests.sns.cfg new file mode 100644 index 0000000..23b616b --- /dev/null +++ b/ns/NS_Tests.sns.cfg @@ -0,0 +1,34 @@ +[ORDERED_INCLUDE] +# Common configuration, shared between test suites +"../Common.cfg" +# testsuite specific configuration, not expected to change +"./NS_Tests.default" + +[LOGGING] + +[MODULE_PARAMETERS] +NS_Tests.mp_nsconfig := { + nsei := 1234, + nsvc := { + { + provider := { + ip := { + address_family := AF_INET, + local_ip := "127.0.0.1", + local_udp_port := 22000, + remote_ip := "127.0.0.1", + remote_udp_port := 23000 + } + }, + nsvci := 1234 + } + } +} +NS_Tests.mp_dialect := NS2_DIALECT_SNS + +[TESTPORT_PARAMETERS] + +[MAIN_CONTROLLER] + +[EXECUTE] +NS_Tests.control -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idda139c7adda3fb1fec0643a98cd6cf8b436a89e Gerrit-Change-Number: 24397 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 Sat Jun 5 15:49:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 15:49:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS: add missing idx to as_rx_alive_tx_ack In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24398 ) Change subject: RAW_NS: add missing idx to as_rx_alive_tx_ack ...................................................................... RAW_NS: add missing idx to as_rx_alive_tx_ack Without the index the message got send and received via the wrong NSVC. Change-Id: Ic5d1f4aa5e8a2373a4f46feef44e71b9688035c9 --- M library/RAW_NS.ttcnpp 1 file changed, 7 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/library/RAW_NS.ttcnpp b/library/RAW_NS.ttcnpp index ff73348..93c43f0 100644 --- a/library/RAW_NS.ttcnpp +++ b/library/RAW_NS.ttcnpp @@ -100,7 +100,7 @@ var default d := activate(ax_rx_fail_on_any_ns()); alt { [] NSCP[idx].receive(PDU_NS: exp_rx) -> value nrf { } - [g_handle_rx_alive] as_rx_alive_tx_ack(); + [g_handle_rx_alive] as_rx_alive_tx_ack(idx := idx); } deactivate(d); return nrf; @@ -111,7 +111,7 @@ NSCP[idx].send(t_NS_ALIVE); alt { [] NSCP[idx].receive(t_NS_ALIVE_ACK); - [g_handle_rx_alive] as_rx_alive_tx_ack(); + [g_handle_rx_alive] as_rx_alive_tx_ack(idx := idx); [] NSCP[idx].receive { repeat; } } } @@ -125,7 +125,7 @@ [] NSCP[idx].receive(t_NS_ALIVE_ACK) { setverdict(fail, "Received unexpected NS-ALIVE ACK"); } - [g_handle_rx_alive] as_rx_alive_tx_ack(); + [g_handle_rx_alive] as_rx_alive_tx_ack(idx := idx); [] NSCP[idx].receive { repeat; } [] T.timeout { setverdict(pass); @@ -142,7 +142,7 @@ [] NSCP[idx].receive(ts_NS_RESET_ACK(g_nsconfig.nsvc[idx].nsvci, g_nsconfig.nsei)) { setverdict(pass); } - [g_handle_rx_alive] as_rx_alive_tx_ack(); + [g_handle_rx_alive] as_rx_alive_tx_ack(idx := idx); [] NSCP[idx].receive { repeat; } [] T.timeout { setverdict(fail, "Failed to receive a RESET ACK"); @@ -155,7 +155,7 @@ NSCP[idx].send(ts_NS_BLOCK(cause, g_nsconfig.nsvc[idx].nsvci)); alt { [] NSCP[idx].receive(tr_NS_BLOCK_ACK(g_nsconfig.nsvc[idx].nsvci)); - [g_handle_rx_alive] as_rx_alive_tx_ack(); + [g_handle_rx_alive] as_rx_alive_tx_ack(idx := idx); [] NSCP[idx].receive { repeat; } } } @@ -165,7 +165,7 @@ NSCP[idx].send(t_NS_UNBLOCK); alt { [] NSCP[idx].receive(t_NS_UNBLOCK_ACK); - [g_handle_rx_alive] as_rx_alive_tx_ack(); + [g_handle_rx_alive] as_rx_alive_tx_ack(idx := idx); [] NSCP[idx].receive { repeat; } } } @@ -205,7 +205,7 @@ [not exp_ack] T.timeout { setverdict(pass); } - [g_handle_rx_alive] as_rx_alive_tx_ack(); + [g_handle_rx_alive] as_rx_alive_tx_ack(idx := idx); [] NSCP[idx].receive { repeat; } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic5d1f4aa5e8a2373a4f46feef44e71b9688035c9 Gerrit-Change-Number: 24398 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 Sat Jun 5 15:49:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 15:49:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS: add support for an incoming SNS ADD procedure In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24399 ) Change subject: RAW_NS: add support for an incoming SNS ADD procedure ...................................................................... RAW_NS: add support for an incoming SNS ADD procedure Change-Id: I937b654d377e189ee811145474683b638153179e --- M library/RAW_NS.ttcnpp 1 file changed, 21 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/library/RAW_NS.ttcnpp b/library/RAW_NS.ttcnpp index 93c43f0..d601ccd 100644 --- a/library/RAW_NS.ttcnpp +++ b/library/RAW_NS.ttcnpp @@ -427,6 +427,27 @@ } +/* perform inbound SNS-ADD procedure */ +function f_incoming_sns_add(integer idx_add, uint8_t w_sig := 1, uint8_t w_user := 1, integer idx := 0, template (omit) NsCause cause := omit) +runs on RAW_NS_CT { + log("f_incoming_sns_add(idx=", idx, ")"); + var PDU_NS rx; + var NSVCConfiguration nsvc_cfg := g_nsconfig.nsvc[idx_add]; + + if (nsvc_cfg.provider.ip.address_family == AF_INET) { + var template (omit) IP4_Elements v4_elem := { ts_SNS_IPv4(nsvc_cfg.provider.ip.remote_ip, + nsvc_cfg.provider.ip.remote_udp_port, + w_sig, w_user) }; + rx := f_ns_exp(tr_SNS_ADD(g_nsconfig.nsei, ?, v4 := v4_elem), idx); + } else { + var template (omit) IP6_Elements v6_elem := { ts_SNS_IPv6(nsvc_cfg.provider.ip.remote_ip, + nsvc_cfg.provider.ip.remote_udp_port, + w_sig, w_user) }; + rx := f_ns_exp(tr_SNS_ADD(g_nsconfig.nsei, ?, omit, v6_elem), idx); + } + NSCP[idx].send(ts_SNS_ACK(g_nsconfig.nsei, rx.pDU_SNS_Add.transactionID)); +} + function f_outgoing_sns_add(integer idx_add, uint8_t w_sig := 1, uint8_t w_user := 1, integer idx := 0, template (omit) NsCause cause := omit) runs on RAW_NS_CT { log("f_outgoing_sns_add(idx_add=", idx_add, ")"); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I937b654d377e189ee811145474683b638153179e Gerrit-Change-Number: 24399 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 Sat Jun 5 15:49:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 15:49:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS: add support for an incoming SNS DELETE procedure In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24400 ) Change subject: RAW_NS: add support for an incoming SNS DELETE procedure ...................................................................... RAW_NS: add support for an incoming SNS DELETE procedure Change-Id: Ia682522fe583a82e16a9c8008972f660f03243f7 --- M library/RAW_NS.ttcnpp 1 file changed, 22 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/library/RAW_NS.ttcnpp b/library/RAW_NS.ttcnpp index d601ccd..8f986e4 100644 --- a/library/RAW_NS.ttcnpp +++ b/library/RAW_NS.ttcnpp @@ -468,6 +468,28 @@ } } +/* perform inbound SNS-DELETE procedure */ +function f_incoming_sns_del(integer idx_del, uint8_t w_sig := 1, uint8_t w_user := 1, integer idx := 0, template (omit) NsCause cause := omit) +runs on RAW_NS_CT { + log("f_incoming_sns_del(idx=", idx, ")"); + var PDU_NS rx; + var NSVCConfiguration nsvc_cfg := g_nsconfig.nsvc[idx_del]; + + if (nsvc_cfg.provider.ip.address_family == AF_INET) { + var template (omit) IP4_Elements v4_elem := { ts_SNS_IPv4(nsvc_cfg.provider.ip.remote_ip, + nsvc_cfg.provider.ip.remote_udp_port, + w_sig, w_user) }; + rx := f_ns_exp(tr_SNS_DEL(g_nsconfig.nsei, ?, omit, v4 := v4_elem), idx); + } else { + var template (omit) IP6_Elements v6_elem := { ts_SNS_IPv6(nsvc_cfg.provider.ip.remote_ip, + nsvc_cfg.provider.ip.remote_udp_port, + w_sig, w_user) }; + rx := f_ns_exp(tr_SNS_DEL(g_nsconfig.nsei, ?, omit, omit, v6_elem), idx); + } + NSCP[idx].send(ts_SNS_ACK(g_nsconfig.nsei, rx.pDU_SNS_Delete.transactionID)); +} + + function f_outgoing_sns_del(integer idx_del, uint8_t w_sig := 1, uint8_t w_user := 1, integer idx := 0) runs on RAW_NS_CT { log("f_outgoing_sns_del(idx_del=", idx_del, ")"); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia682522fe583a82e16a9c8008972f660f03243f7 Gerrit-Change-Number: 24400 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 Sat Jun 5 15:50:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 15:50:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: gitignore In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24518 ) Change subject: gitignore ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24518 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iedd6aeb17b1c774a5d96b28e69827796ff769bc1 Gerrit-Change-Number: 24518 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Jun 2021 15:50:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 15:51:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 5 Jun 2021 15:51:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc-VAMOS: add cfg files to run BSC_Tests_VAMOS locally In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24566 ) Change subject: bsc-VAMOS: add cfg files to run BSC_Tests_VAMOS locally ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24566 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iabda4c864b02e6ddbf03386c75d67a37f92992f4 Gerrit-Change-Number: 24566 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 05 Jun 2021 15:51:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 16:09:10 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 5 Jun 2021 16:09:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 ) Change subject: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface ...................................................................... Patch Set 2: > Patch Set 2: > > > Patch Set 2: > > > > > Patch Set 2: > > > > > > > Patch Set 2: > > > > > > > > isn't it possible to pass a port reference (rather than a component reference) around? if that is possible, the consumer could pass a port reference to the provider, and the provider wouldn't have to know anything about the type of the consumer component type and whether it uses a port array, an index, etc. > > > > > > We do pass a port reference in BSC_Tests.ttcn, check f_logp() or f_vty_msc_allow_attach(). > > > > thanks! I'll try it out > > It didn't worked out that way because ports can't be put into record, but into functions. > It didn't worked out that way because ports can't be put into record, but into functions. I think an acceptable solution for this is connecting the port from outside instead from within NS_Prover_IPv4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iafd9310e04066958914201da0cbdcd563bd5c976 Gerrit-Change-Number: 24401 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 05 Jun 2021 16:09:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 16:32:27 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 5 Jun 2021 16:32:27 +0000 Subject: Change in libosmocore[master]: gprs_ns2: implement local update weight procedure In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23187 ) Change subject: gprs_ns2: implement local update weight procedure ...................................................................... Patch Set 6: Code-Review-2 (3 comments) https://gerrit.osmocom.org/c/libosmocore/+/23187/5/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/23187/5/src/gb/gprs_ns2_sns.c at 2209 PS5, Line 2209: /* Update SNS weights for a bind (local endpoint). */ > Update comment Done https://gerrit.osmocom.org/c/libosmocore/+/23187/5/src/gb/gprs_ns2_sns.c at 2216 PS5, Line 2216: /* TODO: ensure this bind is already added! */ > remove the TODO Done https://gerrit.osmocom.org/c/libosmocore/+/23187/5/src/gb/gprs_ns2_sns.c at 2232 PS5, Line 2232: /* TODO: check if this bind is about to be added */ > remove the TODO Done -- 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: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 05 Jun 2021 16:32:27 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: daniel 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 Sat Jun 5 20:16:14 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Jun 2021 20:16:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MSC_ConnectionHandler: fix race in f_create_chan_and_exp() 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-ttcn3-hacks/+/24562 to look at the new patch set (#2). Change subject: MSC_ConnectionHandler: fix race in f_create_chan_and_exp() ...................................................................... MSC_ConnectionHandler: fix race in f_create_chan_and_exp() During f_create_chan_and_exp() (part of f_establish_fully()), announce the BSSAP L3 expectation before activating the lchan. In RSL_Emulation f_chan_est(), we go through Chan Request, Channel Act and Immediate Assignment followed by EST IND. Right after that, osmo-bsc sends a Complete Layer 3 on BSSAP. But in f_create_chan_and_exp(), we only create the expectation of the BSSAP right after the call to f_chan_est(), i.e. only after sending the EST IND. So far it was always juuust in time to work, but when I added a little check to the end of f_chan_est(), or alternatively an f_sleep(0.2), then BSC tests always fail with: Test case TC_reassignment_fr finished. Verdict: fail reason: Couldn't find Expect for incoming connection { [...] pdu := { bssmap := { completeLayer3Information... } With the BSSAP expectation done first, this error is avoided. Change-Id: I1d4af737dcc0f9c9fa6cdaff3a92813d532e730c --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/62/24562/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24562 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1d4af737dcc0f9c9fa6cdaff3a92813d532e730c Gerrit-Change-Number: 24562 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 Sat Jun 5 20:16:14 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Jun 2021 20:16:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: test TSC in various messages 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-ttcn3-hacks/+/24564 to look at the new patch set (#2). Change subject: bsc: test TSC in various messages ...................................................................... bsc: test TSC in various messages In a recent osmo-bsc patch: "allow explixit TSC Set and TSC on chan activ / modif / assignment" c33eb8d56943b8981523754b081967e6ff5f245d Ic665125255d7354f5499d10dda1dd866ab243d24 I accidentally changed the default behavior of the Training Sequence Code sent to BTS and MS. So now, make sure that we verify the expected Training Sequence Code in BSC_Tests, in: RSL Channel Activate RR Immediate Assignment RR Assignment Command RR Channel Mode Modify RSL Mode Modify Related: OS#5172 SYS#5315 Change-Id: Id67a949e0f61ec8123976eb8d336f04510c55c01 --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M library/RSL_Emulation.ttcn 3 files changed, 77 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/64/24564/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id67a949e0f61ec8123976eb8d336f04510c55c01 Gerrit-Change-Number: 24564 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 Sat Jun 5 20:18:39 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Jun 2021 20:18:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MSC_ConnectionHandler: fix race in f_create_chan_and_exp() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24562 ) Change subject: MSC_ConnectionHandler: fix race in f_create_chan_and_exp() ...................................................................... Patch Set 2: Code-Review+2 re-add +2 after trivial fix -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24562 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1d4af737dcc0f9c9fa6cdaff3a92813d532e730c Gerrit-Change-Number: 24562 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Sat, 05 Jun 2021 20:18:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 20:18:56 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Jun 2021 20:18:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MSC_ConnectionHandler: fix race in f_create_chan_and_exp() In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24562 ) Change subject: MSC_ConnectionHandler: fix race in f_create_chan_and_exp() ...................................................................... MSC_ConnectionHandler: fix race in f_create_chan_and_exp() During f_create_chan_and_exp() (part of f_establish_fully()), announce the BSSAP L3 expectation before activating the lchan. In RSL_Emulation f_chan_est(), we go through Chan Request, Channel Act and Immediate Assignment followed by EST IND. Right after that, osmo-bsc sends a Complete Layer 3 on BSSAP. But in f_create_chan_and_exp(), we only create the expectation of the BSSAP right after the call to f_chan_est(), i.e. only after sending the EST IND. So far it was always juuust in time to work, but when I added a little check to the end of f_chan_est(), or alternatively an f_sleep(0.2), then BSC tests always fail with: Test case TC_reassignment_fr finished. Verdict: fail reason: Couldn't find Expect for incoming connection { [...] pdu := { bssmap := { completeLayer3Information... } With the BSSAP expectation done first, this error is avoided. Change-Id: I1d4af737dcc0f9c9fa6cdaff3a92813d532e730c --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 37adc18..c6e82d4 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -635,9 +635,9 @@ 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); + 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); - f_create_bssmap_exp(l3_enc); } function f_rsl_send_l3(template PDU_ML3_MS_NW l3, template (omit) RslLinkId link_id := omit, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24562 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1d4af737dcc0f9c9fa6cdaff3a92813d532e730c Gerrit-Change-Number: 24562 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 20:18:57 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Jun 2021 20:18:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: fix osmo-stp.cfg: missing smlc routing In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24563 ) Change subject: bsc: fix osmo-stp.cfg: missing smlc routing ...................................................................... bsc: fix osmo-stp.cfg: missing smlc routing Without the SMLC routing in place, virtually all BSC_Tests fail with: VirtSMLC-BSSAP_LE(8)@x42: setverdict(fail): none -> fail reason: "BSSMAP-LE: Timeout waiting for RESET-ACK after sending RESET" Copy the SMLC part of osmo-stp.cfg from docker-playground/ttcn3-bsc-test/osmo-stp.cfg and localhost-ize it. Change-Id: I274515e7e9205c895cd250abed7361aef5a33f56 --- M bsc/osmo-stp.cfg 1 file changed, 8 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bsc/osmo-stp.cfg b/bsc/osmo-stp.cfg index b29dc91..7ea46a4 100644 --- a/bsc/osmo-stp.cfg +++ b/bsc/osmo-stp.cfg @@ -55,10 +55,18 @@ asp virt-msc2-0 routing-key 3 0.0.3 + asp virt-smlc-0 23908 2905 m3ua + local-ip 127.0.0.1 + remote-ip 127.0.0.1 + as virt-smlc m3ua + asp virt-smlc-0 + routing-key 6 0.23.6 + route-table system update route 0.23.1 7.255.7 linkset virt-msc0 update route 0.0.2 7.255.7 linkset virt-msc1 update route 0.0.3 7.255.7 linkset virt-msc2 + update route 0.23.6 7.255.7 linkset virt-smlc listen m3ua 2905 accept-asp-connections dynamic-permitted listen ipa 5000 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I274515e7e9205c895cd250abed7361aef5a33f56 Gerrit-Change-Number: 24563 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 20:20:02 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Jun 2021 20:20:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: test TSC in various messages In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24564 ) Change subject: bsc: test TSC in various messages ...................................................................... Patch Set 2: Code-Review+2 re-add +2 after merge conflict resolution -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id67a949e0f61ec8123976eb8d336f04510c55c01 Gerrit-Change-Number: 24564 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Sat, 05 Jun 2021 20:20:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 20:20:09 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Jun 2021 20:20:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: test TSC in various messages In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24564 ) Change subject: bsc: test TSC in various messages ...................................................................... bsc: test TSC in various messages In a recent osmo-bsc patch: "allow explixit TSC Set and TSC on chan activ / modif / assignment" c33eb8d56943b8981523754b081967e6ff5f245d Ic665125255d7354f5499d10dda1dd866ab243d24 I accidentally changed the default behavior of the Training Sequence Code sent to BTS and MS. So now, make sure that we verify the expected Training Sequence Code in BSC_Tests, in: RSL Channel Activate RR Immediate Assignment RR Assignment Command RR Channel Mode Modify RSL Mode Modify Related: OS#5172 SYS#5315 Change-Id: Id67a949e0f61ec8123976eb8d336f04510c55c01 --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M library/RSL_Emulation.ttcn 3 files changed, 77 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 6f603b1..9ea0269 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -684,6 +684,9 @@ pars.exp_ms_power_level := mp_exp_ms_power_level; pars.mscpool.bssap_idx := bssap_idx; + /* BTS 0 has BSIC 10 (and no explicit timeslot training_sequence_code config), so expecting TSC = (BSIC & 7) = 2 */ + pars.expect_tsc := 2; + return pars; } diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index c6e82d4..c29ccd4 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -590,7 +590,8 @@ TestHdlrParamsMSCPool mscpool, boolean media_mgw_offer_ipv6, OCT3 last_used_eutran_plmn optional, - boolean expect_channel_mode_modify + boolean expect_channel_mode_modify, + uint3_t expect_tsc optional }; /* Note: Do not use valueof() to get a value of this template, use @@ -627,17 +628,23 @@ }, media_mgw_offer_ipv6 := true, last_used_eutran_plmn := omit, - expect_channel_mode_modify := false + expect_channel_mode_modify := false, + expect_tsc := omit } function f_create_chan_and_exp() runs on MSC_ConnHdlr { 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 := ?; + + if (not istemplatekind(g_pars.expect_tsc, "omit")) { + tsc := g_pars.expect_tsc; + } 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); + RSL_Emulation.f_chan_est(g_pars.ra, l3_enc, g_pars.link_id, g_pars.fn, tsc); } function f_rsl_send_l3(template PDU_ML3_MS_NW l3, template (omit) RslLinkId link_id := omit, @@ -859,6 +866,14 @@ } +private function rr_chan_desc_tsc(ChannelDescription2_V cd2) + return uint3_t +{ + var uint3_t tsc := oct2int(cd2.octet3); + tsc := tsc / 32; /* shl 5 */ + return tsc; +} + altstep as_assignment(inout AssignmentState st) 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 { @@ -867,6 +882,16 @@ if (ischosen(l3.msgs.rrm.assignmentCommand)) { var RslChannelNr new_chan_nr; var GsmArfcn arfcn; + + if (not istemplatekind(g_pars.expect_tsc, "omit")) { + var uint3_t got_tsc := rr_chan_desc_tsc(l3.msgs.rrm.assignmentCommand.descrOf1stChAfterTime); + if (not match(got_tsc, g_pars.expect_tsc)) { + setverdict(fail, "RR Assignment: unexpected TSC in Channel Description: expected ", + g_pars.expect_tsc, " got ", got_tsc); + mtc.stop; + } + } + f_ChDesc2RslChanNr(l3.msgs.rrm.assignmentCommand.descrOf1stChAfterTime, new_chan_nr, arfcn); /* FIXME: Determine TRX NR by ARFCN, instead of hard-coded TRX0! */ @@ -1264,6 +1289,32 @@ " to signalling mode, but got spd_ind == ", rsl_spd_ind); mtc.stop; } + + if (not istemplatekind(g_pars.expect_tsc, "omit")) { + var uint3_t got_tsc := rr_chan_desc_tsc(st.rr_channel_mode_modify_msg.msgs.rrm.channelModeModify.channelDescription); + if (not match(got_tsc, g_pars.expect_tsc)) { + setverdict(fail, "RR Channel Mode Modify: unexpected TSC in Channel Description: expected ", + g_pars.expect_tsc, " got ", got_tsc); + mtc.stop; + } + } + + } else { + /* not exp_modify, so this did a Channel Activate */ + + /* Check the TSC */ + if (not istemplatekind(g_pars.expect_tsc, "omit")) { + var RSL_Message chan_act := f_rslem_get_last_act(RSL_PROC, 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; + if (not match(got_tsc, g_pars.expect_tsc)) { + setverdict(fail, "RSL CHANnel ACTIVation: unexpected TSC in Channel Description: expected ", + g_pars.expect_tsc, " got ", got_tsc); + mtc.stop; + } + } + } } /* When the BSC detects that LCLS is possible it will cross the diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn index cb8b763..91fa2db 100644 --- a/library/RSL_Emulation.ttcn +++ b/library/RSL_Emulation.ttcn @@ -135,18 +135,37 @@ } /* establish a dedicated channel using 'ra' */ -function f_chan_est(OCT1 ra, octetstring est_l3, template RslLinkId link_id, GsmFrameNumber fn := 23) +function f_chan_est(OCT1 ra, octetstring est_l3, template RslLinkId link_id, GsmFrameNumber fn := 23, + template uint3_t tsc := ?) 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)); + /* 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); 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 ", + rr.payload.imm_ass.chan_desc.tsc); + 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)); + + /* Check above CHAN ACTIV */ + var RSL_Message chan_act := f_rslem_get_last_act(RSL_PROC, 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; + if (not match(got_tsc, tsc)) { + setverdict(fail, "RSL CHANnel ACTIVation: unexpected TSC in Channel Description: expected ", + tsc, " got ", got_tsc); + mtc.stop; + } + } } function f_deact_chan(RSL_Cause cause) runs on RSL_DchanHdlr -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id67a949e0f61ec8123976eb8d336f04510c55c01 Gerrit-Change-Number: 24564 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 20:23:34 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Jun 2021 20:23:34 +0000 Subject: Change in osmo-bsc[master]: RSL chan_nr: replace OSMO_ASSERT with error handling In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24524 to look at the new patch set (#6). Change subject: RSL chan_nr: replace OSMO_ASSERT with error handling ...................................................................... RSL chan_nr: replace OSMO_ASSERT with error handling It's bad to abort the program for an incompatible chan_nr. Instead of OSMO_ASSERT(), make sure that error handling happens all they way to the original callers of gsm_lchan2chan_nr etc. This is also preparation to add further error causes: Osmocom specific cbits needed for a non-Osmo BTS. Related: SYS#5315 OS#4940 Change-Id: I71ed6437c403a3f9336e17a94b4948fca295d853 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lcs_loc_req.c M src/osmo-bsc/osmo_bsc_lcls.c M src/osmo-bsc/system_information.c M tests/handover/handover_test.c 8 files changed, 182 insertions(+), 58 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/24/24524/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71ed6437c403a3f9336e17a94b4948fca295d853 Gerrit-Change-Number: 24524 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 20:23:34 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Jun 2021 20:23:34 +0000 Subject: Change in osmo-bsc[master]: RSL: rx and tx VAMOS Channel Number cbits for VAMOS 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/+/24430 to look at the new patch set (#15). Change subject: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans ...................................................................... RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans Add the Osmocom-specific extension to indicate VAMOS shadow lchans in RSL, in lchan lookup and RSL message transmission. Note that RR messages containing cbits (Assignment Command, Handover Command, ...) must *not* send Osmocom specific cbits to the MS. Only the RSL messages directed to the BTS send Osmocom specific bits. Related: SYS#5315 OS#4940 Depends: If33c1695922d110c0d2c60d5c0136caf2587194e (libosmocore) Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bts_trx.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lcs_loc_req.c M tests/handover/handover_test.c 7 files changed, 89 insertions(+), 42 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/30/24430/15 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 Gerrit-Change-Number: 24430 Gerrit-PatchSet: 15 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 20:24:35 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Jun 2021 20:24:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: adjust to changed 'vamos modify' vty command syntax In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24499 ) Change subject: bsc: adjust to changed 'vamos modify' vty command syntax ...................................................................... bsc: adjust to changed 'vamos modify' vty command syntax Related: SYS#5315 OS#4940 Ibf53f4797d7491b17a33946fd7d920f038362b4c Change-Id: I94988ee64edbecbe19c41d8cac5b055360f76547 --- M bsc/BSC_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved fixeria: 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 9ea0269..2b3703f 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -8602,7 +8602,7 @@ f_establish_fully(ass_cmd, exp_compl); - f_vty_transceive(BSCVTY, "vamos modify lchan 0 0 1 0 tsc 2 3"); + f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 1 sub-slot 0 modify vamos tsc 2 3"); var RSL_Message rsl; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I94988ee64edbecbe19c41d8cac5b055360f76547 Gerrit-Change-Number: 24499 Gerrit-PatchSet: 5 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 Sat Jun 5 20:24:36 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Jun 2021 20:24:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 ) Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... add bsc/BSC_Tests_VAMOS.ttcn BSC_Tests_VAMOS.ttcn is separate from BSC_Tests.ttcn in order to instruct osmo-bts-omldummy to pass BTS_FEAT_VAMOS == true in the OML BTS attributes. Add tests: TC_chan_act_to_vamos() TC_mode_modify_to_vamos_fr() TC_mode_modify_to_vamos_hr() TC_assign_to_secondary_lchan_fr() TC_assign_to_secondary_lchan_hr() TC_vamos_multiplex_tch_f_tch_f() TC_vamos_multiplex_tch_h_tch_h_tch_h_tch_h() Change-Id: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 --- M bsc/BSC_Tests.ttcn A bsc/BSC_Tests_VAMOS.ttcn M library/L3_Templates.ttcn M library/RSL_Types.ttcn 4 files changed, 859 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 2b3703f..41deea1 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -20,6 +20,8 @@ * level testing. */ +friend module BSC_Tests_VAMOS; + import from Misc_Helpers all; import from General_Types all; import from Osmocom_Types all; @@ -673,7 +675,7 @@ uint8_t mp_exp_ms_power_level := 7; } -private function f_gen_test_hdlr_pars(integer bssap_idx := 0) return TestHdlrParams { +friend function f_gen_test_hdlr_pars(integer bssap_idx := 0) return TestHdlrParams { var TestHdlrParams pars := valueof(t_def_TestHdlrPars); if (mp_bssap_cfg[bssap_idx].transport == BSSAP_TRANSPORT_AoIP) { @@ -799,7 +801,7 @@ } -private function f_shutdown_helper() runs on test_CT { +friend function f_shutdown_helper() runs on test_CT { all component.stop; setverdict(pass); mtc.stop; @@ -1001,7 +1003,7 @@ "sccp-timer iar " & int2str(g_bsc_sccp_timer_iar)}); } -private function f_logp(TELNETasp_PT pt, charstring log_msg) +friend function f_logp(TELNETasp_PT pt, charstring log_msg) { // log on TTCN3 log output log(log_msg); @@ -6602,7 +6604,7 @@ } } -private 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, 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)); diff --git a/bsc/BSC_Tests_VAMOS.ttcn b/bsc/BSC_Tests_VAMOS.ttcn new file mode 100644 index 0000000..bf487cf --- /dev/null +++ b/bsc/BSC_Tests_VAMOS.ttcn @@ -0,0 +1,738 @@ +module BSC_Tests_VAMOS { + +/* Integration Tests for OsmoBSC + * (C) 2021 by sysmocom - s.f.m.c. GmbH + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + * + * This test suite tests OsmoBSC while emulating both multiple BTS + MS as + * well as the MSC. See README for more details. + * + * There are test cases that run in so-called 'handler mode' and test cases + * that run directly on top of the BSSAP and RSL CodecPorts. The "handler mode" + * tests abstract the multiplexing/demultiplexing of multiple SCCP connections + * and/or RSL channels and are hence suitable for higher-level test cases, while + * the "raw" tests directly on top of the CodecPorts are more suitable for lower- + * level testing. + */ + +import from BSC_Tests all; + +import from Misc_Helpers all; +import from General_Types all; +import from Osmocom_Types all; +import from GSM_Types all; +import from IPL4asp_Types all; + +import from BSSAP_Types all; +import from RAN_Adapter all; +import from BSSAP_LE_Adapter all; +import from BSSAP_LE_CodecPort all; +import from BSSAP_LE_Types all; +import from BSSLAP_Types all; +import from BSSAP_CodecPort all; +import from BSSMAP_Templates all; +import from IPA_Emulation all; +import from IPA_CodecPort all; +import from IPA_Types all; +import from IPA_Testing all; +import from RSL_Types all; +import from RSL_Emulation all; +import from MGCP_Emulation all; +import from MGCP_Templates all; +import from MGCP_Types all; +import from MGCP_CodecPort all; + +import from Osmocom_CTRL_Functions all; +import from Osmocom_CTRL_Types all; +import from Osmocom_CTRL_Adapter all; + +import from StatsD_Types all; +import from StatsD_CodecPort all; +import from StatsD_CodecPort_CtrlFunct all; +import from StatsD_Checker all; + +import from Osmocom_VTY_Functions all; +import from TELNETasp_PortType all; + +import from MobileL3_CommonIE_Types all; +import from MobileL3_Types all; +import from MobileL3_RRM_Types all; +import from L3_Templates all; +import from GSM_RR_Types all; + +import from SCCP_Templates all; +import from BSSMAP_Templates all; +import from BSSMAP_LE_Templates all; + +import from SCCPasp_Types all; + +import from GSM_SystemInformation all; +import from GSM_RestOctets all; +import from TCCConversion_Functions all; + +import from RAN_Emulation all; +import from MSC_ConnectionHandler all; + +import from Native_Functions all; + +const integer NUM_BTS := 3; +const integer NUM_MSC := 3; + +private function f_rsl_chan_nr_to_subslot(RslChannelNr chan_nr) +return integer +{ + var integer subslot; + select (chan_nr) { + case (t_RslChanNr_Bm(?)) { + /* TCH/F, always subslot 0 */ + subslot := 0; + } + case (t_RslChanNr_Lm(?, ?)) { + /* TCH/H */ + subslot := chan_nr.u.lm.sub_chan; + } + case (t_RslChanNr_Osmo_VAMOS_Bm(?)) { + /* TCH/F, always subslot 0 */ + subslot := 0; + } + case (t_RslChanNr_Osmo_VAMOS_Lm(?, ?)) { + /* TCH/H */ + subslot := chan_nr.u.lm.sub_chan; + } + case else { + setverdict(fail, "unsupported RslChannelNr type in f_rsl_chan_nr_to_subslot()"); + mtc.stop; + } + } + return subslot; +} + +private function f_rsl_chan_nr_to_rsl_cbits(RslChannelNr chan_nr) +return BIT5 +{ + var BIT5 rsl_cbits; + select (chan_nr) { + case (t_RslChanNr_Bm(?)) { + rsl_cbits := '00001'B; + } + case (t_RslChanNr_Lm(?, ?)) { + rsl_cbits := int2bit(2 + chan_nr.u.lm.sub_chan, 5); /* '0001x'B */ + } + case (t_RslChanNr_Osmo_VAMOS_Bm(?)) { + rsl_cbits := '11101'B; + } + case (t_RslChanNr_Osmo_VAMOS_Lm(?, ?)) { + rsl_cbits := int2bit(30 + chan_nr.u.lm.sub_chan, 5); /* '1111x'B */ + } + case else { + setverdict(fail, "unsupported RslChannelNr type in f_rsl_chan_nr_to_rsl_cbits()"); + mtc.stop; + } + } + return rsl_cbits; +} + +private function f_rsl_chan_nr_to_rr_cbits(RslChannelNr chan_nr) +return BIT5 +{ + var BIT5 rr_cbits; + select (chan_nr) { + case (t_RslChanNr_Bm(?)) { + rr_cbits := '00001'B; + } + case (t_RslChanNr_Lm(?, ?)) { + rr_cbits := int2bit(2 + chan_nr.u.lm.sub_chan, 5); /* '0001x'B */ + } + case (t_RslChanNr_Osmo_VAMOS_Bm(?)) { + rr_cbits := '00001'B; + /* In RR, there must *not* be Osmocom specific cbits */ + } + case (t_RslChanNr_Osmo_VAMOS_Lm(?, ?)) { + rr_cbits := int2bit(2 + chan_nr.u.lm.sub_chan, 5); /* '0001x'B */ + /* In RR, there must *not* be Osmocom specific cbits */ + } + case else { + setverdict(fail, "unsupported RslChannelNr type in f_rsl_chan_nr_to_rr_cbits()"); + mtc.stop; + } + } + return rr_cbits; +} + +private function f_rsl_chan_nr_to_chrt(RslChannelNr chan_nr, boolean vamos) +return RSL_ChanRateType +{ + var boolean fr; + select (chan_nr) { + case (t_RslChanNr_Bm(?)) { + fr := true; + } + case (t_RslChanNr_Lm(?, ?)) { + fr := false; + } + case (t_RslChanNr_Osmo_VAMOS_Bm(?)) { + fr := true; + } + case (t_RslChanNr_Osmo_VAMOS_Lm(?, ?)) { + fr := false; + } + case else { + setverdict(fail, "unsupported RslChannelNr type in f_rsl_chan_nr_to_chrt()"); + mtc.stop; + } + } + if (fr) { + if (vamos) { + return RSL_CHRT_OSMO_TCH_F_VAMOS; + } else { + return RSL_CHRT_TCH_F; + } + } else { + if (vamos) { + return RSL_CHRT_OSMO_TCH_H_VAMOS; + } else { + return RSL_CHRT_TCH_H; + } + } +} + +private function f_lchan_str(integer bts_nr, integer trx_nr, RslChannelNr chan_nr) +return charstring +{ + var integer subslot := f_rsl_chan_nr_to_subslot(chan_nr); + return "lchan " & int2str(bts_nr) & " " & int2str(trx_nr) & " " & int2str(chan_nr.tn) & " " & int2str(subslot); +} + +private function f_long_lchan_str(integer bts_nr, integer trx_nr, RslChannelNr chan_nr) +return charstring +{ + var integer subslot := f_rsl_chan_nr_to_subslot(chan_nr); + return "bts " & int2str(bts_nr) & " trx " & int2str(trx_nr) & " timeslot " & int2str(chan_nr.tn) & " sub-slot " & int2str(subslot); +} + +private function f_lchan_ensure_established(TELNETasp_PT vty, integer bts_nr, integer trx_nr, RslChannelNr chan_nr) +{ + var charstring lchan_str := f_lchan_str(bts_nr, trx_nr, chan_nr); + var charstring lchan_info := f_vty_transceive_ret(vty, "show " & lchan_str); + if (f_strstr(lchan_info, "State: ESTABLISHED") < 0) { + log("'show lchan' replied: ", lchan_info); + setverdict(fail, "lchan " & lchan_str & " is not in state ESTABLISHED"); + mtc.stop; + } + setverdict(pass); +} + +/* Activate a primary lchan in VAMOS speech mode */ +testcase TC_chan_act_to_vamos() runs on test_CT { + f_init_vty(); + + f_logp(BSCVTY, "TC_chan_act_to_vamos"); + + f_init(1, false); + f_sleep(1.0); + + f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 1 sub-slot 0 activate-vamos fr"); + + var RSL_Message rsl; + + rsl := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV)); + + var RSL_IE_Body chan_mode_ie; + if (f_rsl_find_ie(rsl, RSL_IE_CHAN_MODE, chan_mode_ie) == false) { + setverdict(fail, "Cannot find RSL_IE_CHAN_MODE"); + mtc.stop; + } + if (chan_mode_ie.chan_mode.ch_rate_type != RSL_CHRT_OSMO_TCH_F_VAMOS) { + setverdict(fail, "expected chan_mode.ch_rate_type == RSL_CHRT_OSMO_TCH_F_VAMOS"); + mtc.stop; + } + + var RSL_IE_Body osmo_tsc_ie; + if (f_rsl_find_ie(rsl, RSL_IE_OSMO_TRAINING_SEQUENCE, osmo_tsc_ie) == false) { + setverdict(fail, "Cannot find RSL_IE_OSMO_TRAINING_SEQUENCE"); + mtc.stop; + } + + var RslChannelNr chan_nr := rsl.ies[0].body.chan_nr; + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, 23+10)); + + f_sleep(1.0); + f_lchan_ensure_established(BSCVTY, 0, 0, chan_nr); + + f_shutdown_helper(); +} + +/* verify that DTAP passes through both ways with the right cbits */ +private function f_verify_dtap() runs on MSC_ConnHdlr +{ + var octetstring l3_data := '00010203040506'O; + var PDU_BSSAP rx_bssap_dtap; + + /* MS to NW */ + RSL.send(ts_RSL_DATA_IND(g_chan_nr, valueof(ts_RslLinkID_DCCH(0)), l3_data)); + BSSAP.receive(tr_BSSAP_DTAP) -> value rx_bssap_dtap; + if (not match(rx_bssap_dtap.pdu.dtap, l3_data)) { + setverdict(fail, "unexpected L3 data"); + mtc.stop; + } + + /* NW to MS */ + l3_data := '0800dcba9876543210'O; + BSSAP.send(ts_BSSAP_DTAP(l3_data, '00'O)); + RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, tr_RslLinkID_DCCH(0), l3_data)); +} + + +private function f_est_lchan_and_mode_modify_to_vamos() runs on MSC_ConnHdlr { + var PDU_BSSAP ass_cmd := f_gen_ass_req(g_pars.use_osmux); + var template PDU_BSSAP exp_compl := f_gen_exp_compl(g_pars.use_osmux); + + /* puzzle together the ASSIGNMENT REQ for given codec[s] */ + if (mp_bssap_cfg[0].transport == BSSAP_TRANSPORT_AoIP) { + ass_cmd.pdu.bssmap.assignmentRequest.codecList := g_pars.ass_codec_list; + exp_compl.pdu.bssmap.assignmentComplete.speechCodec.codecElements[0] := + g_pars.ass_codec_list.codecElements[0]; + if (isvalue(g_pars.expect_mr_s0_s7)) { + exp_compl.pdu.bssmap.assignmentComplete.speechCodec.codecElements[0].s0_7 := + g_pars.expect_mr_s0_s7; + } + } + ass_cmd.pdu.bssmap.assignmentRequest.channelType := + f_BSSMAP_chtype_from_codec(g_pars.ass_codec_list.codecElements[0]); + log("expecting ASS COMPL like this: ", exp_compl); + + f_establish_fully(ass_cmd, exp_compl); + + f_lchan_ensure_established(BSCVTY, 0, 0, g_chan_nr); + + var charstring current_long_lchan_str := f_long_lchan_str(0, 0, g_chan_nr); + f_vty_transceive(BSCVTY, current_long_lchan_str & " modify vamos tsc 2 3"); + + var RSL_Message rsl_rr; + RSL.receive(tr_RSL_DATA_REQ(g_chan_nr)) -> value rsl_rr; + + var PDU_ML3_NW_MS l3 := dec_PDU_ML3_NW_MS(rsl_rr.ies[2].body.l3_info.payload); + + var integer current_subslot := f_rsl_chan_nr_to_subslot(g_chan_nr); + + template PDU_ML3_NW_MS expect_rr_modify := tr_RRM_ModeModify( + tr_ChannelDescription2_V(timeslotNumber := int2bit(g_chan_nr.tn, 3)), + tr_ChannelMode_V(mode := 'C1'O /* 1 1 0 0 0 0 0 1 speech full rate or half rate version 1 in VAMOS mode (3GPP TS 44.018) */), + extendedTSCSet := tr_ExtendedTSCSet_TV(cSDomainTSCSet := '01'B)); + + if (not match(l3, expect_rr_modify)) { + log("expected: ", expect_rr_modify); + log("got: ", l3); + setverdict(fail, "RR channelModeModify message is not as expected"); + mtc.stop; + } + f_rsl_reply(ts_RRM_ModeModifyAck(l3.msgs.rrm.channelModeModify.channelDescription, + l3.msgs.rrm.channelModeModify.channelMode, + l3.msgs.rrm.channelModeModify.extendedTSCSet), rsl_rr); + + var RSL_Message rsl; + RSL.receive(tr_RSL_MODE_MODIFY_REQ_with_OSMO_TSC(g_chan_nr, tr_RSL_ChanMode(f_rsl_chan_nr_to_chrt(g_chan_nr, true), RSL_CMOD_SP_GSM1), + tsc_set := 1, /* 1 means TSC Set 2 (range 1-4 in spec tables and naming, 0-3 on the wire) */ + tsc := 3)); + RSL.send(ts_RSL_MODE_MODIFY_ACK(g_chan_nr)); + f_sleep(1.0); + + f_lchan_ensure_established(BSCVTY, 0, 0, g_chan_nr); + f_verify_dtap(); +} + +private function f_TC_mode_modify_to_vamos(charstring id) runs on MSC_ConnHdlr { + f_est_lchan_and_mode_modify_to_vamos(); +} + +/* Modify a primary lchan into VAMOS speech mode */ +testcase TC_mode_modify_to_vamos_fr() runs on test_CT { + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn; + + f_init(1, true); + f_sleep(1.0); + + pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); + vc_conn := f_start_handler(refers(f_TC_mode_modify_to_vamos), pars); + vc_conn.done; + f_shutdown_helper(); +} + +/* Modify a primary lchan into VAMOS speech mode */ +testcase TC_mode_modify_to_vamos_hr() runs on test_CT { + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn; + + f_init(1, true); + f_sleep(1.0); + + pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecHR})); + vc_conn := f_start_handler(refers(f_TC_mode_modify_to_vamos), pars); + vc_conn.done; + f_shutdown_helper(); +} + +/* Establish a primary lchan, and then do a re-assignment to a VAMOS shadow lchan. */ +private function f_reassign_secondary_to_primary_lchan(RslChannelNr new_chan_nr) runs on MSC_ConnHdlr +{ + var integer current_subslot := f_rsl_chan_nr_to_subslot(g_chan_nr); + + var integer new_subslot := f_rsl_chan_nr_to_subslot(new_chan_nr); + var BIT5 new_rr_cbits := f_rsl_chan_nr_to_rr_cbits(new_chan_nr); + + activate(as_Media_mgw()); + + f_rslem_register(0, new_chan_nr, RSL_PROC); + log("f_rslem_register(0, new_chan_nr = ", new_chan_nr, ")"); + + f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot " & int2str(g_chan_nr.tn) & " vamos-sub-slot " & int2str(current_subslot) + & " reassign-to trx 0 timeslot " & int2str(new_chan_nr.tn) & " sub-slot " & int2str(new_subslot)); + /* RSL CHAN ACT is ACKed by RSL emulation */ + + var RSL_Message rsl; + var RSL_IE_Body ie; + var boolean b_unused; + interleave { + [] RSL.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); + var template PDU_ML3_NW_MS expect_rr_assignment := tr_RR_AssignmentCommand( + desc := tr_ChannelDescription2_V(timeslotNumber := int2bit(new_chan_nr.tn, 3), + channelTypeandTDMAOffset := new_rr_cbits), + mode := tr_ChannelMode_TV(mode := '01'O + /* 0 0 0 0 0 0 0 1 speech full rate or half rate version 1 (3GPP TS 44.018) */), + extendedTSCSet := omit); + if (not match(l3, expect_rr_assignment)) { + log("expected: ", expect_rr_assignment); + log("got: ", l3); + setverdict(fail, "RR assignmentCommand message is not as expected"); + mtc.stop; + } + + var PDU_ML3_MS_NW l3_tx := valueof(ts_RRM_AssignmentComplete('00'O)); + RSL.send(ts_RSL_EST_IND(new_chan_nr, valueof(ts_RslLinkID_DCCH(0)), + enc_PDU_ML3_MS_NW(l3_tx))); + + } + [] RSL.receive(tr_RSL_IPA_CRCX(new_chan_nr)) -> value rsl { + var uint7_t rtp_pt := 0; + if (f_rsl_find_ie(rsl, RSL_IE_IPAC_RTP_PAYLOAD, ie)) { + 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")), + 4321, + rtp_pt)); + } + [] RSL.receive(tr_RSL_IPA_MDCX(new_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); + var uint16_t conn_id := ie.ipa_conn_id; + /* 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)); + 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; + /* optional */ + if (f_rsl_find_ie(rsl, RSL_IE_IPAC_RTP_PAYLOAD, ie)) { + rtp_pt := ie.ipa_rtp_pt; + } + RSL.send(ts_RSL_IPA_MDCX_ACK(new_chan_nr, conn_id, + oct2int(f_inet_addr(peer.host)), + peer.port_nr, + rtp_pt)); + } + [] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {} + [] RSL.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) { + /* + RSL.send(ts_ASP_RSL_UD(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr), + IPAC_PROTO_RSL_TRX0)); + */ + f_rslem_unregister(0, g_chan_nr, RSL_PROC); + g_chan_nr := new_chan_nr; + } + /* (There must be no RSL_MT_REL_REQ on the old lchan.) */ + } + + setverdict(pass); + + f_sleep(1.0); + f_vty_transceive(BSCVTY, "show lchan summary"); + + f_verify_dtap(); +} + +private function f_est_and_reassign_to_secondary_lchan(RslChannelNr new_chan_nr) runs on MSC_ConnHdlr +{ + var integer new_subslot := f_rsl_chan_nr_to_subslot(new_chan_nr); + var BIT5 new_rr_cbits := f_rsl_chan_nr_to_rr_cbits(new_chan_nr); + + var PDU_BSSAP ass_cmd := f_gen_ass_req(); + var template PDU_BSSAP exp_compl := f_gen_exp_compl(); + + /* puzzle together the ASSIGNMENT REQ for given codec[s] */ + if (mp_bssap_cfg[0].transport == BSSAP_TRANSPORT_AoIP) { + ass_cmd.pdu.bssmap.assignmentRequest.codecList := g_pars.ass_codec_list; + exp_compl.pdu.bssmap.assignmentComplete.speechCodec.codecElements[0] := + g_pars.ass_codec_list.codecElements[0]; + if (isvalue(g_pars.expect_mr_s0_s7)) { + exp_compl.pdu.bssmap.assignmentComplete.speechCodec.codecElements[0].s0_7 := + g_pars.expect_mr_s0_s7; + } + } + ass_cmd.pdu.bssmap.assignmentRequest.channelType := + f_BSSMAP_chtype_from_codec(g_pars.ass_codec_list.codecElements[0]); + log("expecting ASS COMPL like this: ", exp_compl); + + f_establish_fully(ass_cmd, exp_compl); + + var integer current_subslot := f_rsl_chan_nr_to_subslot(g_chan_nr); + + f_sleep(1.0); + + activate(as_Media_mgw()); + + f_rslem_register(0, new_chan_nr, RSL_PROC); + log("f_rslem_register(0, new_chan_nr = ", new_chan_nr, ")"); + + f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot " & int2str(g_chan_nr.tn) & " sub-slot " & int2str(current_subslot) + & " reassign-to trx 0 timeslot " & int2str(new_chan_nr.tn) & " vamos-sub-slot " & int2str(new_subslot) & " tsc 4 2"); + /* RSL CHAN ACT is ACKed by RSL emulation */ + + var RSL_Message rsl; + var RSL_IE_Body ie; + var boolean b_unused; + interleave { + [] RSL.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); + var template PDU_ML3_NW_MS expect_rr_assignment := tr_RR_AssignmentCommand( + desc := tr_ChannelDescription2_V(timeslotNumber := int2bit(new_chan_nr.tn, 3), + channelTypeandTDMAOffset := new_rr_cbits), + mode := tr_ChannelMode_TV(mode := 'C1'O + /* 1 1 0 0 0 0 0 1 speech full rate or half rate version 1 in VAMOS mode (3GPP TS 44.018) */), + extendedTSCSet := tr_ExtendedTSCSet_TV(cSDomainTSCSet := '11'B + /* 3 means TSC Set 4 (range 1-4 in spec tables and naming, 0-3 on the wire) */)); + if (not match(l3, expect_rr_assignment)) { + log("expected: ", expect_rr_assignment); + log("got: ", l3); + setverdict(fail, "RR assignmentCommand message is not as expected"); + mtc.stop; + } + + var PDU_ML3_MS_NW l3_tx := valueof(ts_RRM_AssignmentComplete('00'O)); + RSL.send(ts_RSL_EST_IND(new_chan_nr, valueof(ts_RslLinkID_DCCH(0)), + enc_PDU_ML3_MS_NW(l3_tx))); + + } + [] RSL.receive(tr_RSL_IPA_CRCX(new_chan_nr)) -> value rsl { + var uint7_t rtp_pt := 0; + if (f_rsl_find_ie(rsl, RSL_IE_IPAC_RTP_PAYLOAD, ie)) { + 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")), + 4321, + rtp_pt)); + } + [] RSL.receive(tr_RSL_IPA_MDCX(new_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); + var uint16_t conn_id := ie.ipa_conn_id; + /* 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)); + 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; + /* optional */ + if (f_rsl_find_ie(rsl, RSL_IE_IPAC_RTP_PAYLOAD, ie)) { + rtp_pt := ie.ipa_rtp_pt; + } + RSL.send(ts_RSL_IPA_MDCX_ACK(new_chan_nr, conn_id, + oct2int(f_inet_addr(peer.host)), + peer.port_nr, + rtp_pt)); + } + [] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {} + [] RSL.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) { + /* + RSL.send(ts_ASP_RSL_UD(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr), + IPAC_PROTO_RSL_TRX0)); + */ + f_rslem_unregister(0, g_chan_nr, RSL_PROC); + g_chan_nr := new_chan_nr; + } + /* (There must be no RSL_MT_REL_REQ on the old lchan.) */ + } + + setverdict(pass); + + f_sleep(1.0); + f_vty_transceive(BSCVTY, "show lchan summary"); + + f_verify_dtap(); +} + +/* Establish a primary lchan, and then do a re-assignment to a VAMOS shadow lchan. + * Also re-assign back to a primary lchan. */ +private function f_TC_assign_to_secondary_lchan_fr(charstring id) runs on MSC_ConnHdlr { + f_est_and_reassign_to_secondary_lchan(valueof(t_RslChanNr_Osmo_VAMOS_Bm(2))); + f_reassign_secondary_to_primary_lchan(valueof(t_RslChanNr_Bm(3))); + f_perform_clear(RSL); + f_sleep(1.0); +} + +/* Establish a primary lchan, and then do a re-assignment to a VAMOS shadow lchan. */ +testcase TC_assign_to_secondary_lchan_fr() runs on test_CT { + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn; + + f_init(1, true); + f_sleep(1.0); + + pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); + vc_conn := f_start_handler(refers(f_TC_assign_to_secondary_lchan_fr), pars); + vc_conn.done; + f_shutdown_helper(); +} + +/* Establish a primary lchan, and then do a re-assignment to a VAMOS shadow lchan. + * Also re-assign back to a primary lchan. */ +private function f_TC_assign_to_secondary_lchan_hr(charstring id) runs on MSC_ConnHdlr { + f_est_and_reassign_to_secondary_lchan(valueof(t_RslChanNr_Osmo_VAMOS_Lm(6, 0))); + f_reassign_secondary_to_primary_lchan(valueof(t_RslChanNr_Lm(6, 1))); + f_perform_clear(RSL); + f_sleep(1.0); +} + +/* Establish a primary lchan, and then do a re-assignment to a VAMOS shadow lchan. */ +testcase TC_assign_to_secondary_lchan_hr() runs on test_CT { + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn; + + f_init(1, true); + f_sleep(1.0); + + pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecHR})); + vc_conn := f_start_handler(refers(f_TC_assign_to_secondary_lchan_hr), pars); + vc_conn.done; + f_shutdown_helper(); +} + +/* First, primary lchan of TC_vamos_multiplex_tch_f_tch_f() */ +private function f_TC_vamos_multiplex_tch_f_tch_f1(charstring id) runs on MSC_ConnHdlr { + f_est_lchan_and_mode_modify_to_vamos(); + f_logp(BSCVTY, "f_est_lchan_and_mode_modify_to_vamos done"); +} + +/* Second, VAMOS shadow lchan of TC_vamos_multiplex_tch_f_tch_f() */ +private function f_TC_vamos_multiplex_tch_f_tch_f2(charstring id) runs on MSC_ConnHdlr { + f_est_and_reassign_to_secondary_lchan(valueof(t_RslChanNr_Osmo_VAMOS_Bm(1))); +} + +/* Establish a primary lchan and modify it to VAMOS speech mode. Then establish + * another primary lchan, and re-assign it to the VAMOS secondary lchan of the + * first primary lchan. */ +testcase TC_vamos_multiplex_tch_f_tch_f() 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 := '001014234234234'H; + pars2.media_nr := 2; + + f_init(1, true); + f_sleep(1.0); + + pars1.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); + pars2.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); + vc_conn1 := f_start_handler(refers(f_TC_vamos_multiplex_tch_f_tch_f1), pars1); + vc_conn1.done; + + vc_conn2 := f_start_handler(refers(f_TC_vamos_multiplex_tch_f_tch_f2), pars2); + vc_conn2.done; + f_shutdown_helper(); +} + +/* First, primary lchan of TC_vamos_multiplex_tch_h_tch_h_tch_h_tch_h() */ +private function f_TC_vamos_multiplex_tch_h_tch_h1(charstring id) runs on MSC_ConnHdlr { + f_est_lchan_and_mode_modify_to_vamos(); + f_logp(BSCVTY, "f_est_lchan_and_mode_modify_to_vamos done"); +} + +/* Second, VAMOS shadow lchan of TC_vamos_multiplex_tch_h_tch_h_tch_h_tch_h() */ +private function f_TC_vamos_multiplex_tch_h_tch_h2(charstring id) runs on MSC_ConnHdlr { + f_est_and_reassign_to_secondary_lchan(valueof(t_RslChanNr_Osmo_VAMOS_Lm(5, 0))); +} + +private function f_TC_vamos_multiplex_tch_h_tch_h4(charstring id) runs on MSC_ConnHdlr { + f_est_and_reassign_to_secondary_lchan(valueof(t_RslChanNr_Osmo_VAMOS_Lm(5, 1))); +} + +/* Establish a primary lchan and modify it to VAMOS speech mode. Then establish + * another primary lchan, and re-assign it to the VAMOS secondary lchan of the + * first primary lchan. */ +testcase TC_vamos_multiplex_tch_h_tch_h_tch_h_tch_h() runs on test_CT { + var TestHdlrParams pars1 := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn1; + pars1.imsi := '001011111111111'H; + pars1.media_nr := 1; + + var TestHdlrParams pars2 := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn2; + pars2.imsi := '001012222222222'H; + pars2.media_nr := 2; + + var TestHdlrParams pars3 := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn3; + pars3.imsi := '001013333333333'H; + pars3.media_nr := 3; + + var TestHdlrParams pars4 := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn4; + pars4.imsi := '001014444444444'H; + pars4.media_nr := 4; + + f_init(1, true); + f_sleep(1.0); + + pars1.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecHR})); + pars2.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecHR})); + pars3.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecHR})); + pars4.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecHR})); + + vc_conn1 := f_start_handler(refers(f_TC_vamos_multiplex_tch_h_tch_h1), pars1); + vc_conn1.done; + + vc_conn2 := f_start_handler(refers(f_TC_vamos_multiplex_tch_h_tch_h2), pars2); + vc_conn2.done; + + /* Also fill up the second subslot of the TCH/H timeslot */ + vc_conn3 := f_start_handler(refers(f_TC_vamos_multiplex_tch_h_tch_h1), pars3); + vc_conn3.done; + + vc_conn4 := f_start_handler(refers(f_TC_vamos_multiplex_tch_h_tch_h4), pars4); + vc_conn4.done; + f_shutdown_helper(); +} + +control { + execute( TC_chan_act_to_vamos() ); + execute( TC_mode_modify_to_vamos_fr() ); + execute( TC_mode_modify_to_vamos_hr() ); + execute( TC_assign_to_secondary_lchan_fr() ); + execute( TC_assign_to_secondary_lchan_hr() ); + execute( TC_vamos_multiplex_tch_f_tch_f() ); + execute( TC_vamos_multiplex_tch_h_tch_h_tch_h_tch_h() ); +} + +} diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index 5d688de..53731c0 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -530,7 +530,51 @@ } } -template (value) PDU_ML3_MS_NW ts_RRM_ModeModifyAck(ChannelDescription2_V desc, ChannelMode_V mode) := { +template ChannelDescription2_V tr_ChannelDescription2_V(template BIT3 timeslotNumber := ?, + template BIT5 channelTypeandTDMAOffset := ?) := { + timeslotNumber := timeslotNumber, + channelTypeandTDMAOffset := channelTypeandTDMAOffset, + octet3 := ?, + octet4 := ? +} + +template ChannelMode_V tr_ChannelMode_V(template OCT1 mode) := { + mode := mode +} + +template ExtendedTSCSet_TV tr_ExtendedTSCSet_TV(template BIT2 cSDomainTSCSet := ?) := { + elementIdentifier := '6D'O, + cSDomainTSCSet := cSDomainTSCSet, + secondPSDomainTSCAssigned := ?, + primaryPSDomainTSCSet := ?, + secondaryPSDomainTSCSet := ?, + secondaryPSDomainTSCValue := ? +} + +template PDU_ML3_NW_MS tr_RRM_ModeModify(template ChannelDescription2_V desc := ?, + template ChannelMode_V mode := ?, + template ExtendedTSCSet_TV extendedTSCSet) := { + discriminator := '0110'B, + tiOrSkip := { + skipIndicator := '0000'B + }, + msgs := { + rrm := { + channelModeModify := { + messageType := '00010000'B, + channelDescription := desc, + channelMode := mode, + vGCS_TargetModeIndication := omit, + multiRateConfiguration := omit, + vGCS_Ciphering_Parameters := omit, + extendedTSCSet := extendedTSCSet + } + } + } +} + +template (value) PDU_ML3_MS_NW ts_RRM_ModeModifyAck(ChannelDescription2_V desc, ChannelMode_V mode, + template (omit) ExtendedTSCSet_TV extendedTSCSet := omit) := { discriminator := '0000'B, /* overwritten */ tiOrSkip := { skipIndicator := '0000'B @@ -541,7 +585,7 @@ messageType := '00010111'B, channelDescription := desc, channelMode := mode, - extendedTSCSet := omit + extendedTSCSet := extendedTSCSet } } } @@ -584,6 +628,57 @@ } } +template ChannelMode_TV tr_ChannelMode_TV(template OCT1 mode) := { + elementIdentifier := '63'O, + mode := mode +} + +template (present) PDU_ML3_NW_MS tr_RR_AssignmentCommand( + template ChannelDescription2_V desc := ?, + template ChannelMode_TV mode := ?, + template ExtendedTSCSet_TV extendedTSCSet := omit +) := { + discriminator := '0110'B, + tiOrSkip := { + skipIndicator := '0000'B + }, + msgs := { + rrm := { + assignmentCommand := { + messageType := '00101110'B, + descrOf1stChAfterTime := desc, + PowerCommand := ?, + frequencyList_at := omit, + cellChannelDescr := omit, + descrMultislotAllocation := omit, + modeOf1stChannel := mode, + channelSet2 := omit, + channelSet3 := omit, + channelSet4 := omit, + channelSet5 := omit, + channelSet6 := omit, + channelSet7 := omit, + channelSet8 := omit, + descrOf2ndChAfterTime := omit, + modeOf2ndChannel := omit, + mobileAllocation_at := omit, + startingTime := omit, + frequencyList_bt := omit, + descrOf1stCh_bt := omit, + descrOf2ndCh_bt := omit, + frequencyChannelSequence := omit, + mobileAllocation_bt := omit, + cipherModeSetting := omit, + vGCS_TargetModeIndication := omit, + multiRateConfiguration := omit, + vGCS_Ciphering_Parameters := omit, + extendedTSCSet_afterTime := extendedTSCSet, + extendedTSCSet_beforeTime := omit + } + } + } +} + template (value) PDU_ML3_MS_NW ts_RRM_AssignmentComplete(OCT1 cause) := { discriminator := '0000'B, /* overwritten */ tiOrSkip := { diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index 16ce506..10284b8 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -1515,6 +1515,24 @@ * } } + + template RSL_Message tr_RSL_MODE_MODIFY_REQ_with_OSMO_TSC(template RslChannelNr chan_nr, + template RSL_IE_ChannelMode mode, + template uint8_t tsc_set := ?, + template uint8_t tsc := ?) := { + msg_disc := tr_RSL_MsgDisc(RSL_MDISC_DCHAN, false), + msg_type := RSL_MT_MODE_MODIFY_REQ, + ies := { + tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}), + tr_RSL_IE(RSL_IE_Body:{chan_mode := mode}), + tr_RSL_IE(RSL_IE_Body:{osmo_training_sequence := { + len := ?, + tsc_set := tsc_set, + tsc := tsc + } + }) + } + }; /* 8.4.10 BTS -> BSC */ template (value) RSL_Message ts_RSL_MODE_MODIFY_ACK(template (value) RslChannelNr chan_nr) := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 15 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 Sat Jun 5 20:24:37 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Jun 2021 20:24:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: allow ASP_RSL_UD on MSC_ConnHdlr RSL In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24412 ) Change subject: allow ASP_RSL_UD on MSC_ConnHdlr RSL ...................................................................... allow ASP_RSL_UD on MSC_ConnHdlr RSL In BSC_Tests_VAMOS.ttcn, in f_est_and_reassign_to_secondary_lchan() there is a missing channel release ack. By allowing ASP_RSL_UD, this rel ack can be sent trivially. Change-Id: Icd04184ed87c359349d86c5e0893c2ce9de2f7f1 --- M bsc/BSC_Tests_VAMOS.ttcn M library/RSL_Emulation.ttcn 2 files changed, 4 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests_VAMOS.ttcn b/bsc/BSC_Tests_VAMOS.ttcn index bf487cf..9ecb255 100644 --- a/bsc/BSC_Tests_VAMOS.ttcn +++ b/bsc/BSC_Tests_VAMOS.ttcn @@ -451,10 +451,8 @@ } [] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {} [] RSL.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) { - /* RSL.send(ts_ASP_RSL_UD(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr), IPAC_PROTO_RSL_TRX0)); - */ f_rslem_unregister(0, g_chan_nr, RSL_PROC); g_chan_nr := new_chan_nr; } @@ -563,10 +561,8 @@ } [] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {} [] RSL.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) { - /* RSL.send(ts_ASP_RSL_UD(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr), IPAC_PROTO_RSL_TRX0)); - */ f_rslem_unregister(0, g_chan_nr, RSL_PROC); g_chan_nr := new_chan_nr; } diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn index 91fa2db..f64329a 100644 --- a/library/RSL_Emulation.ttcn +++ b/library/RSL_Emulation.ttcn @@ -85,7 +85,7 @@ }; type port RSL_DCHAN_PT message { - inout RSLDC_ChanRqd, RSL_Message; + inout RSLDC_ChanRqd, RSL_Message, ASP_RSL_Unitdata; } with { extension "internal" }; type port RSL_CCHAN_PT message { @@ -638,6 +638,9 @@ cid := f_cid_by_comp_ref(vc_conn); IPA_PT.send(ts_ASP_RSL_UD(rx_rsl_msg, ConnectionTable[cid].stream_id)); } + [bts_role] CLIENT_PT.receive(tr_ASP_RSL_UD(?, sid := ?)) -> value rx_rsl { + IPA_PT.send(ts_ASP_RSL_UD(rx_rsl.rsl, rx_rsl.streamId)); + } [not bts_role] CLIENT_PT.receive(tr_RSL_MsgType(?)) -> value rx_rsl_msg sender vc_conn { cid := f_cid_by_comp_ref(vc_conn); conn_id := f_trx_conn_map_resolve(ConnectionTable[cid].stream_id); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icd04184ed87c359349d86c5e0893c2ce9de2f7f1 Gerrit-Change-Number: 24412 Gerrit-PatchSet: 15 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 Sat Jun 5 20:24:37 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Jun 2021 20:24:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: gitignore In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24518 ) Change subject: gitignore ...................................................................... gitignore Change-Id: Iedd6aeb17b1c774a5d96b28e69827796ff769bc1 --- M .gitignore 1 file changed, 1 insertion(+), 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/.gitignore b/.gitignore index 5c8caa5..b247c04 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ .*.sw? *.netcat.stderr *.d +*.merged -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24518 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iedd6aeb17b1c774a5d96b28e69827796ff769bc1 Gerrit-Change-Number: 24518 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 20:24:38 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Jun 2021 20:24:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc-VAMOS: add cfg files to run BSC_Tests_VAMOS locally In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24566 ) Change subject: bsc-VAMOS: add cfg files to run BSC_Tests_VAMOS locally ...................................................................... bsc-VAMOS: add cfg files to run BSC_Tests_VAMOS locally A local tccn3 test run for VAMOS looks like: while sleep 1; do osmo-bts-omldummy -f vamos 127.0.0.1 1234; done osmo-stp osmo-bsc -c osmo-bsc-vamos.cfg make compile make -j 5 ../start-testsuite.sh BSC_Tests BSC_Tests_VAMOS.cfg ../log_merge.sh BSC_Tests --rm Change-Id: Iabda4c864b02e6ddbf03386c75d67a37f92992f4 --- A bsc/BSC_Tests_VAMOS.cfg A bsc/osmo-bsc-vamos.cfg 2 files changed, 448 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests_VAMOS.cfg b/bsc/BSC_Tests_VAMOS.cfg new file mode 100644 index 0000000..d8ea207 --- /dev/null +++ b/bsc/BSC_Tests_VAMOS.cfg @@ -0,0 +1,18 @@ +[ORDERED_INCLUDE] +# Common configuration, shared between test suites +"../Common.cfg" +# testsuite specific configuration, not expected to change +"./BSC_Tests.default" + +# Local configuration below + +[LOGGING] + +[TESTPORT_PARAMETERS] + +[MODULE_PARAMETERS] + +[MAIN_CONTROLLER] + +[EXECUTE] +BSC_Tests_VAMOS.control diff --git a/bsc/osmo-bsc-vamos.cfg b/bsc/osmo-bsc-vamos.cfg new file mode 100644 index 0000000..5842a48 --- /dev/null +++ b/bsc/osmo-bsc-vamos.cfg @@ -0,0 +1,430 @@ +! +! OsmoBSC (1.0.1.122-630df) configuration saved from vty +!! +password foo +! +log stderr + logging filter all 1 + logging color 1 + logging print category 1 + logging timestamp 1 + logging print extended-timestamp 1 + logging level rll notice + logging level mm notice + logging level rr notice + logging level rsl notice + logging level nm info + logging level pag notice + logging level meas notice + logging level msc notice + logging level ho notice + logging level ref notice + logging level ctrl notice + logging level filter debug + logging level pcu debug + logging level lglobal notice + logging level llapd notice + logging level linp notice + logging level lmux notice + logging level lmi notice + logging level lmib notice + logging level lsms notice + logging level lctrl notice + logging level lgtp notice + logging level lstats notice + logging level lgsup notice + logging level loap notice + logging level lss7 notice + logging level lsccp notice + logging level lsua notice + logging level lm3ua notice + logging level lmgcp notice + logging level reset notice +! +stats interval 0 +stats reporter statsd + prefix TTCN3 + level subscriber + remote-ip 127.0.0.1 + remote-port 8125 + flush-period 1 + mtu 1024 + enable +! +line vty + no login + bind 127.0.0.1 +! +e1_input + e1_line 0 driver ipa + e1_line 0 port 0 + no e1_line 0 keepalive +cs7 instance 0 + asp asp-clnt-msc-0 2905 1905 m3ua + remote-ip 127.0.0.1 + sccp-address msc2 + point-code 0.0.2 + sccp-address msc3 + point-code 0.0.3 +network + network country code 1 + mobile network code 1 + encryption a5 0 1 3 + neci 1 + paging any use tch 0 + handover 1 + handover window rxlev averaging 10 + handover window rxqual averaging 1 + handover window rxlev neighbor averaging 10 + handover power budget interval 6 + handover power budget hysteresis 3 + handover maximum distance 9999 + timer t3113 10 + timer t3212 30 + bts 0 + type sysmobts + band DCS1800 + cell_identity 0 + location_area_code 1 + dtx uplink force + dtx downlink + base_station_id_code 10 + ms max power 15 + cell reselection hysteresis 4 + rxlev access min 0 + radio-link-timeout 32 + channel allocator ascending + rach tx integer 9 + rach max transmission 7 + channel-descrption attach 1 + channel-descrption bs-pa-mfrms 5 + channel-descrption bs-ag-blks-res 1 + early-classmark-sending forbidden + ip.access unit_id 1234 0 + oml ip.access stream_id 255 line 0 + neighbor-list mode manual-si5 + neighbor-list add arfcn 100 + neighbor-list add arfcn 200 + si5 neighbor-list add arfcn 10 + si5 neighbor-list add arfcn 20 + codec-support fr hr efr amr + gprs mode gprs + gprs routing area 0 + gprs network-control-order nc0 + gprs cell bvci 1234 + gprs cell timer blocking-timer 3 + gprs cell timer blocking-retries 3 + gprs cell timer unblocking-retries 3 + gprs cell timer reset-timer 3 + gprs cell timer reset-retries 3 + gprs cell timer suspend-timer 10 + gprs cell timer suspend-retries 3 + gprs cell timer resume-timer 10 + gprs cell timer resume-retries 3 + gprs cell timer capability-update-timer 10 + gprs cell timer capability-update-retries 3 + gprs nsei 1234 + gprs ns timer tns-block 3 + gprs ns timer tns-block-retries 3 + gprs ns timer tns-reset 3 + gprs ns timer tns-reset-retries 3 + gprs ns timer tns-test 30 + gprs ns timer tns-alive 3 + gprs ns timer tns-alive-retries 10 + gprs nsvc 0 nsvci 1234 + gprs nsvc 0 local udp port 23000 + gprs nsvc 0 remote udp port 23000 + gprs nsvc 0 remote ip 192.168.100.239 + gprs nsvc 1 nsvci 0 + gprs nsvc 1 local udp port 0 + gprs nsvc 1 remote udp port 0 + gprs nsvc 1 remote ip 0.0.0.0 + no force-combined-si + si2quater neighbor-list add earfcn 111 thresh-hi 20 thresh-lo 10 prio 3 qrxlv 22 meas 3 + trx 0 + rf_locked 0 + arfcn 871 + nominal power 23 + max_power_red 20 + rsl e1 tei 0 + timeslot 0 + phys_chan_config CCCH+SDCCH4+CBCH + hopping enabled 0 + timeslot 1 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 2 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 3 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 4 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 5 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 6 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 7 + phys_chan_config PDCH + hopping enabled 0 + bts 1 + type sysmobts + band DCS1800 + cell_identity 1 + location_area_code 1 + dtx uplink force + dtx downlink + base_station_id_code 11 + ms max power 15 + cell reselection hysteresis 4 + rxlev access min 0 + radio-link-timeout 32 + channel allocator ascending + rach tx integer 9 + rach max transmission 7 + channel-descrption attach 1 + channel-descrption bs-pa-mfrms 5 + channel-descrption bs-ag-blks-res 1 + early-classmark-sending forbidden + ip.access unit_id 1235 0 + oml ip.access stream_id 255 line 0 + neighbor-list mode manual-si5 + neighbor-list add arfcn 100 + neighbor-list add arfcn 200 + si5 neighbor-list add arfcn 10 + si5 neighbor-list add arfcn 20 + codec-support fr hr efr amr + gprs mode gprs + gprs routing area 0 + gprs network-control-order nc0 + gprs cell bvci 1235 + gprs cell timer blocking-timer 3 + gprs cell timer blocking-retries 3 + gprs cell timer unblocking-retries 3 + gprs cell timer reset-timer 3 + gprs cell timer reset-retries 3 + gprs cell timer suspend-timer 10 + gprs cell timer suspend-retries 3 + gprs cell timer resume-timer 10 + gprs cell timer resume-retries 3 + gprs cell timer capability-update-timer 10 + gprs cell timer capability-update-retries 3 + gprs nsei 1235 + gprs ns timer tns-block 3 + gprs ns timer tns-block-retries 3 + gprs ns timer tns-reset 3 + gprs ns timer tns-reset-retries 3 + gprs ns timer tns-test 30 + gprs ns timer tns-alive 3 + gprs ns timer tns-alive-retries 10 + gprs nsvc 0 nsvci 1235 + gprs nsvc 0 local udp port 23000 + gprs nsvc 0 remote udp port 23000 + gprs nsvc 0 remote ip 192.168.100.239 + gprs nsvc 1 nsvci 0 + gprs nsvc 1 local udp port 0 + gprs nsvc 1 remote udp port 0 + gprs nsvc 1 remote ip 0.0.0.0 + no force-combined-si + si2quater neighbor-list add earfcn 111 thresh-hi 20 thresh-lo 10 prio 3 qrxlv 22 meas 3 + trx 0 + rf_locked 0 + arfcn 871 + nominal power 23 + max_power_red 20 + rsl e1 tei 0 + timeslot 0 + phys_chan_config CCCH+SDCCH4+CBCH + hopping enabled 0 + timeslot 1 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 2 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 3 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 4 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 5 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 6 + phys_chan_config PDCH + hopping enabled 0 + timeslot 7 + phys_chan_config PDCH + hopping enabled 0 + bts 2 + type sysmobts + band DCS1800 + cell_identity 1 + location_area_code 2 + dtx uplink force + dtx downlink + base_station_id_code 12 + ms max power 15 + cell reselection hysteresis 4 + rxlev access min 0 + radio-link-timeout 32 + channel allocator ascending + rach tx integer 9 + rach max transmission 7 + channel-descrption attach 1 + channel-descrption bs-pa-mfrms 5 + channel-descrption bs-ag-blks-res 1 + early-classmark-sending forbidden + ip.access unit_id 1236 0 + oml ip.access stream_id 255 line 0 + neighbor-list mode manual-si5 + neighbor-list add arfcn 100 + neighbor-list add arfcn 200 + si5 neighbor-list add arfcn 10 + si5 neighbor-list add arfcn 20 + codec-support fr hr efr amr + gprs mode gprs + gprs routing area 0 + gprs network-control-order nc0 + gprs cell bvci 1236 + gprs cell timer blocking-timer 3 + gprs cell timer blocking-retries 3 + gprs cell timer unblocking-retries 3 + gprs cell timer reset-timer 3 + gprs cell timer reset-retries 3 + gprs cell timer suspend-timer 10 + gprs cell timer suspend-retries 3 + gprs cell timer resume-timer 10 + gprs cell timer resume-retries 3 + gprs cell timer capability-update-timer 10 + gprs cell timer capability-update-retries 3 + gprs nsei 1236 + gprs ns timer tns-block 3 + gprs ns timer tns-block-retries 3 + gprs ns timer tns-reset 3 + gprs ns timer tns-reset-retries 3 + gprs ns timer tns-test 30 + gprs ns timer tns-alive 3 + gprs ns timer tns-alive-retries 10 + gprs nsvc 0 nsvci 1236 + gprs nsvc 0 local udp port 23000 + gprs nsvc 0 remote udp port 23000 + gprs nsvc 0 remote ip 192.168.100.239 + gprs nsvc 1 nsvci 0 + gprs nsvc 1 local udp port 0 + gprs nsvc 1 remote udp port 0 + gprs nsvc 1 remote ip 0.0.0.0 + no force-combined-si + si2quater neighbor-list add earfcn 111 thresh-hi 20 thresh-lo 10 prio 3 qrxlv 22 meas 3 + trx 0 + rf_locked 0 + arfcn 871 + nominal power 23 + max_power_red 20 + rsl e1 tei 0 + timeslot 0 + phys_chan_config CCCH+SDCCH4+CBCH + hopping enabled 0 + timeslot 1 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 2 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 3 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 4 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 5 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 6 + phys_chan_config PDCH + hopping enabled 0 + timeslot 7 + phys_chan_config PDCH + hopping enabled 0 + bts 3 + type sysmobts + band DCS1800 + cell_identity 3 + location_area_code 3 + # re-use bts 2's ARFCN 871 and BSIC 12 (to test handover config) + base_station_id_code 12 + trx 0 + rf_locked 0 + arfcn 871 + nominal power 23 + max_power_red 20 + rsl e1 tei 0 + timeslot 0 + phys_chan_config CCCH+SDCCH4 + timeslot 1 + phys_chan_config TCH/F + timeslot 2 + phys_chan_config TCH/F + timeslot 3 + phys_chan_config TCH/F + timeslot 4 + phys_chan_config TCH/F + timeslot 5 + phys_chan_config TCH/H + timeslot 6 + phys_chan_config PDCH + timeslot 7 + phys_chan_config PDCH +msc 0 + allow-emergency allow + amr-config 12_2k forbidden + amr-config 10_2k forbidden + amr-config 7_95k forbidden + amr-config 7_40k forbidden + amr-config 6_70k forbidden + amr-config 5_90k allowed + amr-config 5_15k forbidden + amr-config 4_75k forbidden + codec-list fr1 fr2 fr3 hr1 hr3 + mgw remote-ip 127.0.0.1 + lcls-mode mgw-loop +msc 1 + msc-addr msc2 + mgw remote-ip 127.0.0.1 +msc 2 + msc-addr msc3 + mgw remote-ip 127.0.0.1 + +network + nri bitlen 10 + # a NULL NRI that is outside the NRI ranges used by the MSCs: + nri null add 0 + # a NULL NRI that is also used by an MSC: + nri null add 1 +msc 0 + nri add 1 255 +msc 1 + nri add 256 511 +msc 2 + nri add 512 767 + # range 768-1024 is not assigned to any MSC on purpose + +bsc + mid-call-timeout 0 +ctrl + bind 127.0.0.1 +cbc + mode disabled + client + remote-ip 127.0.0.1 + remote-port 48049 + server + local-ip 127.0.0.1 + local-port 48050 +smlc + enable -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24566 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iabda4c864b02e6ddbf03386c75d67a37f92992f4 Gerrit-Change-Number: 24566 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 20:27:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 5 Jun 2021 20:27:10 +0000 Subject: Change in libosmocore[master]: stat, rate_ctr: Allow setting group name and use it at report time In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24467 ) Change subject: stat,rate_ctr: Allow setting group name and use it at report time ...................................................................... Patch Set 4: >From last lynxi's patches improving the NSVC id it becomes clear that we need to sanitize the buffer passed to be used in statsd (for instance replace dots). -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0dc510783dd9ae8436dae8005a7b3330e80d36f3 Gerrit-Change-Number: 24467 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Sat, 05 Jun 2021 20:27:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 20:31:38 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Jun 2021 20:31:38 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: do not crash when lco/sdp can not be generated In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24182 ) Change subject: mgcp_client: do not crash when lco/sdp can not be generated ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb788343e0bec9c0eaf33e6e4727d4d36c100017 Gerrit-Change-Number: 24182 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Jun 2021 20:31:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 20:32:44 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Jun 2021 20:32:44 +0000 Subject: Change in docker-playground[master]: add ttcn3-bsc-test-vamos In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24413 ) Change subject: add ttcn3-bsc-test-vamos ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2146388bf683cfba99cef5592b8b141c3a6eabb1 Gerrit-Change-Number: 24413 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Jun 2021 20:32:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 20:33:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Jun 2021 20:33:07 +0000 Subject: Change in docker-playground[master]: add ttcn3-bsc-test-vamos In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24413 ) Change subject: add ttcn3-bsc-test-vamos ...................................................................... Patch Set 3: Code-Review+2 re-add previous +2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2146388bf683cfba99cef5592b8b141c3a6eabb1 Gerrit-Change-Number: 24413 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Jun 2021 20:33:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 20:33:22 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Jun 2021 20:33:22 +0000 Subject: Change in docker-playground[master]: add ttcn3-bsc-test-vamos In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24413 ) Change subject: add ttcn3-bsc-test-vamos ...................................................................... add ttcn3-bsc-test-vamos The purpose is to run osmo-ttcn3-hacks/bsc/BSC_Tests_VAMOS.ttcn with osmo-bts-omldummy -f VAMOS (send BTS_FEAT_VAMOS = true). Change-Id: I2146388bf683cfba99cef5592b8b141c3a6eabb1 --- A ttcn3-bsc-test-vamos/BSC_Tests.cfg A ttcn3-bsc-test-vamos/Dockerfile A ttcn3-bsc-test-vamos/Makefile A ttcn3-bsc-test-vamos/jenkins.sh A ttcn3-bsc-test-vamos/osmo-bsc.cfg A ttcn3-bsc-test-vamos/osmo-stp.cfg 6 files changed, 659 insertions(+), 0 deletions(-) Approvals: neels: Looks good to me, approved; Verified pespin: Looks good to me, but someone else must approve diff --git a/ttcn3-bsc-test-vamos/BSC_Tests.cfg b/ttcn3-bsc-test-vamos/BSC_Tests.cfg new file mode 100644 index 0000000..8850705 --- /dev/null +++ b/ttcn3-bsc-test-vamos/BSC_Tests.cfg @@ -0,0 +1,74 @@ +[ORDERED_INCLUDE] +"/osmo-ttcn3-hacks/Common.cfg" +"/osmo-ttcn3-hacks/bsc/BSC_Tests.default" + +[LOGGING] +*.JUnitLogger.testsuite_name := "BSC_Tests" + +[TESTPORT_PARAMETERS] +*.BSCVTY.CTRL_HOSTNAME := "172.18.31.20" +*.STATSVTY.CTRL_HOSTNAME := "172.18.31.20" + +[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, + sccp_service_type := "mtp3_itu", + sctp_addr := { 23905, "172.18.31.203", 2905, "172.18.31.200" }, + own_pc := 185, /* 0.23.1 first MSC emulation */ + own_ssn := 254, + peer_pc := 187, /* 0.23.3 osmo-bsc */ + peer_ssn := 254, + sio := '83'O, + rctx := 1 + }, + { + transport := BSSAP_TRANSPORT_AoIP, + sccp_service_type := "mtp3_itu", + sctp_addr := { 23906, "172.18.31.203", 2905, "172.18.31.200" }, + own_pc := 2, /* 0.0.2 second MSC emulation */ + own_ssn := 254, + peer_pc := 187, /* 0.23.3 osmo-bsc */ + peer_ssn := 254, + sio := '83'O, + rctx := 2 + }, + { + transport := BSSAP_TRANSPORT_AoIP, + sccp_service_type := "mtp3_itu", + sctp_addr := { 23907, "172.18.31.203", 2905, "172.18.31.200" }, + own_pc := 3, /* 0.0.3 third MSC emulation */ + own_ssn := 254, + peer_pc := 187, /* 0.23.3 osmo-bsc */ + peer_ssn := 254, + sio := '83'O, + rctx := 3 + } +}; +BSC_Tests.mp_enable_lcs_tests := true; +BSC_Tests.mp_bssap_le_cfg := { + sccp_service_type := "mtp3_itu", + sctp_addr := { 23908, "172.18.31.203", 2905, "172.18.31.200" }, + own_pc := 190, /* 0.23.6 SMLC emulation */ + own_ssn := 252, /* SMLC side SSN */ + peer_pc := 187, /* 0.23.3 osmo-bsc */ + peer_ssn := 250, /* BSC side SSN */ + sio := '83'O, + rctx := 6 +}; +BSC_Tests_CBSP.mp_cgi_bts0 := { '001'H, '01'H, 1, 0 }; +BSC_Tests_CBSP.mp_cgi_bts1 := { '001'H, '01'H, 1, 1 }; +BSC_Tests_CBSP.mp_cgi_bts2 := { '001'H, '01'H, 2, 1 }; +BSC_Tests_CBSP.mp_cgi_bts3 := { '001'H, '01'H, 3, 3 }; +BSC_Tests_CBSP.mp_cbc_ip := "172.18.31.203"; +BSC_Tests_CBSP.mp_cbc_ip6 := "fd02:db8:31::203"; +BSC_Tests_CBSP.mp_bsc_cbsp_ip := "172.18.31.20"; +BSC_Tests_CBSP.mp_bsc_cbsp_ip6 := "fd02:db8:31::20"; + +[MAIN_CONTROLLER] + +[EXECUTE] +BSC_Tests_VAMOS.control diff --git a/ttcn3-bsc-test-vamos/Dockerfile b/ttcn3-bsc-test-vamos/Dockerfile new file mode 100644 index 0000000..1923c38 --- /dev/null +++ b/ttcn3-bsc-test-vamos/Dockerfile @@ -0,0 +1,13 @@ +ARG REGISTRY +ARG USER +FROM $REGISTRY/$USER/debian-stretch-titan +ARG OSMO_TTCN3_BRANCH="master" + +ADD http://git.osmocom.org/osmo-ttcn3-hacks/patch?h=$OSMO_TTCN3_BRANCH /tmp/commit +RUN ttcn3-docker-prepare "$OSMO_TTCN3_BRANCH" bsc + +VOLUME /data + +COPY BSC_Tests.cfg /data/BSC_Tests.cfg + +CMD ttcn3-docker-run bsc BSC_Tests diff --git a/ttcn3-bsc-test-vamos/Makefile b/ttcn3-bsc-test-vamos/Makefile new file mode 100644 index 0000000..913c072 --- /dev/null +++ b/ttcn3-bsc-test-vamos/Makefile @@ -0,0 +1,3 @@ +RUN_ARGS?=--sysctl net.ipv6.conf.all.disable_ipv6=0 --rm --network sigtran --ip 172.18.31.202 -v ggsn-test-vol:/data + +include ../make/Makefile diff --git a/ttcn3-bsc-test-vamos/jenkins.sh b/ttcn3-bsc-test-vamos/jenkins.sh new file mode 100755 index 0000000..6462977 --- /dev/null +++ b/ttcn3-bsc-test-vamos/jenkins.sh @@ -0,0 +1,67 @@ +#!/bin/sh + +. ../jenkins-common.sh +IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" +docker_images_require \ + "osmo-stp-$IMAGE_SUFFIX" \ + "osmo-bsc-$IMAGE_SUFFIX" \ + "osmo-bts-$IMAGE_SUFFIX" \ + "ttcn3-bsc-test" + +set_clean_up_trap +set -e + +mkdir $VOL_BASE_DIR/bsc-tester +cp BSC_Tests.cfg $VOL_BASE_DIR/bsc-tester/ + +mkdir $VOL_BASE_DIR/stp +cp osmo-stp.cfg $VOL_BASE_DIR/stp/ + +mkdir $VOL_BASE_DIR/bsc +cp osmo-bsc.cfg $VOL_BASE_DIR/bsc/ + +mkdir $VOL_BASE_DIR/bts-omldummy + +SUBNET=31 +network_create $SUBNET + +echo Starting container with STP +docker run --rm \ + $(docker_network_params $SUBNET 200) \ + --ulimit core=-1 \ + -v $VOL_BASE_DIR/stp:/data \ + --name ${BUILD_TAG}-stp -d \ + --ulimit core=-1 \ + $DOCKER_ARGS \ + $REPO_USER/osmo-stp-$IMAGE_SUFFIX + +echo Starting container with BSC +docker run --rm \ + $(docker_network_params $SUBNET 20) \ + --ulimit core=-1 \ + -v $VOL_BASE_DIR/bsc:/data \ + --name ${BUILD_TAG}-bsc -d \ + $DOCKER_ARGS \ + $REPO_USER/osmo-bsc-$IMAGE_SUFFIX + +for i in `seq 0 2`; do + echo Starting container with OML for BTS$i + docker run --rm \ + $(docker_network_params $SUBNET 10$i) \ + --ulimit core=-1 \ + -v $VOL_BASE_DIR/bts-omldummy:/data \ + --name ${BUILD_TAG}-bts$i -d \ + $DOCKER_ARGS \ + $REPO_USER/osmo-bts-$IMAGE_SUFFIX \ + /bin/sh -c "/usr/local/bin/respawn.sh osmo-bts-omldummy -f VAMOS 172.18.31.20 $((i + 1234)) 1 >>/data/osmo-bts-omldummy-${i}.log 2>&1" +done + +echo Starting container with BSC testsuite +docker run --rm \ + $(docker_network_params $SUBNET 203) \ + --ulimit core=-1 \ + -e "TTCN3_PCAP_PATH=/data" \ + -v $VOL_BASE_DIR/bsc-tester:/data \ + --name ${BUILD_TAG}-ttcn3-bsc-test \ + $DOCKER_ARGS \ + $REPO_USER/ttcn3-bsc-test diff --git a/ttcn3-bsc-test-vamos/osmo-bsc.cfg b/ttcn3-bsc-test-vamos/osmo-bsc.cfg new file mode 100644 index 0000000..ab70a23 --- /dev/null +++ b/ttcn3-bsc-test-vamos/osmo-bsc.cfg @@ -0,0 +1,427 @@ +! +! OsmoBSC (1.0.1.122-630df) configuration saved from vty +!! +password foo +! +log gsmtap 172.18.31.203 + logging level set-all debug + logging filter all 1 +! +log stderr + logging filter all 1 + logging color 1 + logging print category 1 + logging print category-hex 0 + logging timestamp 1 + logging print extended-timestamp 1 + logging print file basename last + logging print level 1 + logging level set-all debug + logging level llapd notice + logging level linp notice + logging level lmux notice + logging level lmi notice + logging level lmib notice + logging level lsms notice + logging level lctrl notice + logging level lgtp notice + logging level lstats notice + logging level lgsup notice + logging level loap notice + logging level lss7 notice + logging level lsccp notice + logging level lsua notice + logging level lm3ua notice + logging level lmgcp notice +! +stats interval 0 +stats reporter statsd + prefix TTCN3 + level subscriber + remote-ip 172.18.31.203 + remote-port 8125 + flush-period 1 + mtu 1024 + enable +! +line vty + no login + bind 0.0.0.0 +! +e1_input + e1_line 0 driver ipa + e1_line 0 port 0 + no e1_line 0 keepalive +cs7 instance 0 + asp asp-clnt-msc-0 2905 2905 m3ua + local-ip 172.18.31.20 + local-ip fd02:db8:31::20 + remote-ip 172.18.31.200 + remote-ip fd02:db8:31::200 + sccp-address msc2 + point-code 0.0.2 + sccp-address msc3 + point-code 0.0.3 +network + network country code 1 + mobile network code 1 + encryption a5 0 1 3 + neci 1 + paging any use tch 0 + handover 1 + handover window rxlev averaging 10 + handover window rxqual averaging 1 + handover window rxlev neighbor averaging 10 + handover power budget interval 6 + handover power budget hysteresis 3 + handover maximum distance 9999 + timer t3113 10 + timer t3212 30 + bts 0 + type sysmobts + band DCS1800 + cell_identity 0 + location_area_code 1 + dtx uplink force + dtx downlink + base_station_id_code 10 + ms max power 15 + cell reselection hysteresis 4 + rxlev access min 0 + radio-link-timeout 32 + channel allocator ascending + rach tx integer 9 + rach max transmission 7 + channel-descrption attach 1 + channel-descrption bs-pa-mfrms 5 + channel-descrption bs-ag-blks-res 1 + early-classmark-sending forbidden + ip.access unit_id 1234 0 + oml ip.access stream_id 255 line 0 + neighbor-list mode manual-si5 + neighbor-list add arfcn 100 + neighbor-list add arfcn 200 + si5 neighbor-list add arfcn 10 + si5 neighbor-list add arfcn 20 + codec-support fr hr efr amr + gprs mode gprs + gprs routing area 0 + gprs network-control-order nc0 + gprs cell bvci 1234 + gprs cell timer blocking-timer 3 + gprs cell timer blocking-retries 3 + gprs cell timer unblocking-retries 3 + gprs cell timer reset-timer 3 + gprs cell timer reset-retries 3 + gprs cell timer suspend-timer 10 + gprs cell timer suspend-retries 3 + gprs cell timer resume-timer 10 + gprs cell timer resume-retries 3 + gprs cell timer capability-update-timer 10 + gprs cell timer capability-update-retries 3 + gprs nsei 1234 + gprs ns timer tns-block 3 + gprs ns timer tns-block-retries 3 + gprs ns timer tns-reset 3 + gprs ns timer tns-reset-retries 3 + gprs ns timer tns-test 30 + gprs ns timer tns-alive 3 + gprs ns timer tns-alive-retries 10 + gprs nsvc 0 nsvci 1234 + gprs nsvc 0 local udp port 23000 + gprs nsvc 0 remote udp port 23000 + gprs nsvc 0 remote ip 192.168.100.239 + gprs nsvc 1 nsvci 0 + gprs nsvc 1 local udp port 0 + gprs nsvc 1 remote udp port 0 + gprs nsvc 1 remote ip 0.0.0.0 + no force-combined-si + si2quater neighbor-list add earfcn 111 thresh-hi 20 thresh-lo 10 prio 3 qrxlv 22 meas 3 + trx 0 + rf_locked 0 + arfcn 871 + nominal power 23 + max_power_red 20 + rsl e1 tei 0 + timeslot 0 + phys_chan_config CCCH+SDCCH4+CBCH + hopping enabled 0 + timeslot 1 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 2 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 3 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 4 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 5 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 6 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 7 + phys_chan_config PDCH + hopping enabled 0 + bts 1 + type sysmobts + band DCS1800 + cell_identity 1 + location_area_code 1 + dtx uplink force + dtx downlink + base_station_id_code 11 + ms max power 15 + cell reselection hysteresis 4 + rxlev access min 0 + radio-link-timeout 32 + channel allocator ascending + rach tx integer 9 + rach max transmission 7 + channel-descrption attach 1 + channel-descrption bs-pa-mfrms 5 + channel-descrption bs-ag-blks-res 1 + early-classmark-sending forbidden + ip.access unit_id 1235 0 + oml ip.access stream_id 255 line 0 + neighbor-list mode manual-si5 + neighbor-list add arfcn 100 + neighbor-list add arfcn 200 + si5 neighbor-list add arfcn 10 + si5 neighbor-list add arfcn 20 + codec-support fr hr efr amr + gprs mode gprs + gprs routing area 0 + gprs network-control-order nc0 + gprs cell bvci 1235 + gprs cell timer blocking-timer 3 + gprs cell timer blocking-retries 3 + gprs cell timer unblocking-retries 3 + gprs cell timer reset-timer 3 + gprs cell timer reset-retries 3 + gprs cell timer suspend-timer 10 + gprs cell timer suspend-retries 3 + gprs cell timer resume-timer 10 + gprs cell timer resume-retries 3 + gprs cell timer capability-update-timer 10 + gprs cell timer capability-update-retries 3 + gprs nsei 1235 + gprs ns timer tns-block 3 + gprs ns timer tns-block-retries 3 + gprs ns timer tns-reset 3 + gprs ns timer tns-reset-retries 3 + gprs ns timer tns-test 30 + gprs ns timer tns-alive 3 + gprs ns timer tns-alive-retries 10 + gprs nsvc 0 nsvci 1235 + gprs nsvc 0 local udp port 23000 + gprs nsvc 0 remote udp port 23000 + gprs nsvc 0 remote ip 192.168.100.239 + gprs nsvc 1 nsvci 0 + gprs nsvc 1 local udp port 0 + gprs nsvc 1 remote udp port 0 + gprs nsvc 1 remote ip 0.0.0.0 + no force-combined-si + si2quater neighbor-list add earfcn 111 thresh-hi 20 thresh-lo 10 prio 3 qrxlv 22 meas 3 + trx 0 + rf_locked 0 + arfcn 871 + nominal power 23 + max_power_red 20 + rsl e1 tei 0 + timeslot 0 + phys_chan_config CCCH+SDCCH4+CBCH + hopping enabled 0 + timeslot 1 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 2 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 3 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 4 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 5 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 6 + phys_chan_config PDCH + hopping enabled 0 + timeslot 7 + phys_chan_config PDCH + hopping enabled 0 + bts 2 + type sysmobts + band DCS1800 + cell_identity 1 + location_area_code 2 + dtx uplink force + dtx downlink + base_station_id_code 12 + ms max power 15 + cell reselection hysteresis 4 + rxlev access min 0 + radio-link-timeout 32 + channel allocator ascending + rach tx integer 9 + rach max transmission 7 + channel-descrption attach 1 + channel-descrption bs-pa-mfrms 5 + channel-descrption bs-ag-blks-res 1 + early-classmark-sending forbidden + ip.access unit_id 1236 0 + oml ip.access stream_id 255 line 0 + neighbor-list mode manual-si5 + neighbor-list add arfcn 100 + neighbor-list add arfcn 200 + si5 neighbor-list add arfcn 10 + si5 neighbor-list add arfcn 20 + codec-support fr hr efr amr + gprs mode gprs + gprs routing area 0 + gprs network-control-order nc0 + gprs cell bvci 1236 + gprs cell timer blocking-timer 3 + gprs cell timer blocking-retries 3 + gprs cell timer unblocking-retries 3 + gprs cell timer reset-timer 3 + gprs cell timer reset-retries 3 + gprs cell timer suspend-timer 10 + gprs cell timer suspend-retries 3 + gprs cell timer resume-timer 10 + gprs cell timer resume-retries 3 + gprs cell timer capability-update-timer 10 + gprs cell timer capability-update-retries 3 + gprs nsei 1236 + gprs ns timer tns-block 3 + gprs ns timer tns-block-retries 3 + gprs ns timer tns-reset 3 + gprs ns timer tns-reset-retries 3 + gprs ns timer tns-test 30 + gprs ns timer tns-alive 3 + gprs ns timer tns-alive-retries 10 + gprs nsvc 0 nsvci 1236 + gprs nsvc 0 local udp port 23000 + gprs nsvc 0 remote udp port 23000 + gprs nsvc 0 remote ip 192.168.100.239 + gprs nsvc 1 nsvci 0 + gprs nsvc 1 local udp port 0 + gprs nsvc 1 remote udp port 0 + gprs nsvc 1 remote ip 0.0.0.0 + no force-combined-si + si2quater neighbor-list add earfcn 111 thresh-hi 20 thresh-lo 10 prio 3 qrxlv 22 meas 3 + trx 0 + rf_locked 0 + arfcn 871 + nominal power 23 + max_power_red 20 + rsl e1 tei 0 + timeslot 0 + phys_chan_config CCCH+SDCCH4+CBCH + hopping enabled 0 + timeslot 1 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 2 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 3 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 4 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 5 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 6 + phys_chan_config PDCH + hopping enabled 0 + timeslot 7 + phys_chan_config PDCH + hopping enabled 0 + bts 3 + type sysmobts + band DCS1800 + cell_identity 3 + location_area_code 3 + # re-use bts 2's ARFCN 871 and BSIC 12 (to test handover config) + base_station_id_code 12 + trx 0 + rf_locked 0 + arfcn 871 + nominal power 23 + max_power_red 20 + rsl e1 tei 0 + timeslot 0 + phys_chan_config CCCH+SDCCH4 + timeslot 1 + phys_chan_config TCH/F + timeslot 2 + phys_chan_config TCH/F + timeslot 3 + phys_chan_config TCH/F + timeslot 4 + phys_chan_config TCH/F + timeslot 5 + phys_chan_config TCH/H + timeslot 6 + phys_chan_config PDCH + timeslot 7 + phys_chan_config PDCH +msc 0 + allow-emergency allow + amr-config 12_2k forbidden + amr-config 10_2k forbidden + amr-config 7_95k forbidden + amr-config 7_40k forbidden + amr-config 6_70k forbidden + amr-config 5_90k allowed + amr-config 5_15k forbidden + amr-config 4_75k forbidden + codec-list fr1 fr2 fr3 hr1 hr3 + mgw remote-ip 172.18.31.203 + lcls-mode mgw-loop +msc 1 + msc-addr msc2 + mgw remote-ip 172.18.31.203 +msc 2 + msc-addr msc3 + mgw remote-ip 172.18.31.203 + +network + nri bitlen 10 + # a NULL NRI that is outside the NRI ranges used by the MSCs: + nri null add 0 + # a NULL NRI that is also used by an MSC: + nri null add 1 +msc 0 + nri add 1 255 +msc 1 + nri add 256 511 +msc 2 + nri add 512 767 + # range 768-1024 is not assigned to any MSC on purpose + +bsc + mid-call-timeout 0 + no missing-msc-text +ctrl + bind 0.0.0.0 +cbc + mode disabled + client + remote-ip 172.18.31.203 + remote-port 48049 + server + local-ip 172.18.31.20 + local-port 48050 +smlc + enable diff --git a/ttcn3-bsc-test-vamos/osmo-stp.cfg b/ttcn3-bsc-test-vamos/osmo-stp.cfg new file mode 100644 index 0000000..c254a4a --- /dev/null +++ b/ttcn3-bsc-test-vamos/osmo-stp.cfg @@ -0,0 +1,75 @@ +! +! OsmoSTP (0.8.1) configuration saved from vty +!! +! +log gsmtap 172.18.31.203 + logging level set-all debug + logging filter all 1 +! +log stderr + logging filter all 1 + logging color 1 + logging print category 1 + logging print category-hex 0 + logging timestamp 1 + logging print extended-timestamp 1 + logging print file basename last + logging print level 1 + logging level set-all notice +! +line vty + no login +! +cs7 instance 0 + xua rkm routing-key-allocation dynamic-permitted + asp virt-msc0-0 23905 2905 m3ua + local-ip 172.18.31.200 + local-ip fd02:db8:31::200 + remote-ip 172.18.31.203 + remote-ip fd02:db8:31::203 + as mahlzeit ipa + routing-key 0 0.23.4 + point-code override dpc 0.23.1 + as virt-msc0 m3ua + asp virt-msc0-0 + routing-key 1 0.23.1 + + asp virt-msc1-0 23906 2905 m3ua + local-ip 172.18.31.200 + local-ip fd02:db8:31::200 + remote-ip 172.18.31.203 + remote-ip fd02:db8:31::203 + as virt-msc1 m3ua + asp virt-msc1-0 + routing-key 2 0.0.2 + + asp virt-msc2-0 23907 2905 m3ua + local-ip 172.18.31.200 + local-ip fd02:db8:31::200 + remote-ip 172.18.31.203 + remote-ip fd02:db8:31::203 + as virt-msc2 m3ua + asp virt-msc2-0 + routing-key 3 0.0.3 + + asp virt-smlc-0 23908 2905 m3ua + local-ip 172.18.31.200 + local-ip fd02:db8:31::200 + remote-ip 172.18.31.203 + remote-ip fd02:db8:31::203 + as virt-smlc m3ua + asp virt-smlc-0 + routing-key 6 0.23.6 + + route-table system + update route 0.23.1 7.255.7 linkset virt-msc0 + update route 0.0.2 7.255.7 linkset virt-msc1 + update route 0.0.3 7.255.7 linkset virt-msc2 + update route 0.23.6 7.255.7 linkset virt-smlc + listen m3ua 2905 + accept-asp-connections dynamic-permitted + local-ip 172.18.31.200 + local-ip fd02:db8:31::200 + listen ipa 5000 + accept-asp-connections dynamic-permitted + local-ip 172.18.31.200 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2146388bf683cfba99cef5592b8b141c3a6eabb1 Gerrit-Change-Number: 24413 Gerrit-PatchSet: 4 Gerrit-Owner: neels 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 Sat Jun 5 20:39:14 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Jun 2021 20:39:14 +0000 Subject: Change in osmo-bts[master]: measurement: remove over-defensive checks in is_meas_complete() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24527 ) Change subject: measurement: remove over-defensive checks in is_meas_complete() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24527/1/src/common/measurement.c File src/common/measurement.c: https://gerrit.osmocom.org/c/osmo-bts/+/24527/1/src/common/measurement.c at a257 PS1, Line 257: but what's the point of removing these checks? optimization?!? ts_pchan() mostly returns ts->pchan, who knows what's in there. Looks to me like someone wanted to make sure to have a valid ts pointer. i'd just keep these, maybe there was a good reason once that we don't see, and these checks have exactly no drawback. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6d20d7cba49cc8b6d1dc2192598ca372b7d2c5bf Gerrit-Change-Number: 24527 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Sat, 05 Jun 2021 20:39:14 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 21:08:37 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Jun 2021 21:08:37 +0000 Subject: Change in libosmocore[master]: osmo_select_shutdown_request(): allow finishing pending writes on SIG... 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/+/24544 to look at the new patch set (#2). Change subject: osmo_select_shutdown_request(): allow finishing pending writes on SIGTERM ...................................................................... osmo_select_shutdown_request(): allow finishing pending writes on SIGTERM Allow telling osmo_select_main* to only service pending writes (shutdown mode). Introduce API fuctions to indicate a shutdown request, and find out whether shutdown is complete. Some osmo programs have a curious sleep of few seconds upon receiving SIGTERM. The idea presumably was to finish off pending writes before halting the program. But a sleep() on program exit is annoying, especially when there usually are no pending writes, and when osmo-bsc is launched numerous times for tests. Change-Id: Ib94d4316924103459577087c2214188679db2227 --- M include/osmocom/core/select.h M src/select.c 2 files changed, 72 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/44/24544/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib94d4316924103459577087c2214188679db2227 Gerrit-Change-Number: 24544 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 21:11:50 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Jun 2021 21:11:50 +0000 Subject: Change in libosmocore[master]: osmo_select_shutdown_request(): allow finishing pending writes on SIG... 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/+/24544 to look at the new patch set (#3). Change subject: osmo_select_shutdown_request(): allow finishing pending writes on SIGTERM ...................................................................... osmo_select_shutdown_request(): allow finishing pending writes on SIGTERM Allow telling osmo_select_main* to only service pending writes (shutdown mode). Introduce API fuctions to indicate a shutdown request, and find out whether shutdown is complete. Some osmo programs have a curious sleep of few seconds upon receiving SIGTERM. The idea presumably was to finish off pending writes before halting the program. But a sleep() on program exit is annoying, especially when there usually are no pending writes, and when osmo-bsc is launched numerous times for tests. Change-Id: Ib94d4316924103459577087c2214188679db2227 --- M include/osmocom/core/select.h M src/select.c 2 files changed, 72 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/44/24544/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib94d4316924103459577087c2214188679db2227 Gerrit-Change-Number: 24544 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 21:27:28 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Jun 2021 21:27:28 +0000 Subject: Change in libosmocore[master]: osmo_select_shutdown_request(): allow finishing pending writes on SIG... In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24544 ) Change subject: osmo_select_shutdown_request(): allow finishing pending writes on SIGTERM ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24544/3/include/osmocom/core/select.h File include/osmocom/core/select.h: https://gerrit.osmocom.org/c/libosmocore/+/24544/3/include/osmocom/core/select.h at 108 PS3, Line 108: void osmo_select_shutdown_request(); and now i'm thinking maybe keep it more generic, setting read/write modes? like lib load default: osmo_select_mode_set(OSMO_FD_MASK); signal_handler(){ /* set osmo_select_* in write-only mode */ osmo_select_mode_set(OSMO_FD_WRITE); } main() { while ((osmo_select_mode_get() & OSMO_FD_READ) || (osmo_select_pending() & OSMO_FD_WRITE)) osmo_select_main_ctx(0); } This idea is a bit more generic, but also a bit more complex to implement. I guess it's feature creep and this current patch set is fine? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib94d4316924103459577087c2214188679db2227 Gerrit-Change-Number: 24544 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 05 Jun 2021 21:27:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 5 21:55:48 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Jun 2021 21:55:48 +0000 Subject: Change in osmo-bsc[master]: add two handover_test cases for upgrade of TCH/H -> TCH/F References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24571 ) Change subject: add two handover_test cases for upgrade of TCH/H -> TCH/F ...................................................................... add two handover_test cases for upgrade of TCH/H -> TCH/F Add handover_test/test_amr_tch_h_to_f_rxqual.ho_vty handover_test/test_amr_tch_h_to_f_rxlev.ho_vty Related: SYS#5198 Change-Id: Ib88f7e00d8bd77e2b02a7242a0fab4dd79333037 --- A tests/handover/test_amr_tch_h_to_f_rxlev.ho_vty A tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty 2 files changed, 24 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/71/24571/1 diff --git a/tests/handover/test_amr_tch_h_to_f_rxlev.ho_vty b/tests/handover/test_amr_tch_h_to_f_rxlev.ho_vty new file mode 100644 index 0000000..2dbf7df --- /dev/null +++ b/tests/handover/test_amr_tch_h_to_f_rxlev.ho_vty @@ -0,0 +1,12 @@ +# Low RxLev causes upgrade of TCH/H to TCH/F + +network + handover2 afs-bias rxlev 1 + handover2 min rxlev -80 + +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/H- - - * +meas-rep repeat 10 lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 +# reassign to TCH/F due to bad rxlev +expect-as from lchan 0 0 4 0 to lchan 0 0 1 0 +expect-ts-use trx 0 0 states * TCH/F - - - - - * 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 new file mode 100644 index 0000000..f633a5f --- /dev/null +++ b/tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty @@ -0,0 +1,12 @@ +# Low RxQual causes upgrade of TCH/H to TCH/F + +network + handover2 afs-bias rxlev 1 + handover2 min rxqual 5 + +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/H- - - * +meas-rep repeat 10 lchan 0 0 4 0 rxlev 30 rxqual 6 ta 0 +# 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 - - - - - * -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib88f7e00d8bd77e2b02a7242a0fab4dd79333037 Gerrit-Change-Number: 24571 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 Jun 5 21:59:48 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Jun 2021 21:59:48 +0000 Subject: Change in osmo-bsc[master]: add two handover_test cases for upgrade of TCH/H -> TCH/F 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/+/24571 to look at the new patch set (#2). Change subject: add two handover_test cases for upgrade of TCH/H -> TCH/F ...................................................................... add two handover_test cases for upgrade of TCH/H -> TCH/F Add handover_test/test_amr_tch_h_to_f_rxqual.ho_vty handover_test/test_amr_tch_h_to_f_rxlev.ho_vty Related: SYS#5198 Change-Id: Ib88f7e00d8bd77e2b02a7242a0fab4dd79333037 --- M tests/handover/handover_tests.ok A tests/handover/test_amr_tch_h_to_f_rxlev.ho_vty A tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty 3 files changed, 26 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/71/24571/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib88f7e00d8bd77e2b02a7242a0fab4dd79333037 Gerrit-Change-Number: 24571 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 Jun 5 22:04:29 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Jun 2021 22:04:29 +0000 Subject: Change in osmo-bsc[master]: add two handover_test cases for upgrade of TCH/H -> TCH/F 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/+/24571 to look at the new patch set (#3). Change subject: add two handover_test cases for upgrade of TCH/H -> TCH/F ...................................................................... add two handover_test cases for upgrade of TCH/H -> TCH/F Add handover_test/test_amr_tch_h_to_f_rxqual.ho_vty handover_test/test_amr_tch_h_to_f_rxlev.ho_vty Related: SYS#5198 SYS#5365 Change-Id: Ib88f7e00d8bd77e2b02a7242a0fab4dd79333037 --- M tests/handover/handover_tests.ok A tests/handover/test_amr_tch_h_to_f_rxlev.ho_vty A tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty 3 files changed, 26 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/71/24571/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib88f7e00d8bd77e2b02a7242a0fab4dd79333037 Gerrit-Change-Number: 24571 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 Sat Jun 5 22:09:19 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Jun 2021 22:09:19 +0000 Subject: Change in osmo-asf4-dfu[master]: usb serial number descriptor In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/17024 ) Change subject: usb serial number descriptor ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/17024/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/17024/3//COMMIT_MSG at 7 PS3, Line 7: usb serial number descriptor (generic comment: would be nice if there was a verb in the summary, "add" maybe? also seems to me that something is wrong in the term "usb serial number descriptor", is it describing a number?) -- To view, visit https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/17024 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-asf4-dfu Gerrit-Branch: master Gerrit-Change-Id: I4a23682cee0849c788e5f6c611df4ed1f1cac3da Gerrit-Change-Number: 17024 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: roh Gerrit-CC: laforge Gerrit-CC: neels Gerrit-Comment-Date: Sat, 05 Jun 2021 22:09:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Sun Jun 6 00:51:09 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 00:51:09 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <60bc1bfe84c22_55042b087e8705f830207d4@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: [ 235s] libtool: link: gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 235s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -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 meas_vis-meas_vis.o `test -f 'meas_vis.c' || echo './'`meas_vis.c [ 235s] meas_vis.c: In function 'write_uni': [ 235s] meas_vis.c:196:15: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? [ 235s] pwr = ms->mr.bs_power; [ 235s] ^ [ 235s] Makefile:723: recipe for target 'meas_vis-meas_vis.o' failed [ 235s] make[4]: *** [meas_vis-meas_vis.o] Error 1 [ 235s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 235s] Makefile:403: recipe for target 'all-recursive' failed [ 235s] make[3]: *** [all-recursive] Error 1 [ 235s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 235s] Makefile:453: recipe for target 'all-recursive' failed [ 235s] make[2]: *** [all-recursive] Error 1 [ 235s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 235s] Makefile:385: recipe for target 'all' failed [ 235s] make[1]: *** [all] Error 2 [ 235s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 235s] dh_auto_build: make -j1 returned exit code 2 [ 235s] debian/rules:45: recipe for target 'build' failed [ 235s] make: *** [build] Error 2 [ 235s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 235s] ### VM INTERACTION START ### [ 238s] [ 226.372765] sysrq: Power Off [ 238s] [ 226.379515] reboot: Power down [ 238s] ### VM INTERACTION END ### [ 238s] [ 238s] lamb06 failed "build osmo-bsc_1.7.0.108.4d5604.202106060026.dsc" at Sun Jun 6 00:51:00 UTC 2021. [ 238s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 00:51:09 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 00:51:09 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_8.0/i586 In-Reply-To: References: Message-ID: <60bc1bfe3641c_55042b087e8705f830206bb@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: [ 299s] CCLD meas_json [ 299s] CC meas_vis-meas_vis.o [ 299s] meas_vis.c: In function 'write_uni': [ 299s] meas_vis.c:196:15: error: 'struct gsm_meas_rep' has no member named 'bs_power' [ 299s] pwr = ms->mr.bs_power; [ 299s] ^ [ 299s] Makefile:711: recipe for target 'meas_vis-meas_vis.o' failed [ 299s] make[4]: *** [meas_vis-meas_vis.o] Error 1 [ 299s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 299s] Makefile:391: recipe for target 'all-recursive' failed [ 299s] make[3]: *** [all-recursive] Error 1 [ 299s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 299s] Makefile:441: recipe for target 'all-recursive' failed [ 299s] make[2]: *** [all-recursive] Error 1 [ 299s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 299s] Makefile:372: recipe for target 'all' failed [ 299s] make[1]: *** [all] Error 2 [ 299s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 299s] dh_auto_build: make -j1 returned exit code 2 [ 299s] debian/rules:45: recipe for target 'build' failed [ 299s] make: *** [build] Error 2 [ 299s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 299s] ### VM INTERACTION START ### [ 300s] Powering off. [ 301s] [ 284.009592] reboot: Power down [ 301s] ### VM INTERACTION END ### [ 301s] [ 301s] cloud106 failed "build osmo-bsc_1.7.0.108.4d5604.202106060026.dsc" at Sun Jun 6 00:50:53 UTC 2021. [ 301s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 00:51:26 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 00:51:26 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_9.0/i586 In-Reply-To: References: Message-ID: <60bc1c1d33255_55042b087e8705f830209ed@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: [ 301s] libtool: link: gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 301s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -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 meas_vis-meas_vis.o `test -f 'meas_vis.c' || echo './'`meas_vis.c [ 301s] meas_vis.c: In function 'write_uni': [ 301s] meas_vis.c:196:15: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? [ 301s] pwr = ms->mr.bs_power; [ 301s] ^ [ 301s] Makefile:723: recipe for target 'meas_vis-meas_vis.o' failed [ 301s] make[4]: *** [meas_vis-meas_vis.o] Error 1 [ 301s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 301s] Makefile:403: recipe for target 'all-recursive' failed [ 301s] make[3]: *** [all-recursive] Error 1 [ 301s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 301s] Makefile:453: recipe for target 'all-recursive' failed [ 301s] make[2]: *** [all-recursive] Error 1 [ 301s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 301s] Makefile:385: recipe for target 'all' failed [ 301s] make[1]: *** [all] Error 2 [ 301s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 301s] dh_auto_build: make -j1 returned exit code 2 [ 301s] debian/rules:45: recipe for target 'build' failed [ 301s] make: *** [build] Error 2 [ 301s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 301s] ### VM INTERACTION START ### [ 305s] [ 273.252734] sysrq: Power Off [ 305s] [ 273.260888] reboot: Power down [ 305s] ### VM INTERACTION END ### [ 305s] [ 305s] cloud126 failed "build osmo-bsc_1.7.0.108.4d5604.202106060026.dsc" at Sun Jun 6 00:51:18 UTC 2021. [ 305s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 00:51:26 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 00:51:26 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <60bc1c1d90d07_55042b087e8705f83021068@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: [ 440s] CCLD meas_json [ 440s] CC meas_vis-meas_vis.o [ 441s] meas_vis.c: In function 'write_uni': [ 441s] meas_vis.c:196:15: error: 'struct gsm_meas_rep' has no member named 'bs_power' [ 441s] pwr = ms->mr.bs_power; [ 441s] ^ [ 441s] Makefile:711: recipe for target 'meas_vis-meas_vis.o' failed [ 441s] make[4]: *** [meas_vis-meas_vis.o] Error 1 [ 441s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 441s] Makefile:391: recipe for target 'all-recursive' failed [ 441s] make[3]: *** [all-recursive] Error 1 [ 441s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 441s] Makefile:441: recipe for target 'all-recursive' failed [ 441s] make[2]: *** [all-recursive] Error 1 [ 441s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 441s] Makefile:372: recipe for target 'all' failed [ 441s] make[1]: *** [all] Error 2 [ 441s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 441s] dh_auto_build: make -j1 returned exit code 2 [ 441s] debian/rules:45: recipe for target 'build' failed [ 441s] make: *** [build] Error 2 [ 441s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 441s] ### VM INTERACTION START ### [ 442s] Powering off. [ 442s] [ 410.077541] reboot: Power down [ 442s] ### VM INTERACTION END ### [ 442s] [ 442s] lamb56 failed "build osmo-bsc_1.7.0.108.4d5604.202106060026.dsc" at Sun Jun 6 00:51:12 UTC 2021. [ 442s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 00:52:51 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 00:52:51 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_10/i586 In-Reply-To: References: Message-ID: <60bc1c74a3f0c_55042b087e8705f83021388@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: [ 340s] /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 isdnsync isdnsync.o [ 340s] 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 isdnsync isdnsync.o -pthread [ 340s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -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 -c -o meas_json-meas_json.o `test -f 'meas_json.c' || echo './'`meas_json.c [ 340s] /bin/bash ../../libtool --tag=CC --mode=link gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 341s] libtool: link: gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 341s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -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 meas_vis-meas_vis.o `test -f 'meas_vis.c' || echo './'`meas_vis.c [ 341s] meas_vis.c: In function 'write_uni': [ 341s] meas_vis.c:196:16: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? [ 341s] pwr = ms->mr.bs_power; [ 341s] ^~~~~~~~ [ 341s] bs_power_db [ 341s] make[4]: *** [Makefile:736: meas_vis-meas_vis.o] Error 1 [ 341s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 341s] make[3]: *** [Makefile:403: all-recursive] Error 1 [ 341s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 341s] make[2]: *** [Makefile:453: all-recursive] Error 1 [ 341s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 341s] make[1]: *** [Makefile:385: all] Error 2 [ 341s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 341s] dh_auto_build: make -j1 returned exit code 2 [ 341s] make: *** [debian/rules:45: build] Error 2 [ 341s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 341s] ### VM INTERACTION START ### [ 344s] [ 323.697417] sysrq: Power Off [ 344s] [ 323.701080] reboot: Power down [ 344s] ### VM INTERACTION END ### [ 344s] [ 344s] cloud117 failed "build osmo-bsc_1.7.0.108.4d5604.202106060026.dsc" at Sun Jun 6 00:52:36 UTC 2021. [ 344s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 00:54:33 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 00:54:33 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <60bc1cd07f12a_55042b087e8705f8302167e@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: [ 369s] /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 isdnsync isdnsync.o [ 369s] 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 isdnsync isdnsync.o -pthread [ 369s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -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 -c -o meas_json-meas_json.o `test -f 'meas_json.c' || echo './'`meas_json.c [ 369s] /bin/bash ../../libtool --tag=CC --mode=link gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 369s] libtool: link: gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 370s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -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 meas_vis-meas_vis.o `test -f 'meas_vis.c' || echo './'`meas_vis.c [ 370s] meas_vis.c: In function 'write_uni': [ 370s] meas_vis.c:196:16: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? [ 370s] pwr = ms->mr.bs_power; [ 370s] ^~~~~~~~ [ 370s] bs_power_db [ 370s] make[4]: *** [Makefile:736: meas_vis-meas_vis.o] Error 1 [ 370s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 370s] make[3]: *** [Makefile:403: all-recursive] Error 1 [ 370s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 370s] make[2]: *** [Makefile:453: all-recursive] Error 1 [ 370s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 370s] make[1]: *** [Makefile:385: all] Error 2 [ 370s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 370s] dh_auto_build: make -j1 returned exit code 2 [ 370s] make: *** [debian/rules:45: build] Error 2 [ 370s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 370s] ### VM INTERACTION START ### [ 373s] [ 355.422186] sysrq: Power Off [ 373s] [ 355.426783] reboot: Power down [ 373s] ### VM INTERACTION END ### [ 373s] [ 373s] lamb12 failed "build osmo-bsc_1.7.0.108.4d5604.202106060026.dsc" at Sun Jun 6 00:54:24 UTC 2021. [ 373s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 00:56:49 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 00:56:49 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <60bc1d64cd387_55042b087e8705f830221f@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: [ 515s] /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 isdnsync isdnsync.o [ 515s] 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 isdnsync isdnsync.o -pthread [ 515s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -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 -c -o meas_json-meas_json.o `test -f 'meas_json.c' || echo './'`meas_json.c [ 516s] /bin/bash ../../libtool --tag=CC --mode=link gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 516s] libtool: link: gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 516s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -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 meas_vis-meas_vis.o `test -f 'meas_vis.c' || echo './'`meas_vis.c [ 516s] meas_vis.c: In function 'write_uni': [ 516s] meas_vis.c:196:16: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? [ 516s] 196 | pwr = ms->mr.bs_power; [ 516s] | ^~~~~~~~ [ 516s] | bs_power_db [ 516s] make[4]: *** [Makefile:736: meas_vis-meas_vis.o] Error 1 [ 516s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 516s] make[3]: *** [Makefile:403: all-recursive] Error 1 [ 516s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 516s] make[2]: *** [Makefile:453: all-recursive] Error 1 [ 516s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 516s] make[1]: *** [Makefile:385: all] Error 2 [ 516s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 516s] dh_auto_build: error: make -j1 returned exit code 2 [ 516s] make: *** [debian/rules:45: build] Error 25 [ 516s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 516s] ### VM INTERACTION START ### [ 519s] [ 450.110844] sysrq: Power Off [ 519s] [ 450.121718] reboot: Power down [ 519s] ### VM INTERACTION END ### [ 520s] [ 520s] lamb26 failed "build osmo-bsc_1.7.0.108.4d5604.202106060026.dsc" at Sun Jun 6 00:56:43 UTC 2021. [ 520s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 00:57:23 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 00:57:23 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_10/x86_64 In-Reply-To: References: Message-ID: <60bc1d8416680_55042b087e8705f830225a1@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: [ 305s] /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 isdnsync isdnsync.o [ 306s] 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 isdnsync isdnsync.o -pthread [ 306s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -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 -c -o meas_json-meas_json.o `test -f 'meas_json.c' || echo './'`meas_json.c [ 306s] /bin/bash ../../libtool --tag=CC --mode=link gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 306s] libtool: link: gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 306s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -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 meas_vis-meas_vis.o `test -f 'meas_vis.c' || echo './'`meas_vis.c [ 306s] meas_vis.c: In function 'write_uni': [ 306s] meas_vis.c:196:16: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? [ 306s] pwr = ms->mr.bs_power; [ 306s] ^~~~~~~~ [ 306s] bs_power_db [ 306s] make[4]: *** [Makefile:736: meas_vis-meas_vis.o] Error 1 [ 306s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 306s] make[3]: *** [Makefile:403: all-recursive] Error 1 [ 306s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 306s] make[2]: *** [Makefile:453: all-recursive] Error 1 [ 306s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 306s] make[1]: *** [Makefile:385: all] Error 2 [ 306s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 306s] dh_auto_build: make -j1 returned exit code 2 [ 306s] make: *** [debian/rules:45: build] Error 2 [ 306s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 306s] ### VM INTERACTION START ### [ 309s] [ 294.157193] sysrq: Power Off [ 309s] [ 294.163518] reboot: Power down [ 309s] ### VM INTERACTION END ### [ 309s] [ 309s] lamb17 failed "build osmo-bsc_1.7.0.108.4d5604.202106060026.dsc" at Sun Jun 6 00:57:10 UTC 2021. [ 309s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 00:57:23 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 00:57:23 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <60bc1d8440d5c_55042b087e8705f8302261a@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: [ 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 isdnsync isdnsync.o [ 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 isdnsync isdnsync.o -pthread [ 462s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -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 -c -o meas_json-meas_json.o `test -f 'meas_json.c' || echo './'`meas_json.c [ 462s] /bin/bash ../../libtool --tag=CC --mode=link gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 462s] libtool: link: gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 462s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -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 meas_vis-meas_vis.o `test -f 'meas_vis.c' || echo './'`meas_vis.c [ 462s] meas_vis.c: In function 'write_uni': [ 462s] meas_vis.c:196:16: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? [ 462s] 196 | pwr = ms->mr.bs_power; [ 462s] | ^~~~~~~~ [ 462s] | bs_power_db [ 462s] make[4]: *** [Makefile:736: meas_vis-meas_vis.o] Error 1 [ 462s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 462s] make[3]: *** [Makefile:403: all-recursive] Error 1 [ 462s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 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 ### [ 464s] Powering off. [ 464s] [ 442.191574] reboot: Power down [ 464s] ### VM INTERACTION END ### [ 464s] [ 464s] cloud130 failed "build osmo-bsc_1.7.0.108.4d5604.202106060026.dsc" at Sun Jun 6 00:57:11 UTC 2021. [ 464s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 00:59:56 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 00:59:56 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <60bc1e1917d8c_55042b087e8705f830233fd@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: [ 155s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -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 meas_vis-meas_vis.o `test -f 'meas_vis.c' || echo './'`meas_vis.c [ 155s] meas_vis.c: In function 'write_uni': [ 155s] meas_vis.c:196:16: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? [ 155s] pwr = ms->mr.bs_power; [ 155s] ^~~~~~~~ [ 155s] bs_power_db [ 155s] Makefile:723: recipe for target 'meas_vis-meas_vis.o' failed [ 155s] make[4]: *** [meas_vis-meas_vis.o] Error 1 [ 155s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 155s] Makefile:403: recipe for target 'all-recursive' failed [ 155s] make[3]: *** [all-recursive] Error 1 [ 155s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 155s] Makefile:453: recipe for target 'all-recursive' failed [ 155s] make[2]: *** [all-recursive] Error 1 [ 155s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 155s] Makefile:385: recipe for target 'all' failed [ 155s] make[1]: *** [all] Error 2 [ 155s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 155s] dh_auto_build: make -j1 returned exit code 2 [ 155s] debian/rules:45: recipe for target 'build' failed [ 155s] make: *** [build] Error 2 [ 155s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 155s] ### VM INTERACTION START ### [ 158s] [ 151.743988] sysrq: Power Off [ 158s] [ 151.747531] reboot: Power down [ 158s] ### VM INTERACTION END ### [ 158s] [ 158s] goat09 failed "build osmo-bsc_1.7.0.108.4d5604.202106060026.dsc" at Sun Jun 6 00:59:52 UTC 2021. [ 158s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 01:03:20 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 01:03:20 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <60bc1f4230393_55042b087e8705f83024497@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: [ 422s] /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 isdnsync isdnsync.o [ 422s] 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 isdnsync isdnsync.o -pthread [ 422s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -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 -c -o meas_json-meas_json.o `test -f 'meas_json.c' || echo './'`meas_json.c [ 423s] /bin/bash ../../libtool --tag=CC --mode=link gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 423s] libtool: link: gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 423s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -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 meas_vis-meas_vis.o `test -f 'meas_vis.c' || echo './'`meas_vis.c [ 423s] meas_vis.c: In function 'write_uni': [ 423s] meas_vis.c:196:16: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? [ 423s] 196 | pwr = ms->mr.bs_power; [ 423s] | ^~~~~~~~ [ 423s] | bs_power_db [ 423s] make[4]: *** [Makefile:736: meas_vis-meas_vis.o] Error 1 [ 423s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 423s] make[3]: *** [Makefile:403: all-recursive] Error 1 [ 423s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 423s] make[2]: *** [Makefile:455: all-recursive] Error 1 [ 423s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 423s] make[1]: *** [Makefile:387: all] Error 2 [ 423s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 423s] dh_auto_build: error: make -j1 returned exit code 2 [ 423s] make: *** [debian/rules:45: build] Error 25 [ 423s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 423s] ### VM INTERACTION START ### [ 424s] Powering off. [ 424s] [ 407.175067] reboot: Power down [ 424s] ### VM INTERACTION END ### [ 424s] [ 424s] lamb06 failed "build osmo-bsc_1.7.0.108.4d5604.202106060026.dsc" at Sun Jun 6 01:03:03 UTC 2021. [ 424s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 01:07:18 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 01:07:18 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in xUbuntu_21.04/x86_64 In-Reply-To: References: Message-ID: <60bc1fdb50f61_55042b087e8705f83025126@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: [ 445s] /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 isdnsync isdnsync.o [ 445s] 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 isdnsync isdnsync.o -pthread [ 445s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -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 -c -o meas_json-meas_json.o `test -f 'meas_json.c' || echo './'`meas_json.c [ 445s] /bin/bash ../../libtool --tag=CC --mode=link gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 445s] libtool: link: gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 446s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -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 meas_vis-meas_vis.o `test -f 'meas_vis.c' || echo './'`meas_vis.c [ 446s] meas_vis.c: In function 'write_uni': [ 446s] meas_vis.c:196:16: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? [ 446s] 196 | pwr = ms->mr.bs_power; [ 446s] | ^~~~~~~~ [ 446s] | bs_power_db [ 446s] make[4]: *** [Makefile:736: meas_vis-meas_vis.o] Error 1 [ 446s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 446s] make[3]: *** [Makefile:403: all-recursive] Error 1 [ 446s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 446s] make[2]: *** [Makefile:455: all-recursive] Error 1 [ 446s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 446s] make[1]: *** [Makefile:387: all] Error 2 [ 446s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 446s] dh_auto_build: error: make -j1 returned exit code 2 [ 446s] make: *** [debian/rules:45: build] Error 25 [ 446s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 446s] ### VM INTERACTION START ### [ 447s] Powering off. [ 447s] [ 428.908391] reboot: Power down [ 447s] ### VM INTERACTION END ### [ 447s] [ 447s] cloud129 failed "build osmo-bsc_1.7.0.108.4d5604.202106060026.dsc" at Sun Jun 6 01:07:08 UTC 2021. [ 447s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Jun 6 01:09:04 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 6 Jun 2021 01:09:04 +0000 Subject: Change in osmo-bts[master]: [VAMOS] conf_lchans_as_pchan(): improve readability In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24485 ) Change subject: [VAMOS] conf_lchans_as_pchan(): improve readability ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1c5a033e89d9ca5fb01ebe9ffb521fd67d159bee Gerrit-Change-Number: 24485 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-Comment-Date: Sun, 06 Jun 2021 01:09:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 6 01:09:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 6 Jun 2021 01:09:25 +0000 Subject: Change in osmo-bts[master]: [VAMOS] conf_lchans_as_pchan(): improve readability In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24485 ) Change subject: [VAMOS] conf_lchans_as_pchan(): improve readability ...................................................................... [VAMOS] conf_lchans_as_pchan(): improve readability Change-Id: I1c5a033e89d9ca5fb01ebe9ffb521fd67d159bee --- M src/common/oml.c 1 file changed, 21 insertions(+), 33 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/common/oml.c b/src/common/oml.c index cf83903..aba8847 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -813,62 +813,50 @@ return conf_lchans_as_pchan(ts, pchan); } +static inline void lchans_type_set(struct gsm_bts_trx_ts *ts, + enum gsm_chan_t lchan_type, + unsigned int num_lchans) +{ + unsigned int i; + + for (i = 0; i < num_lchans; i++) + ts->lchan[i].type = lchan_type; +} + int conf_lchans_as_pchan(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config pchan) { - struct gsm_lchan *lchan; - unsigned int i; - switch (pchan) { case GSM_PCHAN_CCCH_SDCCH4_CBCH: - /* fallthrough */ case GSM_PCHAN_CCCH_SDCCH4: - for (i = 0; i < 4; i++) { - lchan = &ts->lchan[i]; - if (pchan == GSM_PCHAN_CCCH_SDCCH4_CBCH - && i == 2) { - lchan->type = GSM_LCHAN_CBCH; - } else { - lchan->type = GSM_LCHAN_SDCCH; - } - } + lchans_type_set(ts, GSM_LCHAN_SDCCH, 4); + if (pchan == GSM_PCHAN_CCCH_SDCCH4_CBCH) + ts->lchan[2].type = GSM_LCHAN_CBCH; /* fallthrough */ case GSM_PCHAN_CCCH: - lchan = &ts->lchan[CCCH_LCHAN]; - lchan->type = GSM_LCHAN_CCCH; + ts->lchan[CCCH_LCHAN].type = GSM_LCHAN_CBCH; break; case GSM_PCHAN_TCH_F: - lchan = &ts->lchan[0]; - lchan->type = GSM_LCHAN_TCH_F; + lchans_type_set(ts, GSM_LCHAN_TCH_F, 1); break; case GSM_PCHAN_TCH_H: - for (i = 0; i < 2; i++) { - lchan = &ts->lchan[i]; - lchan->type = GSM_LCHAN_TCH_H; - } + lchans_type_set(ts, GSM_LCHAN_TCH_H, 2); break; case GSM_PCHAN_SDCCH8_SACCH8C_CBCH: - /* fallthrough */ case GSM_PCHAN_SDCCH8_SACCH8C: - for (i = 0; i < 8; i++) { - lchan = &ts->lchan[i]; - if (pchan == GSM_PCHAN_SDCCH8_SACCH8C_CBCH - && i == 2) { - lchan->type = GSM_LCHAN_CBCH; - } else { - lchan->type = GSM_LCHAN_SDCCH; - } - } + lchans_type_set(ts, GSM_LCHAN_SDCCH, 8); + if (pchan == GSM_PCHAN_SDCCH8_SACCH8C_CBCH) + ts->lchan[2].type = GSM_LCHAN_CBCH; break; case GSM_PCHAN_PDCH: - lchan = &ts->lchan[0]; - lchan->type = GSM_LCHAN_PDTCH; + lchans_type_set(ts, GSM_LCHAN_PDTCH, 1); break; default: LOGP(DOML, LOGL_ERROR, "Unknown/unhandled PCHAN type: %u %s\n", ts->pchan, gsm_pchan_name(ts->pchan)); return -NM_NACK_PARAM_RANGE; } + return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1c5a033e89d9ca5fb01ebe9ffb521fd67d159bee Gerrit-Change-Number: 24485 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 6 01:09:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 6 Jun 2021 01:09:26 +0000 Subject: Change in osmo-bts[master]: [VAMOS] Implement the concept of 'shadow' timeslots In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24153 ) Change subject: [VAMOS] Implement the concept of 'shadow' timeslots ...................................................................... [VAMOS] Implement the concept of 'shadow' timeslots Change-Id: I48b44b4df9ffb1cca105aebbd868c29b21f3b1d6 Depends: Ia0bd8695a3f12331b696fe69117189cdd48b584d Related: SYS#4895, OS#4941 --- M include/osmo-bts/bts_trx.h M include/osmo-bts/gsm_data.h M include/osmo-bts/l1sap.h M src/common/bts_trx.c M src/common/gsm_data.c M src/common/l1sap.c M src/common/oml.c M src/common/scheduler.c M src/common/vty.c 9 files changed, 218 insertions(+), 68 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/osmo-bts/bts_trx.h b/include/osmo-bts/bts_trx.h index d4c3f39..f033573 100644 --- a/include/osmo-bts/bts_trx.h +++ b/include/osmo-bts/bts_trx.h @@ -48,6 +48,7 @@ struct gsm_bts_trx *gsm_bts_trx_alloc(struct gsm_bts *bts); struct gsm_bts_trx *gsm_bts_trx_num(const struct gsm_bts *bts, int num); +void gsm_bts_trx_init_shadow_ts(struct gsm_bts_trx *trx); char *gsm_trx_name(const struct gsm_bts_trx *trx); const char *gsm_trx_unit_id(struct gsm_bts_trx *trx); diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index 93eb2f0..6ce5c3b 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -463,6 +463,13 @@ /* Implementation specific structure(s) */ void *priv; + /* VAMOS specific fields */ + struct { + /* NULL if BTS_FEAT_VAMOS is not set */ + struct gsm_bts_trx_ts *peer; + bool is_shadow; + } vamos; + struct gsm_lchan lchan[TS_MAX_LCHAN]; }; @@ -515,6 +522,12 @@ void gsm_lchan_name_update(struct gsm_lchan *lchan); const char *gsm_lchans_name(enum gsm_lchan_state s); +#define GSM_TS_NAME_FMT \ + "bts=%u,trx=%u,ts=%u" "%s" +#define GSM_TS_NAME_ARGS(ts) \ + (ts)->trx->bts->nr, (ts)->trx->nr, (ts)->nr, \ + (ts)->vamos.is_shadow ? ",shadow" : "" + static inline char *gsm_lchan_name(const struct gsm_lchan *lchan) { return lchan->name; diff --git a/include/osmo-bts/l1sap.h b/include/osmo-bts/l1sap.h index fe77431..f78d114 100644 --- a/include/osmo-bts/l1sap.h +++ b/include/osmo-bts/l1sap.h @@ -19,9 +19,11 @@ #define L1SAP_IS_LINK_SACCH(link_id) \ ((link_id & 0xC0) == LID_SACCH) #define L1SAP_IS_CHAN_TCHF(chan_nr) \ - ((chan_nr & 0xf8) == RSL_CHAN_Bm_ACCHs) + ((chan_nr & 0xf8) == RSL_CHAN_Bm_ACCHs || \ + (chan_nr & 0xf8) == RSL_CHAN_OSMO_VAMOS_Bm_ACCHs) #define L1SAP_IS_CHAN_TCHH(chan_nr) \ - ((chan_nr & 0xf0) == RSL_CHAN_Lm_ACCHs) + ((chan_nr & 0xf0) == RSL_CHAN_Lm_ACCHs || \ + (chan_nr & 0xf0) == RSL_CHAN_OSMO_VAMOS_Lm_ACCHs) #define L1SAP_IS_CHAN_SDCCH4(chan_nr) \ ((chan_nr & 0xe0) == RSL_CHAN_SDCCH4_ACCH) #define L1SAP_IS_CHAN_SDCCH8(chan_nr) \ @@ -37,6 +39,9 @@ #define L1SAP_IS_CHAN_CBCH(chan_nr) \ ((chan_nr & 0xf8) == RSL_CHAN_OSMO_CBCH4) \ || ((chan_nr & 0xf8) == RSL_CHAN_OSMO_CBCH8) +#define L1SAP_IS_CHAN_VAMOS(chan_nr) \ + ((chan_nr & 0xf8) == RSL_CHAN_OSMO_VAMOS_Bm_ACCHs || \ + (chan_nr & 0xf0) == RSL_CHAN_OSMO_VAMOS_Lm_ACCHs) /* rach type from ra */ #define L1SAP_IS_PACKET_RACH(ra) ((ra & 0xf0) == 0x70 && (ra & 0x0f) != 0x0f) diff --git a/src/common/bts_trx.c b/src/common/bts_trx.c index 3d295e5..a5d7ed3 100644 --- a/src/common/bts_trx.c +++ b/src/common/bts_trx.c @@ -1,5 +1,5 @@ /* (C) 2008-2010 by Harald Welte - * (C) 2020 by sysmocom - s.f.m.c. GmbH + * (C) 2020-2021 by sysmocom - s.f.m.c. GmbH * All Rights Reserved * * This program is free software; you can redistribute it and/or modify @@ -52,10 +52,76 @@ return 0; } +/* Initialize all logical channels of the given timeslot */ +static void gsm_bts_trx_ts_init_lchan(struct gsm_bts_trx_ts *ts) +{ + unsigned int ln; + + for (ln = 0; ln < ARRAY_SIZE(ts->lchan); ln++) { + struct gsm_lchan *lchan = &ts->lchan[ln]; + + lchan->ts = ts; + lchan->nr = ln; + lchan->type = GSM_LCHAN_NONE; + gsm_lchan_name_update(lchan); + + INIT_LLIST_HEAD(&lchan->sapi_cmds); + INIT_LLIST_HEAD(&lchan->dl_tch_queue); + } +} + +/* Initialize primary timeslots of the given transceiver */ +static void gsm_bts_trx_init_ts(struct gsm_bts_trx *trx) +{ + unsigned int tn; + + for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { + struct gsm_bts_trx_ts *ts = &trx->ts[tn]; + + ts->trx = trx; + ts->nr = tn; + + ts->mo.fi = osmo_fsm_inst_alloc(&nm_chan_fsm, trx, ts, + LOGL_INFO, NULL); + osmo_fsm_inst_update_id_f(ts->mo.fi, "%s-ts%u", + trx->bb_transc.mo.fi->id, ts->nr); + gsm_mo_init(&ts->mo, trx->bts, NM_OC_CHANNEL, + trx->bts->nr, trx->nr, ts->nr); + + gsm_bts_trx_ts_init_lchan(ts); + } +} + +/* Initialize shadow timeslots of the given transceiver */ +void gsm_bts_trx_init_shadow_ts(struct gsm_bts_trx *trx) +{ + unsigned int tn; + + for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { + struct gsm_bts_trx_ts *ts; + + ts = talloc_zero(trx, struct gsm_bts_trx_ts); + OSMO_ASSERT(ts != NULL); + + ts->trx = trx; + ts->nr = tn; + + /* Link both primary and shadow */ + trx->ts[tn].vamos.peer = ts; + ts->vamos.peer = &trx->ts[tn]; + ts->vamos.is_shadow = true; + + /* Shadow timeslot uses the primary's NM FSM */ + OSMO_ASSERT(trx->ts[tn].mo.fi != NULL); + ts->mo.fi = trx->ts[tn].mo.fi; + + gsm_bts_trx_ts_init_lchan(ts); + } +} + struct gsm_bts_trx *gsm_bts_trx_alloc(struct gsm_bts *bts) { struct gsm_bts_trx *trx = talloc_zero(bts, struct gsm_bts_trx); - int k; if (!trx) return NULL; @@ -77,36 +143,7 @@ gsm_mo_init(&trx->bb_transc.mo, bts, NM_OC_BASEB_TRANSC, bts->nr, trx->nr, 0xff); - for (k = 0; k < TRX_NR_TS; k++) { - struct gsm_bts_trx_ts *ts = &trx->ts[k]; - int l; - - ts->trx = trx; - ts->nr = k; - ts->pchan = GSM_PCHAN_NONE; - ts->dyn.pchan_is = GSM_PCHAN_NONE; - ts->dyn.pchan_want = GSM_PCHAN_NONE; - - ts->mo.fi = osmo_fsm_inst_alloc(&nm_chan_fsm, trx, ts, - LOGL_INFO, NULL); - osmo_fsm_inst_update_id_f(ts->mo.fi, "bts%d-trx%d-ts%d", - bts->nr, trx->nr, ts->nr); - gsm_mo_init(&ts->mo, bts, NM_OC_CHANNEL, - bts->nr, trx->nr, ts->nr); - - for (l = 0; l < TS_MAX_LCHAN; l++) { - struct gsm_lchan *lchan; - lchan = &ts->lchan[l]; - - lchan->ts = ts; - lchan->nr = l; - lchan->type = GSM_LCHAN_NONE; - gsm_lchan_name_update(lchan); - - INIT_LLIST_HEAD(&lchan->sapi_cmds); - INIT_LLIST_HEAD(&lchan->dl_tch_queue); - } - } + gsm_bts_trx_init_ts(trx); if (trx->nr != 0) trx->nominal_power = bts->c0->nominal_power; diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index 6328783..09664e2 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -107,11 +107,11 @@ static char ts2str[255]; - char *gsm_ts_name(const struct gsm_bts_trx_ts *ts) { - snprintf(ts2str, sizeof(ts2str), "(bts=%d,trx=%d,ts=%d)", - ts->trx->bts->nr, ts->trx->nr, ts->nr); + snprintf(ts2str, sizeof(ts2str), + "(" GSM_TS_NAME_FMT ")", + GSM_TS_NAME_ARGS(ts)); return ts2str; } @@ -123,15 +123,14 @@ case GSM_PCHAN_TCH_F_TCH_H_PDCH: if (ts->dyn.pchan_is == ts->dyn.pchan_want) snprintf(ts2str, sizeof(ts2str), - "(bts=%d,trx=%d,ts=%d,pchan=%s as %s)", - ts->trx->bts->nr, ts->trx->nr, ts->nr, + "(" GSM_TS_NAME_FMT ",pchan=%s as %s)", + GSM_TS_NAME_ARGS(ts), gsm_pchan_name(ts->pchan), gsm_pchan_name(ts->dyn.pchan_is)); else snprintf(ts2str, sizeof(ts2str), - "(bts=%d,trx=%d,ts=%d,pchan=%s" - " switching %s -> %s)", - ts->trx->bts->nr, ts->trx->nr, ts->nr, + "(" GSM_TS_NAME_FMT ",pchan=%s switching %s -> %s)", + GSM_TS_NAME_ARGS(ts), gsm_pchan_name(ts->pchan), gsm_pchan_name(ts->dyn.pchan_is), gsm_pchan_name(ts->dyn.pchan_want)); @@ -139,16 +138,15 @@ case GSM_PCHAN_TCH_F_PDCH: if ((ts->flags & TS_F_PDCH_PENDING_MASK) == 0) snprintf(ts2str, sizeof(ts2str), - "(bts=%d,trx=%d,ts=%d,pchan=%s as %s)", - ts->trx->bts->nr, ts->trx->nr, ts->nr, + "(" GSM_TS_NAME_FMT ",pchan=%s as %s)", + GSM_TS_NAME_ARGS(ts), gsm_pchan_name(ts->pchan), (ts->flags & TS_F_PDCH_ACTIVE)? "PDCH" : "TCH/F"); else snprintf(ts2str, sizeof(ts2str), - "(bts=%d,trx=%d,ts=%d,pchan=%s" - " switching %s -> %s)", - ts->trx->bts->nr, ts->trx->nr, ts->nr, + "(" GSM_TS_NAME_FMT ",pchan=%s switching %s -> %s)", + GSM_TS_NAME_ARGS(ts), gsm_pchan_name(ts->pchan), (ts->flags & TS_F_PDCH_ACTIVE)? "PDCH" : "TCH/F", @@ -156,9 +154,8 @@ : "TCH/F"); break; default: - snprintf(ts2str, sizeof(ts2str), "(bts=%d,trx=%d,ts=%d,pchan=%s)", - ts->trx->bts->nr, ts->trx->nr, ts->nr, - gsm_pchan_name(ts->pchan)); + snprintf(ts2str, sizeof(ts2str), "(" GSM_TS_NAME_FMT ",pchan=%s)", + GSM_TS_NAME_ARGS(ts), gsm_pchan_name(ts->pchan)); break; } @@ -171,8 +168,8 @@ const struct gsm_bts_trx *trx = ts->trx; char *name; - name = talloc_asprintf(trx, "(bts=%u,trx=%u,ts=%u,ss=%u)", - trx->bts->nr, trx->nr, ts->nr, lchan->nr); + name = talloc_asprintf(trx, "(" GSM_TS_NAME_FMT ",ss=%u)", + GSM_TS_NAME_ARGS(ts), lchan->nr); if (lchan->name != NULL) talloc_free(lchan->name); lchan->name = name; @@ -248,19 +245,30 @@ uint8_t gsm_lchan2chan_nr(const struct gsm_lchan *lchan) { + uint8_t chan_nr; + switch (lchan->ts->pchan) { case GSM_PCHAN_TCH_F_TCH_H_PDCH: /* Return chan_nr reflecting the current TS pchan, either a standard TCH kind, or the * nonstandard value reflecting PDCH for Osmocom style dyn TS. */ - return gsm_lchan_as_pchan2chan_nr(lchan, - lchan->ts->dyn.pchan_is); + chan_nr = gsm_lchan_as_pchan2chan_nr(lchan, lchan->ts->dyn.pchan_is); + break; case GSM_PCHAN_TCH_F_PDCH: /* For ip.access style dyn TS, we always want to use the chan_nr as if it was TCH/F. * We're using custom PDCH ACT and DEACT messages that use the usual chan_nr values. */ - return gsm_lchan_as_pchan2chan_nr(lchan, GSM_PCHAN_TCH_F); + chan_nr = gsm_lchan_as_pchan2chan_nr(lchan, GSM_PCHAN_TCH_F); + break; default: - return gsm_pchan2chan_nr(lchan->ts->pchan, lchan->ts->nr, lchan->nr); + chan_nr = gsm_pchan2chan_nr(lchan->ts->pchan, lchan->ts->nr, lchan->nr); + break; } + + /* VAMOS: if this lchan belongs to a shadow timeslot, we must reflect + * this in the channel number. Convert it to Osmocom specific value. */ + if (lchan->ts->vamos.is_shadow) + chan_nr |= RSL_CHAN_OSMO_VAMOS_MASK; + + return chan_nr; } uint8_t gsm_lchan_as_pchan2chan_nr(const struct gsm_lchan *lchan, @@ -286,6 +294,11 @@ *rc = -EINVAL; switch (cbits) { + case ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Bm_ACCHs: + if (ts->vamos.peer == NULL) + return NULL; + ts = ts->vamos.peer; + /* fall-through */ case ABIS_RSL_CHAN_NR_CBITS_Bm_ACCHs: lch_idx = 0; /* TCH/F */ if (ts->pchan != GSM_PCHAN_TCH_F && @@ -294,6 +307,12 @@ ts->pchan != GSM_PCHAN_TCH_F_TCH_H_PDCH) ok = false; break; + case ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Lm_ACCHs(0): + case ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Lm_ACCHs(1): + if (ts->vamos.peer == NULL) + return NULL; + ts = ts->vamos.peer; + /* fall-through */ case ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(0): case ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(1): lch_idx = cbits & 0x1; /* TCH/H */ diff --git a/src/common/l1sap.c b/src/common/l1sap.c index b0cffe5..b17bf01 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -95,18 +95,25 @@ struct gsm_lchan *get_lchan_by_chan_nr(struct gsm_bts_trx *trx, unsigned int chan_nr) { + struct gsm_bts_trx_ts *ts; unsigned int tn, ss; tn = L1SAP_CHAN2TS(chan_nr); - OSMO_ASSERT(tn < ARRAY_SIZE(trx->ts)); + ts = &trx->ts[tn]; + + if (L1SAP_IS_CHAN_VAMOS(chan_nr)) { + if (ts->vamos.peer == NULL) + return NULL; + ts = ts->vamos.peer; + } if (L1SAP_IS_CHAN_CBCH(chan_nr)) ss = 2; /* CBCH is always on sub-slot 2 */ else ss = l1sap_chan2ss(chan_nr); - OSMO_ASSERT(ss < ARRAY_SIZE(trx->ts[tn].lchan)); + OSMO_ASSERT(ss < ARRAY_SIZE(ts->lchan)); - return &trx->ts[tn].lchan[ss]; + return &ts->lchan[ss]; } static struct gsm_lchan * @@ -1986,18 +1993,22 @@ /* Init DTX DL FSM if necessary */ if (trx->bts->dtxd && lchan->type != GSM_LCHAN_SDCCH) { - char name[32]; - snprintf(name, sizeof(name), "bts%u-trx%u-ts%u-ss%u", - trx->bts->nr, trx->nr, lchan->ts->nr, lchan->nr); lchan->tch.dtx.dl_amr_fsm = osmo_fsm_inst_alloc(&dtx_dl_amr_fsm, tall_bts_ctx, lchan, LOGL_DEBUG, - name); + NULL); if (!lchan->tch.dtx.dl_amr_fsm) { l1sap_chan_act_dact_modify(trx, chan_nr, PRIM_INFO_DEACTIVATE, 0); return -RSL_ERR_EQUIPMENT_FAIL; } + + rc = osmo_fsm_inst_update_id_f(lchan->tch.dtx.dl_amr_fsm, + "bts%u-trx%u-ts%u-ss%u%s", + trx->bts->nr, trx->nr, + lchan->ts->nr, lchan->nr, + lchan->ts->vamos.is_shadow ? "-shadow" : ""); + OSMO_ASSERT(rc == 0); } return 0; } diff --git a/src/common/oml.c b/src/common/oml.c index aba8847..0e7fbd5 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -837,9 +837,17 @@ ts->lchan[CCCH_LCHAN].type = GSM_LCHAN_CBCH; break; case GSM_PCHAN_TCH_F: + if (ts->vamos.peer != NULL) { /* VAMOS: enable shadow lchans */ + lchans_type_set(ts->vamos.peer, GSM_LCHAN_TCH_F, 1); + ts->vamos.peer->pchan = GSM_PCHAN_TCH_F; + } lchans_type_set(ts, GSM_LCHAN_TCH_F, 1); break; case GSM_PCHAN_TCH_H: + if (ts->vamos.peer != NULL) { /* VAMOS: enable shadow lchans */ + lchans_type_set(ts->vamos.peer, GSM_LCHAN_TCH_H, 2); + ts->vamos.peer->pchan = GSM_PCHAN_TCH_H; + } lchans_type_set(ts, GSM_LCHAN_TCH_H, 2); break; case GSM_PCHAN_SDCCH8_SACCH8C_CBCH: @@ -849,6 +857,10 @@ ts->lchan[2].type = GSM_LCHAN_CBCH; break; case GSM_PCHAN_PDCH: + if (ts->vamos.peer != NULL) { /* VAMOS: disable shadow lchans */ + lchans_type_set(ts->vamos.peer, GSM_LCHAN_NONE, 1); + ts->vamos.peer->pchan = GSM_PCHAN_NONE; + } lchans_type_set(ts, GSM_LCHAN_PDTCH, 1); break; default: diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 6472e89..eb0aecd 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -744,6 +744,10 @@ struct osmo_phsap_prim *l1sap; uint8_t chan_nr = trx_chan_desc[chan].chan_nr | l1ts->ts->nr; + /* VAMOS: use Osmocom specific channel number */ + if (l1ts->ts->vamos.is_shadow) + chan_nr |= RSL_CHAN_OSMO_VAMOS_MASK; + /* compose primitive */ msg = l1sap_msgb_alloc(l2_len); l1sap = msgb_l1sap_prim(msg); @@ -780,6 +784,10 @@ uint8_t chan_nr = trx_chan_desc[chan].chan_nr | l1ts->ts->nr; struct gsm_lchan *lchan = &l1ts->ts->lchan[l1sap_chan2ss(chan_nr)]; + /* VAMOS: use Osmocom specific channel number */ + if (l1ts->ts->vamos.is_shadow) + chan_nr |= RSL_CHAN_OSMO_VAMOS_MASK; + /* compose primitive */ msg = l1sap_msgb_alloc(tch_len); l1sap = msgb_l1sap_prim(msg); @@ -831,6 +839,10 @@ return 0; } + /* VAMOS: convert Osmocom specific channel number to a generic one */ + if (trx->ts[tn].vamos.is_shadow) + l1sap->u.data.chan_nr &= ~RSL_CHAN_OSMO_VAMOS_MASK; + msgb_enqueue(&l1ts->dl_prims, l1sap->oph.msg); return 0; @@ -853,6 +865,10 @@ return 0; } + /* VAMOS: convert Osmocom specific channel number to a generic one */ + if (trx->ts[tn].vamos.is_shadow) + l1sap->u.tch.chan_nr &= ~RSL_CHAN_OSMO_VAMOS_MASK; + msgb_enqueue(&l1ts->dl_prims, l1sap->oph.msg); return 0; @@ -874,6 +890,11 @@ chan_nr = trx_chan_desc[br->chan].chan_nr | br->tn; link_id = trx_chan_desc[br->chan].link_id; + + /* VAMOS: use Osmocom specific channel number */ + if (l1ts->ts->vamos.is_shadow) + chan_nr |= RSL_CHAN_OSMO_VAMOS_MASK; + /* For handover detection, there are cases where the SACCH should remain inactive until the first RACH * indicating the TA is received. */ if (L1SAP_IS_LINK_SACCH(link_id) @@ -909,6 +930,11 @@ chan_nr = trx_chan_desc[br->chan].chan_nr | br->tn; link_id = trx_chan_desc[br->chan].link_id; + + /* VAMOS: use Osmocom specific channel number */ + if (l1ts->ts->vamos.is_shadow) + chan_nr |= RSL_CHAN_OSMO_VAMOS_MASK; + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "TCH RTS.ind: chan_nr=0x%02x\n", chan_nr); /* only send, if FACCH is selected */ @@ -1018,6 +1044,11 @@ bool found = false; int i; + /* VAMOS: convert Osmocom specific channel number to a generic one, + * otherwise we won't match anything in trx_chan_desc[]. */ + if (lchan->ts->vamos.is_shadow) + chan_nr &= ~RSL_CHAN_OSMO_VAMOS_MASK; + /* look for all matching chan_nr/link_id */ for (i = 0; i < _TRX_CHAN_MAX; i++) { struct l1sched_chan_state *chan_state = &l1ts->chan_state[i]; @@ -1081,6 +1112,11 @@ if (ts->pchan == GSM_PCHAN_PDCH) return 0; + /* VAMOS: convert Osmocom specific channel number to a generic one, + * otherwise we won't match anything in trx_chan_desc[]. */ + if (ts->vamos.is_shadow) + chan_nr &= ~RSL_CHAN_OSMO_VAMOS_MASK; + /* look for all matching chan_nr/link_id */ for (i = 0; i < _TRX_CHAN_MAX; i++) { if (trx_chan_desc[i].chan_nr == (chan_nr & 0xf8) @@ -1133,6 +1169,11 @@ if (lchan->ts->pchan == GSM_PCHAN_PDCH) return 0; + /* VAMOS: convert Osmocom specific channel number to a generic one, + * otherwise we won't match anything in trx_chan_desc[]. */ + if (lchan->ts->vamos.is_shadow) + chan_nr &= ~RSL_CHAN_OSMO_VAMOS_MASK; + /* no algorithm given means a5/0 */ if (algo <= 0) algo = 0; diff --git a/src/common/vty.c b/src/common/vty.c index ccc63e6..8a1bafc 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -1642,8 +1642,9 @@ { struct in_addr ia; - vty_out(vty, "BTS %u, TRX %u, Timeslot %u, Lchan %u: Type %s%s", + vty_out(vty, "BTS %u, TRX %u, Timeslot %u (%s), Lchan %u: Type %s%s", lchan->ts->trx->bts->nr, lchan->ts->trx->nr, lchan->ts->nr, + lchan->ts->vamos.is_shadow ? "shadow" : "primary", lchan->nr, gsm_lchant_name(lchan->type), VTY_NEWLINE); /* show dyn TS details, if applicable */ switch (lchan->ts->pchan) { @@ -1718,8 +1719,9 @@ { const struct gsm_meas_rep_unidir *mru = &lchan->meas.ul_res; - vty_out(vty, "BTS %u, TRX %u, Timeslot %u %s", + vty_out(vty, "BTS %u, TRX %u, Timeslot %u (%s) %s", lchan->ts->trx->bts->nr, lchan->ts->trx->nr, lchan->ts->nr, + lchan->ts->vamos.is_shadow ? "shadow" : "primary", gsm_pchan_name(lchan->ts->pchan)); vty_out_dyn_ts_status(vty, lchan->ts); vty_out(vty, ", Lchan %u, Type %s, State %s - " @@ -1760,6 +1762,8 @@ for (ts_nr = 0; ts_nr < TRX_NR_TS; ts_nr++) { const struct gsm_bts_trx_ts *ts = &trx->ts[ts_nr]; dump_lchan_trx_ts(ts, vty, dump_cb); + if (ts->vamos.peer != NULL) /* VAMOS: shadow timeslot */ + dump_lchan_trx_ts(ts->vamos.peer, vty, dump_cb); } return CMD_SUCCESS; @@ -1870,7 +1874,8 @@ int bts_nr = atoi(argv[idx+0]); int trx_nr = atoi(argv[idx+1]); int ts_nr = atoi(argv[idx+2]); - int lchan_nr = atoi(argv[idx+3]); + bool shadow = argv[idx+3][0] == 's'; + int lchan_nr = atoi(argv[idx+4]); struct gsm_bts *bts; struct gsm_bts_trx *trx; struct gsm_bts_trx_ts *ts; @@ -1886,6 +1891,11 @@ if (ts_nr >= ARRAY_SIZE(trx->ts)) return NULL; ts = &trx->ts[ts_nr]; + if (shadow) { /* VAMOS shadow */ + if (ts->vamos.peer == NULL) + return NULL; + ts = ts->vamos.peer; + } if (lchan_nr >= ARRAY_SIZE(ts->lchan)) return NULL; @@ -1894,7 +1904,7 @@ } #define BTS_T_T_L_CMD \ - "bts <0-0> trx <0-255> ts <0-7> lchan <0-7>" + "bts <0-0> trx <0-255> ts <0-7> (lchan|shadow-lchan) <0-7>" #define BTS_T_T_L_STR \ "BTS related commands\n" \ "BTS number\n" \ @@ -1902,7 +1912,8 @@ "TRX number\n" \ "timeslot related commands\n" \ "timeslot number\n" \ - "logical channel commands\n" \ + "Primary logical channel commands\n" \ + "Shadow logical channel commands\n" \ "logical channel number\n" DEFUN(cfg_bts_gsmtap_remote_host, -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24153 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I48b44b4df9ffb1cca105aebbd868c29b21f3b1d6 Gerrit-Change-Number: 24153 Gerrit-PatchSet: 13 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 6 01:09:27 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 6 Jun 2021 01:09:27 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: schedule bursts on 'shadow' timeslots In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24440 ) Change subject: [VAMOS] osmo-bts-trx: schedule bursts on 'shadow' timeslots ...................................................................... [VAMOS] osmo-bts-trx: schedule bursts on 'shadow' timeslots Change-Id: I3e0bdf8c03273f66991aa1764029ab1dd3528d7e Related: SYS#4895, OS#4941 --- M include/osmo-bts/scheduler.h M src/common/scheduler.c M src/osmo-bts-trx/main.c M src/osmo-bts-trx/scheduler_trx.c M src/osmo-bts-trx/trx_if.c 5 files changed, 91 insertions(+), 20 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/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index 9093229..86bfdf9 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -71,6 +71,7 @@ enum trx_mod_type { TRX_MOD_T_GMSK, TRX_MOD_T_8PSK, + TRX_MOD_T_AQPSK, }; /* A set of measurements belonging to one Uplink burst */ @@ -231,6 +232,7 @@ #define TRX_BI_F_CI_CB (1 << 3) #define TRX_BI_F_TRX_NUM (1 << 4) #define TRX_BI_F_BATCH_IND (1 << 5) +#define TRX_BI_F_SHADOW_IND (1 << 6) /*! UL burst indication with the corresponding meta info */ struct trx_ul_burst_ind { diff --git a/src/common/scheduler.c b/src/common/scheduler.c index eb0aecd..3ab94a2 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -606,32 +606,49 @@ * init / exit */ +static void trx_sched_init_ts(struct gsm_bts_trx_ts *ts, + const unsigned int rate_ctr_idx) +{ + struct l1sched_ts *l1ts; + unsigned int i; + + l1ts = talloc_zero(ts->trx, struct l1sched_ts); + OSMO_ASSERT(l1ts != NULL); + + /* Link both structures */ + ts->priv = l1ts; + l1ts->ts = ts; + + l1ts->ctrs = rate_ctr_group_alloc(ts->trx, + &l1sched_ts_ctrg_desc, + rate_ctr_idx); + INIT_LLIST_HEAD(&l1ts->dl_prims); + + for (i = 0; i < ARRAY_SIZE(l1ts->chan_state); i++) { + struct l1sched_chan_state *chan_state; + chan_state = &l1ts->chan_state[i]; + chan_state->active = false; + } +} + void trx_sched_init(struct gsm_bts_trx *trx) { - unsigned int tn, i; + unsigned int tn; OSMO_ASSERT(trx != NULL); LOGPTRX(trx, DL1C, LOGL_DEBUG, "Init scheduler structures\n"); + /* Allocate shadow timeslots */ + gsm_bts_trx_init_shadow_ts(trx); + for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { - struct l1sched_ts *l1ts; + unsigned int rate_ctr_idx = trx->nr * 100 + tn; + struct gsm_bts_trx_ts *ts = &trx->ts[tn]; - l1ts = talloc_zero(trx, struct l1sched_ts); - OSMO_ASSERT(l1ts != NULL); - - trx->ts[tn].priv = l1ts; - l1ts->ts = &trx->ts[tn]; - - l1ts->mf_index = 0; - l1ts->ctrs = rate_ctr_group_alloc(trx, &l1sched_ts_ctrg_desc, (trx->nr + 1) * 10 + tn); - INIT_LLIST_HEAD(&l1ts->dl_prims); - - for (i = 0; i < ARRAY_SIZE(l1ts->chan_state); i++) { - struct l1sched_chan_state *chan_state; - chan_state = &l1ts->chan_state[i]; - chan_state->active = false; - } + /* Init primary and shadow timeslots */ + trx_sched_init_ts(ts, rate_ctr_idx); + trx_sched_init_ts(ts->vamos.peer, rate_ctr_idx + 10); } } @@ -999,6 +1016,12 @@ l1ts->mf_index = i; l1ts->mf_period = trx_sched_multiframes[i].period; l1ts->mf_frames = trx_sched_multiframes[i].frames; + if (ts->vamos.peer != NULL) { + l1ts = ts->vamos.peer->priv; + l1ts->mf_index = i; + l1ts->mf_period = trx_sched_multiframes[i].period; + l1ts->mf_frames = trx_sched_multiframes[i].frames; + } LOGP(DL1C, LOGL_NOTICE, "%s Configured multiframe with '%s'\n", gsm_ts_name(ts), trx_sched_multiframes[i].name); return 0; @@ -1423,6 +1446,10 @@ uint8_t offset, period; trx_sched_ul_func *func; + /* VAMOS: redirect to the shadow timeslot */ + if (bi->flags & TRX_BI_F_SHADOW_IND) + l1ts = l1ts->ts->vamos.peer->priv; + if (!l1ts->mf_index) return -EINVAL; diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c index 6ec8dfc..7134939 100644 --- a/src/osmo-bts-trx/main.c +++ b/src/osmo-bts-trx/main.c @@ -146,6 +146,7 @@ osmo_bts_set_feature(bts->features, BTS_FEAT_HOPPING); 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); 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 4a23f11..1a4f03f 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -149,6 +149,40 @@ } } +/* schedule one frame for a shadow timeslot, merge bursts */ +static void _sched_dl_shadow_burst(const struct gsm_bts_trx_ts *ts, + struct trx_dl_burst_req *br) +{ + struct l1sched_ts *l1ts = ts->priv; + + /* For the shadow timeslots, physical channel type can be either + * GSM_PCHAN_TCH_{F,H} or GSM_PCHAN_NONE. Even if the primary + * timeslot is a dynamic timeslot, it's always a concrete value. */ + if (ts->pchan == GSM_PCHAN_NONE) + return; + + struct trx_dl_burst_req sbr = { + .trx_num = br->trx_num, + .fn = br->fn, + .tn = br->tn, + }; + + _sched_dl_burst(l1ts, &sbr); + + if (br->burst_len != 0 && sbr.burst_len != 0) { /* Both present */ + memcpy(br->burst + GSM_BURST_LEN, sbr.burst, GSM_BURST_LEN); + br->burst_len = 2 * GSM_BURST_LEN; + br->mod = TRX_MOD_T_AQPSK; + /* FIXME: SCPIR is hard-coded to 0 */ + } else if (br->burst_len == 0) { + /* No primary burst, send shadow burst alone */ + memcpy(br, &sbr, sizeof(sbr)); + } else if (sbr.burst_len == 0) { + /* No shadow burst, send primary burst alone */ + return; + } +} + /* schedule all frames of all TRX for given FN */ static void bts_sched_fn(struct gsm_bts *bts, const uint32_t fn) { @@ -193,8 +227,11 @@ br = &pinst->u.osmotrx.br[tn]; } - /* get burst for FN */ + /* get burst for the primary timeslot */ _sched_dl_burst(l1ts, br); + + /* get burst for the shadow timeslot */ + _sched_dl_shadow_burst(ts->vamos.peer, br); } } diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index afd630f..968c335 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -755,6 +755,7 @@ static const uint8_t trx_data_mod_val[] = { [TRX_MOD_T_GMSK] = 0x00, /* .00xx... */ [TRX_MOD_T_8PSK] = 0x20, /* .010x... */ + [TRX_MOD_T_AQPSK] = 0x60, /* .11xx... */ }; /* Header dissector for TRXDv0 (and part of TRXDv1) */ @@ -863,9 +864,12 @@ /* TDMA timeslot number (other bits are RFU) */ bi->tn = buf[0] & 0x07; - /* TRX (RF channel) number and BATCH.ind */ - if (buf[1] & (1 << 7)) + if (buf[1] & (1 << 7)) /* BATCH.ind */ bi->flags |= TRX_BI_F_BATCH_IND; + if (buf[1] & (1 << 6)) /* VAMOS.ind */ + bi->flags |= TRX_BI_F_SHADOW_IND; + + /* TRX (RF channel) number */ bi->trx_num = buf[1] & 0x3f; bi->flags |= TRX_BI_F_TRX_NUM; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3e0bdf8c03273f66991aa1764029ab1dd3528d7e Gerrit-Change-Number: 24440 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 6 01:09:27 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 6 Jun 2021 01:09:27 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-omldummy: allocate shadow timeslots In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24155 ) Change subject: [VAMOS] osmo-bts-omldummy: allocate shadow timeslots ...................................................................... [VAMOS] osmo-bts-omldummy: allocate shadow timeslots Change-Id: I4aa9a8bb35bd828d6f25d5690297e727dace5974 Related: SYS#4895, OS#4941, SYS#5316, OS#4940 --- M src/osmo-bts-omldummy/main.c 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/src/osmo-bts-omldummy/main.c b/src/osmo-bts-omldummy/main.c index 9ab23c5..a36e0db 100644 --- a/src/osmo-bts-omldummy/main.c +++ b/src/osmo-bts-omldummy/main.c @@ -135,6 +135,12 @@ set_bts_features(bts->features, cmdline.features); + /* VAMOS: allocate shadow timeslots for each TRX */ + if (osmo_bts_has_feature(bts->features, BTS_FEAT_VAMOS)) { + llist_for_each_entry(trx, &bts->trx_list, list) + gsm_bts_trx_init_shadow_ts(trx); + } + //btsb = bts_role_bts(bts); abis_init(bts); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24155 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4aa9a8bb35bd828d6f25d5690297e727dace5974 Gerrit-Change-Number: 24155 Gerrit-PatchSet: 6 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 6 01:10:20 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 6 Jun 2021 01:10:20 +0000 Subject: Change in osmo-gsm-manuals[master]: TRXDv2: add primary/shadow classification for VAMOS PDUs In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/24508 ) Change subject: TRXDv2: add primary/shadow classification for VAMOS PDUs ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/24508 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Change-Id: Ie00a12824938c6a65480bde1af364dcc9febb8f7 Gerrit-Change-Number: 24508 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 06 Jun 2021 01:10: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 Jun 6 01:10:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 6 Jun 2021 01:10:26 +0000 Subject: Change in osmo-gsm-manuals[master]: TRXDv2: add primary/shadow classification for VAMOS PDUs In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/24508 ) Change subject: TRXDv2: add primary/shadow classification for VAMOS PDUs ...................................................................... TRXDv2: add primary/shadow classification for VAMOS PDUs Introduce a new flag (1-bit field) indicating whether a VAMOS PDU is for a _primary_ ('0'B) or for a _shadow_ ('1'B) timeslot. This field shall be present only in the Uplink VAMOS PDUs, which unlike the Downlink (AQPSK) PDUs are sent separately. This will simplify routing of such PDUs in osmo-bts. Change-Id: Ie00a12824938c6a65480bde1af364dcc9febb8f7 Related: SYS#4895, OS#4941, OS#4006 --- M common/chapters/trx_if.adoc 1 file changed, 23 insertions(+), 17 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/common/chapters/trx_if.adoc b/common/chapters/trx_if.adoc index f4884f0..9638133 100644 --- a/common/chapters/trx_if.adoc +++ b/common/chapters/trx_if.adoc @@ -398,6 +398,7 @@ ** Introduced the concept of burst batching (many bursts in one message); ** Changed the field ordering (facilitating aligned access); ** New field: batching indicator; +** New field: shadow indicator; ** New field: TRX number; ** New field: SCPIR for VAMOS. @@ -496,7 +497,7 @@ 0-4: RFU 5-7: TN 8: BATCH - 9: RFU + 9: SHADOW 10-15: TRXN 16-23: MTS 24-31: RSSI @@ -519,6 +520,9 @@ BATCH: 1 bit:: This bit indicates whether a batched PDU follows (see <>). +SHADOW: 1 bit:: +This bit indicates whether this is a _shadow PDU_ (see <>). + TRXN: 6 bits:: The transceiver (PHY channel) number this PDU is coming from. @@ -823,27 +827,29 @@ In the Uplink direction though, one or even both of the two bursts may be lost (e.g. due to high noise figures), so they shall always be sent in two separate PDUs. The missing bursts shall be substituted by NOPE indications, so it's -always a pair of _batched PDUs_. The `MTS` field shall indicate the use of -`GMSK` modulation. +always a pair of _batched PDUs_. First PDU in a pair is called _primary PDU_, +the second is called _shadow PDU_. This is additionally indicated by the +`SHADOW` field, which is set to {bit-zero} and {bit-one}, respectively. The +`MTS` field shall indicate the use of `GMSK` modulation if the burst is present. .Example: Uplink datagram containing batched VAMOS PDUs (both present) ---- -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+--------+----------------+----------+----------------------------------------+ -| TRXN=N | TDMA FN=F TN=T | Mod=GMSK | Soft-bits for V0 (148 bytes) | -+--------+----------------+----------+----------------------------------------+ -| TRXN=N | TDMA FN=F TN=T | Mod=GMSK | Soft-bits for V1 (148 bytes) | -+--------+----------------+----------+----------------------------------------+ -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++--------+----------------+----------+----------+------------------------------+ +| TRXN=N | TDMA FN=F TN=T | SHADOW=0 | Mod=GMSK | Soft-bits for V0 (148 bytes) | ++--------+----------------+----------+----------+------------------------------+ +| TRXN=N | TDMA FN=F TN=T | SHADOW=1 | Mod=GMSK | Soft-bits for V1 (148 bytes) | ++--------+----------------+----------+----------+------------------------------+ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ---- .Example: Uplink datagram containing batched VAMOS PDUs (one lost) ---- -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+--------+----------------+----------+----------------------------------------+ -| TRXN=N | TDMA FN=F TN=T | Mod=GMSK | Soft-bits for V0 (148 bytes) | -+--------+----------------+----------+----------------------------------------+ -| TRXN=N | TDMA FN=F TN=T | NOPE.ind | -+--------+----------------+----------+ -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++--------+----------------+----------+----------+------------------------------+ +| TRXN=N | TDMA FN=F TN=T | SHADOW=0 | Mod=GMSK | Soft-bits for V0 (148 bytes) | ++--------+----------------+----------+----------+------------------------------+ +| TRXN=N | TDMA FN=F TN=T | SHADOW=1 | NOPE.ind | ++--------+----------------+----------+----------+ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ---- -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/24508 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Change-Id: Ie00a12824938c6a65480bde1af364dcc9febb8f7 Gerrit-Change-Number: 24508 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Sun Jun 6 01:11:33 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 01:11:33 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <60bc20cb859d7_55042b087e8705f830262f2@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: [ 406s] /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 isdnsync isdnsync.o [ 406s] 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 isdnsync isdnsync.o -pthread [ 406s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -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 -c -o meas_json-meas_json.o `test -f 'meas_json.c' || echo './'`meas_json.c [ 406s] /bin/bash ../../libtool --tag=CC --mode=link gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 407s] libtool: link: gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 407s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -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 meas_vis-meas_vis.o `test -f 'meas_vis.c' || echo './'`meas_vis.c [ 407s] meas_vis.c: In function 'write_uni': [ 407s] meas_vis.c:196:16: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? [ 407s] 196 | pwr = ms->mr.bs_power; [ 407s] | ^~~~~~~~ [ 407s] | bs_power_db [ 407s] make[4]: *** [Makefile:736: meas_vis-meas_vis.o] Error 1 [ 407s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 407s] make[3]: *** [Makefile:403: all-recursive] Error 1 [ 407s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 407s] make[2]: *** [Makefile:455: all-recursive] Error 1 [ 407s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 407s] make[1]: *** [Makefile:387: all] Error 2 [ 407s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 407s] dh_auto_build: error: make -j1 returned exit code 2 [ 407s] make: *** [debian/rules:45: build] Error 25 [ 407s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 407s] ### VM INTERACTION START ### [ 408s] Powering off. [ 408s] [ 389.741790] reboot: Power down [ 408s] ### VM INTERACTION END ### [ 408s] [ 408s] old-atreju3 failed "build osmo-bsc_1.7.0.108.4d5604.202106060026.dsc" at Sun Jun 6 01:11:16 UTC 2021. [ 408s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Jun 6 01:37:50 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 6 Jun 2021 01:37:50 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: introduce lchan.activate.ch_mode_rate to allow tweaking In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24458 ) Change subject: lchan_fsm: introduce lchan.activate.ch_mode_rate to allow tweaking ...................................................................... Patch Set 8: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24458/8/include/osmocom/bsc/gsm_data.h File include/osmocom/bsc/gsm_data.h: https://gerrit.osmocom.org/c/osmo-bsc/+/24458/8/include/osmocom/bsc/gsm_data.h at 648 PS8, Line 648: struct channel_mode_and_rate ch_mode_rate; It would be good to clarify it here (in a comment) why do we habe another 'ch_mode_rate' outside of the 'info' and which one is supposed to be immutable. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icc9cc7481b3984fdca34eef49ea91ad3388c06fe Gerrit-Change-Number: 24458 Gerrit-PatchSet: 8 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 06 Jun 2021 01:37:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Sun Jun 6 02:53:54 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 02:53:54 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <60bc38d34d588_55042b087e8705f830599f5@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: [ 372s] libtool: link: gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 372s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -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 meas_vis-meas_vis.o `test -f 'meas_vis.c' || echo './'`meas_vis.c [ 373s] meas_vis.c: In function 'write_uni': [ 373s] meas_vis.c:196:15: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? [ 373s] pwr = ms->mr.bs_power; [ 373s] ^ [ 373s] Makefile:723: recipe for target 'meas_vis-meas_vis.o' failed [ 373s] make[4]: *** [meas_vis-meas_vis.o] Error 1 [ 373s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 373s] Makefile:403: recipe for target 'all-recursive' failed [ 373s] make[3]: *** [all-recursive] Error 1 [ 373s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 373s] Makefile:453: recipe for target 'all-recursive' failed [ 373s] make[2]: *** [all-recursive] Error 1 [ 373s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 373s] Makefile:385: recipe for target 'all' failed [ 373s] make[1]: *** [all] Error 2 [ 373s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 373s] dh_auto_build: make -j1 returned exit code 2 [ 373s] debian/rules:45: recipe for target 'build' failed [ 373s] make: *** [build] Error 2 [ 373s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 373s] ### VM INTERACTION START ### [ 376s] [ 359.064110] sysrq: Power Off [ 376s] [ 359.065569] reboot: Power down [ 376s] ### VM INTERACTION END ### [ 376s] [ 376s] obs-arm-8 failed "build osmo-bsc_1.7.0.108.4d5604.202106060026.dsc" at Sun Jun 6 02:53:37 UTC 2021. [ 376s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 02:58:43 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 02:58:43 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_10/aarch64 In-Reply-To: References: Message-ID: <60bc39fe2faf6_55042b087e8705f83061385@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: [ 465s] /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 isdnsync isdnsync.o [ 465s] 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 isdnsync isdnsync.o -pthread [ 465s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -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 -c -o meas_json-meas_json.o `test -f 'meas_json.c' || echo './'`meas_json.c [ 465s] /bin/bash ../../libtool --tag=CC --mode=link gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 466s] libtool: link: gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 466s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -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 meas_vis-meas_vis.o `test -f 'meas_vis.c' || echo './'`meas_vis.c [ 466s] meas_vis.c: In function 'write_uni': [ 466s] meas_vis.c:196:16: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? [ 466s] pwr = ms->mr.bs_power; [ 466s] ^~~~~~~~ [ 466s] bs_power_db [ 466s] make[4]: *** [Makefile:736: meas_vis-meas_vis.o] Error 1 [ 466s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 466s] make[3]: *** [Makefile:403: all-recursive] Error 1 [ 466s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 466s] make[2]: *** [Makefile:453: all-recursive] Error 1 [ 466s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 466s] make[1]: *** [Makefile:385: all] Error 2 [ 466s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 466s] dh_auto_build: make -j1 returned exit code 2 [ 466s] make: *** [debian/rules:45: build] Error 2 [ 466s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 466s] ### VM INTERACTION START ### [ 469s] [ 447.797262] sysrq: Power Off [ 469s] [ 447.798455] reboot: Power down [ 470s] ### VM INTERACTION END ### [ 470s] [ 470s] obs-arm-9 failed "build osmo-bsc_1.7.0.108.4d5604.202106060026.dsc" at Sun Jun 6 02:58:41 UTC 2021. [ 470s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 05:59:01 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 05:59:01 +0000 Subject: Build failure of network:osmocom:latest/yder in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <60bc6431b25db_55042b087e8705f8319426d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/yder/openSUSE_Tumbleweed/i586 Package network:osmocom:latest/yder failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:latest yder Last lines of build log: /var/cache/obs/worker/root_1/.pkgs/orcania-devel.rpm: Input/output error (worker was cloud115:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 06:01:02 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 06:01:02 +0000 Subject: Build failure of network:osmocom:nightly/ulfius in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <60bc64a63f0fa_55042b087e8705f832006e7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/ulfius/openSUSE_Tumbleweed/i586 Package network:osmocom:nightly/ulfius failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:nightly ulfius Last lines of build log: /var/cache/obs/worker/root_2/.pkgs/zlib-devel.rpm: Input/output error (worker was cloud115:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 06:01:36 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 06:01:36 +0000 Subject: Build failure of network:osmocom:latest/libosmo-abis in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <60bc64c98edf4_55042b087e8705f8320179a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libosmo-abis/openSUSE_Tumbleweed/i586 Package network:osmocom:latest/libosmo-abis failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:latest libosmo-abis Last lines of build log: /var/cache/obs/worker/root_3/.pkgs/libosmocore-devel.rpm: Input/output error (worker was cloud115:3) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 06:03:52 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 06:03:52 +0000 Subject: Build failure of network:osmocom:latest/osmo-sip-connector in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <60bc655b5c500_55042b087e8705f83204462@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: /var/cache/obs/worker/root_3/.pkgs/libosmocore-devel.rpm: Input/output error (worker was cloud115:3) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 06:08:08 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 06:08:08 +0000 Subject: Build failure of network:osmocom:latest/osmo-smlc in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <60bc6652ded8e_55042b087e8705f83209980@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-smlc/openSUSE_Tumbleweed/i586 Package network:osmocom:latest/osmo-smlc failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-smlc Last lines of build log: /var/cache/obs/worker/root_1/.pkgs/libosmonetif-devel.rpm: Input/output error (worker was cloud115:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 06:08:08 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 06:08:08 +0000 Subject: Build failure of network:osmocom:latest/osmo-iuh in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <60bc665335267_55042b087e8705f83210088@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-iuh/openSUSE_Tumbleweed/i586 Package network:osmocom:latest/osmo-iuh failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-iuh Last lines of build log: /var/cache/obs/worker/root_3/.pkgs/libasn1c-devel.rpm: Input/output error (worker was cloud115:3) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 06:12:56 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 06:12:56 +0000 Subject: Build failure of network:osmocom:nightly/osmocom-nightly in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <60bc6777c5196_55042b087e8705f832140d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmocom-nightly/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/osmocom-nightly failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmocom-nightly Last lines of build log: /var/cache/obs/worker/root_2/.pkgs/zlib-devel.rpm: Input/output error (worker was cloud115:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 06:24:33 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 06:24:33 +0000 Subject: Build failure of network:osmocom:nightly/osmo-iuh in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <60bc6a2a7bb64_55042b087e8705f8323195f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-iuh/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/osmo-iuh failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-iuh Last lines of build log: /var/cache/obs/worker/root_3/.pkgs/libasn1c-devel.rpm: Input/output error (worker was cloud115:3) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 06:24:33 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 06:24:33 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <60bc6a2a52e0d_55042b087e8705f83231845@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/osmo-bsc failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: /var/cache/obs/worker/root_1/.pkgs/libosmo-mgcp-client-devel.rpm: Input/output error (worker was cloud115:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 07:49:41 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 07:49:41 +0000 Subject: Build failure of network:osmocom:latest/libosmocore in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <60bc7e18948b6_55042b087e8705f83324252@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libosmocore/openSUSE_Tumbleweed/x86_64 Package network:osmocom:latest/libosmocore failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:latest libosmocore Last lines of build log: /var/cache/obs/worker/root_3/.pkgs/liblua5_4-5.rpm: Input/output error (worker was cloud115:3) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 07:49:41 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 07:49:41 +0000 Subject: Build failure of network:osmocom:latest/osmocom-latest in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <60bc7e185d98e_55042b087e8705f833241f6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmocom-latest/openSUSE_Tumbleweed/x86_64 Package network:osmocom:latest/osmocom-latest failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmocom-latest Last lines of build log: /var/cache/obs/worker/root_2/.pkgs/zlib-devel.rpm: Input/output error (worker was cloud115:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 07:49:58 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 07:49:58 +0000 Subject: Build failure of network:osmocom:latest/orcania in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <60bc7e336ad5a_55042b087e8705f833245be@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/orcania/openSUSE_Tumbleweed/x86_64 Package network:osmocom:latest/orcania failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:latest orcania Last lines of build log: /var/cache/obs/worker/root_3/.pkgs/liblua5_4-5.rpm: Input/output error (worker was cloud115:3) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 07:50:15 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 07:50:15 +0000 Subject: Build failure of network:osmocom:latest/libosmo-abis in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <60bc7e547ec6f_55042b087e8705f83325051@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libosmo-abis/openSUSE_Tumbleweed/x86_64 Package network:osmocom:latest/libosmo-abis failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:latest libosmo-abis Last lines of build log: /var/cache/obs/worker/root_1/.pkgs/libosmocore-devel.rpm: Input/output error (worker was cloud115:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 07:50:49 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 07:50:49 +0000 Subject: Build failure of network:osmocom:latest/osmo-hlr in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <60bc7e6f5e411_55042b087e8705f83325279@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-hlr/openSUSE_Tumbleweed/x86_64 Package network:osmocom:latest/osmo-hlr failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-hlr Last lines of build log: /var/cache/obs/worker/root_3/.pkgs/libosmoabis-devel.rpm: Input/output error (worker was cloud115:3) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 07:51:57 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 07:51:57 +0000 Subject: Build failure of network:osmocom:latest/ulfius in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <60bc7eaebdadb_55042b087e8705f833257d2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/openSUSE_Tumbleweed/x86_64 Package network:osmocom:latest/ulfius failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: /var/cache/obs/worker/root_3/.pkgs/orcania-devel.rpm: Input/output error (worker was cloud115:3) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 07:54:30 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 07:54:30 +0000 Subject: Build failure of network:osmocom:latest/osmo-bsc in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <60bc7f45233ab_55042b087e8705f8332758f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bsc/openSUSE_Tumbleweed/x86_64 Package network:osmocom:latest/osmo-bsc failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-bsc Last lines of build log: /var/cache/obs/worker/root_3/.pkgs/libosmo-mgcp-client-devel.rpm: Input/output error (worker was cloud115:3) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Jun 6 09:47:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 6 Jun 2021 09:47:02 +0000 Subject: Change in simtrace2[master]: firmware: octsimtest: Add i/I command for setting card-insert via I2C... References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24572 ) Change subject: firmware: octsimtest: Add i/I command for setting card-insert via I2C GPIO ...................................................................... firmware: octsimtest: Add i/I command for setting card-insert via I2C GPIO Change-Id: Ie1483ccf8465df0d640d55e50421fda910dced4a --- M firmware/libboard/octsimtest/source/board_octsimtest.c 1 file changed, 10 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/72/24572/1 diff --git a/firmware/libboard/octsimtest/source/board_octsimtest.c b/firmware/libboard/octsimtest/source/board_octsimtest.c index 5dff046..c77c1ce 100644 --- a/firmware/libboard/octsimtest/source/board_octsimtest.c +++ b/firmware/libboard/octsimtest/source/board_octsimtest.c @@ -35,10 +35,11 @@ switch (ch) { case '?': printf("\t?\thelp\n\r"); + printf("\t0-8\tselect physical SIM slot\n\r"); printf("\tR\treset SAM3\n\r"); printf("\tm\trun mcp23017 test\n\r"); - printf("\tR\ttoggle MSB of gpio on mcp23017\n\r"); - printf("\t0-8\tselect physical SIM slot\n\r"); + printf("\ti\tset card insert via I2C\n\r"); + printf("\tI\tdisable card insert\n\r"); break; case '0': mux_set_slot(0); break; case '1': mux_set_slot(1); break; @@ -56,8 +57,13 @@ case 'm': mcp23017_test(MCP23017_ADDRESS); break; - case 't': - mcp23017_toggle(MCP23017_ADDRESS); + case 'i': + printf("Setting card insert (slot=%u)\r\n", mux_get_slot()); + mcp23017_set_output_a(MCP23017_ADDRESS, (1 << mux_get_slot())); + break; + case 'I': + printf("Releasing card insert (slot=%u)\r\n", mux_get_slot()); + mcp23017_set_output_a(MCP23017_ADDRESS, 0); break; default: printf("Unknown command '%c'\n\r", ch); -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24572 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ie1483ccf8465df0d640d55e50421fda910dced4a Gerrit-Change-Number: 24572 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 6 09:47:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 6 Jun 2021 09:47:02 +0000 Subject: Change in simtrace2[master]: firmware: octsimtest: ensure all card_insert GPIO are 0 after reset References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24573 ) Change subject: firmware: octsimtest: ensure all card_insert GPIO are 0 after reset ...................................................................... firmware: octsimtest: ensure all card_insert GPIO are 0 after reset Change-Id: I3c3744673ba53750cb66aa5023c8228edb006bfc --- M firmware/libboard/octsimtest/source/board_octsimtest.c 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/73/24573/1 diff --git a/firmware/libboard/octsimtest/source/board_octsimtest.c b/firmware/libboard/octsimtest/source/board_octsimtest.c index c77c1ce..d8b1cc4 100644 --- a/firmware/libboard/octsimtest/source/board_octsimtest.c +++ b/firmware/libboard/octsimtest/source/board_octsimtest.c @@ -79,8 +79,10 @@ mux_init(); i2c_pin_init(); /* PORT A: all outputs, Port B0 output, B1..B7 unused */ - if (mcp23017_init(MCP23017_ADDRESS, 0x00, 0xfe) == 0) + if (mcp23017_init(MCP23017_ADDRESS, 0x00, 0xfe) == 0) { mcp2317_present = true; + mcp23017_set_output_a(MCP23017_ADDRESS, 0); + } /* Initialize checking for card insert/remove events */ //card_present_init(); #endif -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I3c3744673ba53750cb66aa5023c8228edb006bfc Gerrit-Change-Number: 24573 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 6 09:47:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 6 Jun 2021 09:47:03 +0000 Subject: Change in simtrace2[master]: Introduce simtrace2-tool References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24574 ) Change subject: Introduce simtrace2-tool ...................................................................... Introduce simtrace2-tool The simtrace-tool isa 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, 341 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/74/24574/1 diff --git a/host/src/Makefile.am b/host/src/Makefile.am index fa5be6e..17be9eb 100644 --- a/host/src/Makefile.am +++ b/host/src/Makefile.am @@ -5,10 +5,12 @@ LDADD= $(top_builddir)/lib/libosmo-simtrace2.la \ $(LIBOSMOCORE_LIBS) $(LIBOSMOSIM_LIBS) $(LIBOSMOUSB_LIBS) $(LIBUSB_LIBS) -bin_PROGRAMS = simtrace2-cardem-pcsc simtrace2-list simtrace2-sniff +bin_PROGRAMS = simtrace2-cardem-pcsc simtrace2-list simtrace2-sniff simtrace2-tool simtrace2_cardem_pcsc_SOURCES = simtrace2-cardem-pcsc.c simtrace2_list_SOURCES = simtrace2_usb.c simtrace2_sniff_SOURCES = simtrace2-sniff.c + +simtrace2_tool_SOURCES = simtrace2-tool.c diff --git a/host/src/simtrace2-tool.c b/host/src/simtrace2-tool.c new file mode 100644 index 0000000..56ec791 --- /dev/null +++ b/host/src/simtrace2-tool.c @@ -0,0 +1,338 @@ +/* simtrace2-tool - main program for the host PC to provide a remote SIM + * using the SIMtrace 2 firmware in card emulation mode + * + * (C) 2019 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include +#include +#include +#include +#include +#include +#include +#define _GNU_SOURCE +#include + +#include + +#include + +#include +#include +#include +#include + +#include +#include + +/*********************************************************************** + * Incoming Messages + ***********************************************************************/ + +static void print_welcome(void) +{ + printf("simtrace2-tool\n" + "(C) 2019 Harald Welte \n"); +} + +static void print_help(void) +{ + printf( "simtrace2-tool [OPTIONS] COMMAND\n\n"); + printf( "Options:\n" + "\t-h\t--help\n" + "\t-V\t--usb-vendor\tVENDOR_ID\n" + "\t-P\t--usb-product\tPRODUCT_ID\n" + "\t-C\t--usb-config\tCONFIG_ID\n" + "\t-I\t--usb-interface\tINTERFACE_ID\n" + "\t-S\t--usb-altsetting ALTSETTING_ID\n" + "\t-A\t--usb-address\tADDRESS\n" + "\t-H\t--usb-path\tPATH\n" + "\n" + ); + printf( "Commands:\n" + "\tmodem reset (enable|disable|cycle)\n" + "\tmodem sim-switch (local|remote)\n" + "\n"); +} + +static const struct option opts[] = { + { "help", 0, 0, 'h' }, + { "usb-vendor", 1, 0, 'V' }, + { "usb-product", 1, 0, 'P' }, + { "usb-config", 1, 0, 'C' }, + { "usb-interface", 1, 0, 'I' }, + { "usb-altsetting", 1, 0, 'S' }, + { "usb-address", 1, 0, 'A' }, + { "usb-path", 1, 0, 'H' }, + { NULL, 0, 0, 0 } +}; + +static void run_mainloop(struct osmo_st2_cardem_inst *ci) +{ + struct osmo_st2_transport *transp = ci->slot->transp; + uint8_t buf[16*265]; + int xfer_len; + int rc; + + while (1) { + /* read data from SIMtrace2 device */ + rc = libusb_bulk_transfer(transp->usb_devh, transp->usb_ep.in, + buf, sizeof(buf), &xfer_len, 100); + if (rc < 0 && rc != LIBUSB_ERROR_TIMEOUT && + rc != LIBUSB_ERROR_INTERRUPTED && + rc != LIBUSB_ERROR_IO) { + fprintf(stderr, "BULK IN transfer error; rc=%d\n", rc); + return; + } + /* break the loop if no new messages arrive within 100ms */ + if (rc == LIBUSB_ERROR_TIMEOUT) + return; + } +} + +static struct osmo_st2_transport _transp; + +static struct osmo_st2_slot _slot = { + .transp = &_transp, + .slot_nr = 0, +}; + +struct osmo_st2_cardem_inst _ci = { + .slot = &_slot, +}; + +struct osmo_st2_cardem_inst *ci = &_ci; + +/* perform a modem reset */ +static int do_modem_reset(int argc, char **argv) +{ + char *command; + if (argc < 1) + command = "cycle"; + else { + command = argv[0]; + argc--; + argv++; + } + + if (!strcmp(command, "enable")) { + printf("Activating Modem RESET\n"); + return osmo_st2_modem_reset_active(ci->slot); + } else if (!strcmp(command, "disable")) { + printf("Deactivating Modem RESET\n"); + return osmo_st2_modem_reset_inactive(ci->slot); + } else if (!strcmp(command, "cycle")) { + printf("Pulsing Modem RESET (1s)\n"); + return osmo_st2_modem_reset_pulse(ci->slot, 1000); + } else { + fprintf(stderr, "Unsupported modem reset command: '%s'\n", command); + return -EINVAL; + } + return 0; +} + +/* switch between local and remote (emulated) SIM */ +static int do_modem_sim_switch(int argc, char **argv) +{ + char *command; + if (argc < 1) + return -EINVAL; + command = argv[0]; + argc--; + argv++; + + if (!strcmp(command, "local")) { + printf("Setting SIM=LOCAL; Modem reset recommended\n"); + return osmo_st2_modem_sim_select_local(ci->slot); + } else if (!strcmp(command, "remote")) { + printf("Setting SIM=REMOTE; Modem reset recommended\n"); + return osmo_st2_modem_sim_select_remote(ci->slot); + } else { + fprintf(stderr, "Unsupported modem sim-switch command: '%s'\n", command); + return -EINVAL; + } + return 0; +} + +static int do_subsys_modem(int argc, char **argv) +{ + char *command; + int rc; + + if (argc < 1) + return -EINVAL; + command = argv[0]; + argc--; + argv++; + + if (!strcmp(command, "reset")) { + rc = do_modem_reset(argc, argv); + } else if (!strcmp(command, "sim-switch")) { + rc = do_modem_sim_switch(argc, argv); + } else { + fprintf(stderr, "Unsupported command for subsystem modem: '%s'\n", command); + return -EINVAL; + } + + return rc; +} + +static int do_command(int argc, char **argv) +{ + char *subsys; + int rc; + + if (argc < 1) + return -EINVAL; + subsys = argv[0]; + argc--; + argv++; + + if (!strcmp(subsys, "modem")) + rc = do_subsys_modem(argc, argv); + else { + fprintf(stderr, "Unsupported subsystem '%s'\n", subsys); + rc = -EINVAL; + } + + return rc; +} + + +int main(int argc, char **argv) +{ + struct osmo_st2_transport *transp = ci->slot->transp; + int rc; + int c, ret = 1; + int if_num = 0, vendor_id = -1, product_id = -1; + int config_id = -1, altsetting = 0, addr = -1; + char *path = NULL; + + while (1) { + int option_index = 0; + + c = getopt_long(argc, argv, "hV:P:C:I:S:A:H:", opts, &option_index); + if (c == -1) + break; + switch (c) { + case 'h': + print_help(); + exit(0); + break; + case 'V': + vendor_id = strtol(optarg, NULL, 16); + break; + case 'P': + product_id = strtol(optarg, NULL, 16); + break; + case 'C': + config_id = atoi(optarg); + break; + case 'I': + if_num = atoi(optarg); + break; + case 'S': + altsetting = atoi(optarg); + break; + case 'A': + addr = atoi(optarg); + break; + case 'H': + path = optarg; + break; + } + } + + if ((vendor_id < 0 || product_id < 0)) { + fprintf(stderr, "You have to specify the vendor and product ID\n"); + goto do_exit; + } + + transp->udp_fd = -1; + + rc = libusb_init(NULL); + if (rc < 0) { + fprintf(stderr, "libusb initialization failed\n"); + goto do_exit; + } + + print_welcome(); + + do { + if (transp->udp_fd < 0) { + struct usb_interface_match _ifm, *ifm = &_ifm; + ifm->vendor = vendor_id; + ifm->product = product_id; + ifm->configuration = config_id; + ifm->interface = if_num; + ifm->altsetting = altsetting; + ifm->addr = addr; + if (path) + osmo_strlcpy(ifm->path, path, sizeof(ifm->path)); + transp->usb_devh = osmo_libusb_open_claim_interface(NULL, NULL, ifm); + if (!transp->usb_devh) { + fprintf(stderr, "can't open USB device\n"); + goto close_exit; + } + + rc = libusb_claim_interface(transp->usb_devh, if_num); + if (rc < 0) { + fprintf(stderr, "can't claim interface %d; rc=%d\n", if_num, rc); + goto close_exit; + } + + rc = osmo_libusb_get_ep_addrs(transp->usb_devh, if_num, &transp->usb_ep.out, + &transp->usb_ep.in, &transp->usb_ep.irq_in); + if (rc < 0) { + fprintf(stderr, "can't obtain EP addrs; rc=%d\n", rc); + goto close_exit; + } + } + + if (argc - optind <= 0) { + fprintf(stderr, "You have to specify a command to execute\n"); + exit(1); + } + + rc = do_command(argc-optind, argv+optind); + switch (rc) { + case 0: + break; + case -EINVAL: + fprintf(stderr, "Error: Invalid command/syntax\n"); + exit(1); + break; + default: + fprintf(stderr, "Error executing command: %d\n", rc); + exit(1); + break; + } + + run_mainloop(ci); + ret = 0; + + libusb_release_interface(transp->usb_devh, 0); +close_exit: + if (transp->usb_devh) + libusb_close(transp->usb_devh); + } while (0); + + libusb_exit(NULL); +do_exit: + return ret; +} -- 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: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 6 10:21:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 6 Jun 2021 10:21:55 +0000 Subject: Change in simtrace2[master]: firmware: octsimtest: Add i/I command for setting card-insert via I2C... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24572 ) Change subject: firmware: octsimtest: Add i/I command for setting card-insert via I2C GPIO ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24572 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ie1483ccf8465df0d640d55e50421fda910dced4a Gerrit-Change-Number: 24572 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 06 Jun 2021 10:21: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 Sun Jun 6 10:21:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 6 Jun 2021 10:21:57 +0000 Subject: Change in simtrace2[master]: firmware: octsimtest: ensure all card_insert GPIO are 0 after reset In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24573 ) Change subject: firmware: octsimtest: ensure all card_insert GPIO are 0 after reset ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I3c3744673ba53750cb66aa5023c8228edb006bfc Gerrit-Change-Number: 24573 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 06 Jun 2021 10:21:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 6 10:22:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 6 Jun 2021 10:22:01 +0000 Subject: Change in simtrace2[master]: firmware: octsimtest: Add i/I command for setting card-insert via I2C... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24572 ) Change subject: firmware: octsimtest: Add i/I command for setting card-insert via I2C GPIO ...................................................................... firmware: octsimtest: Add i/I command for setting card-insert via I2C GPIO Change-Id: Ie1483ccf8465df0d640d55e50421fda910dced4a --- M firmware/libboard/octsimtest/source/board_octsimtest.c 1 file changed, 10 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/libboard/octsimtest/source/board_octsimtest.c b/firmware/libboard/octsimtest/source/board_octsimtest.c index 5dff046..c77c1ce 100644 --- a/firmware/libboard/octsimtest/source/board_octsimtest.c +++ b/firmware/libboard/octsimtest/source/board_octsimtest.c @@ -35,10 +35,11 @@ switch (ch) { case '?': printf("\t?\thelp\n\r"); + printf("\t0-8\tselect physical SIM slot\n\r"); printf("\tR\treset SAM3\n\r"); printf("\tm\trun mcp23017 test\n\r"); - printf("\tR\ttoggle MSB of gpio on mcp23017\n\r"); - printf("\t0-8\tselect physical SIM slot\n\r"); + printf("\ti\tset card insert via I2C\n\r"); + printf("\tI\tdisable card insert\n\r"); break; case '0': mux_set_slot(0); break; case '1': mux_set_slot(1); break; @@ -56,8 +57,13 @@ case 'm': mcp23017_test(MCP23017_ADDRESS); break; - case 't': - mcp23017_toggle(MCP23017_ADDRESS); + case 'i': + printf("Setting card insert (slot=%u)\r\n", mux_get_slot()); + mcp23017_set_output_a(MCP23017_ADDRESS, (1 << mux_get_slot())); + break; + case 'I': + printf("Releasing card insert (slot=%u)\r\n", mux_get_slot()); + mcp23017_set_output_a(MCP23017_ADDRESS, 0); break; default: printf("Unknown command '%c'\n\r", ch); -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24572 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ie1483ccf8465df0d640d55e50421fda910dced4a Gerrit-Change-Number: 24572 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 6 10:22:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 6 Jun 2021 10:22:02 +0000 Subject: Change in simtrace2[master]: firmware: octsimtest: ensure all card_insert GPIO are 0 after reset In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24573 ) Change subject: firmware: octsimtest: ensure all card_insert GPIO are 0 after reset ...................................................................... firmware: octsimtest: ensure all card_insert GPIO are 0 after reset Change-Id: I3c3744673ba53750cb66aa5023c8228edb006bfc --- M firmware/libboard/octsimtest/source/board_octsimtest.c 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/libboard/octsimtest/source/board_octsimtest.c b/firmware/libboard/octsimtest/source/board_octsimtest.c index c77c1ce..d8b1cc4 100644 --- a/firmware/libboard/octsimtest/source/board_octsimtest.c +++ b/firmware/libboard/octsimtest/source/board_octsimtest.c @@ -79,8 +79,10 @@ mux_init(); i2c_pin_init(); /* PORT A: all outputs, Port B0 output, B1..B7 unused */ - if (mcp23017_init(MCP23017_ADDRESS, 0x00, 0xfe) == 0) + if (mcp23017_init(MCP23017_ADDRESS, 0x00, 0xfe) == 0) { mcp2317_present = true; + mcp23017_set_output_a(MCP23017_ADDRESS, 0); + } /* Initialize checking for card insert/remove events */ //card_present_init(); #endif -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I3c3744673ba53750cb66aa5023c8228edb006bfc Gerrit-Change-Number: 24573 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 6 10:22:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 6 Jun 2021 10:22:22 +0000 Subject: Change in simtrace2[master]: simtrace2-list: Use osmo_st2_compatible_dev_ids[] In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24523 ) Change subject: simtrace2-list: Use osmo_st2_compatible_dev_ids[] ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I2231006b94c33fe3b28ce37b0d54c67206751058 Gerrit-Change-Number: 24523 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 06 Jun 2021 10:22:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Sun Jun 6 12:19:09 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 12:19:09 +0000 Subject: Build failure of network:osmocom:nightly/ulfius in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <60bcbd3feb2ef_55042b087e8705f834489cc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/ulfius/openSUSE_Tumbleweed/i586 Package network:osmocom:nightly/ulfius failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:nightly ulfius Last lines of build log: /var/cache/obs/worker/root_3/.pkgs/orcania-devel.rpm: Input/output error (worker was cloud115:3) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Jun 6 12:31:02 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 6 Jun 2021 12:31:02 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24374 ) Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... Patch Set 18: (3 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24374/10/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24374/10/src/osmo-bsc/bsc_vty.c at 2174 PS10, Line 2174: modify lchan > Agree with Harald here. Done https://gerrit.osmocom.org/c/osmo-bsc/+/24374/10/src/osmo-bsc/bsc_vty.c at 2193 PS10, Line 2193: vty_out(vty, "Invalid sub-slot number for this timeslot type%s", VTY_NEWLINE); > Missing %% prefix. Done https://gerrit.osmocom.org/c/osmo-bsc/+/24374/10/src/osmo-bsc/bsc_vty.c at 2198 PS10, Line 2198: vty_out(vty, "BTS does not support VAMOS%s", VTY_NEWLINE); > Missing %% prefix. Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 18 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 06 Jun 2021 12:31:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Comment-In-Reply-To: laforge Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Sun Jun 6 12:59:40 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 12:59:40 +0000 Subject: Build failure of network:osmocom:latest/libosmocore in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <60bcc6da39b9d_55042b087e8705f834687d1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libosmocore/openSUSE_Tumbleweed/x86_64 Package network:osmocom:latest/libosmocore failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:latest libosmocore Last lines of build log: /var/cache/obs/worker/root_2/.pkgs/zlib-devel.rpm: Input/output error (worker was cloud115:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 12:59:57 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 12:59:57 +0000 Subject: Build failure of network:osmocom:nightly/osmocom-nightly in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <60bcc6dd2172e_55042b087e8705f834688c1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmocom-nightly/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/osmocom-nightly failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmocom-nightly Last lines of build log: /var/cache/obs/worker/root_2/.pkgs/zlib-devel.rpm: Input/output error (worker was cloud115:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Jun 6 13:51:05 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 6 Jun 2021 13:51:05 +0000 Subject: Change in osmo-msc[master]: msc_tx_common_id(): fix potential NULL pointer dereference References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/24575 ) Change subject: msc_tx_common_id(): fix potential NULL pointer dereference ...................................................................... msc_tx_common_id(): fix potential NULL pointer dereference Reported by GCC 11.1.0. msc_a_vsub() may return NULL. Change-Id: Iebdd6399e819a03258398e6b7b453bda37e45a20 --- M src/libmsc/msc_a.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/75/24575/1 diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c index 391d251..05030d3 100644 --- a/src/libmsc/msc_a.c +++ b/src/libmsc/msc_a.c @@ -1638,6 +1638,8 @@ int msc_tx_common_id(struct msc_a *msc_a, enum msc_role to_role) { struct vlr_subscr *vsub = msc_a_vsub(msc_a); + if (vsub == NULL) + return -ENODEV; struct ran_msg msg = { .msg_type = RAN_MSG_COMMON_ID, .common_id = { -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24575 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Iebdd6399e819a03258398e6b7b453bda37e45a20 Gerrit-Change-Number: 24575 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 Jun 6 15:48:02 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 6 Jun 2021 15:48:02 +0000 Subject: Change in osmo-bsc[master]: add two handover_test cases for upgrade of TCH/H -> TCH/F In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24571 ) Change subject: add two handover_test cases for upgrade of TCH/H -> TCH/F ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib88f7e00d8bd77e2b02a7242a0fab4dd79333037 Gerrit-Change-Number: 24571 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 06 Jun 2021 15:48:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 6 16:03:37 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 6 Jun 2021 16:03:37 +0000 Subject: Change in libosmocore[master]: stat, rate_ctr: allow setting group name using a format string References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24576 ) Change subject: stat,rate_ctr: allow setting group name using a format string ...................................................................... stat,rate_ctr: allow setting group name using a format string Change-Id: I6e813476cfb6a0ad275c4a51e9f065eeca8cb406 --- M include/osmocom/core/rate_ctr.h M include/osmocom/core/stat_item.h M src/rate_ctr.c M src/stat_item.c 4 files changed, 50 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/76/24576/1 diff --git a/include/osmocom/core/rate_ctr.h b/include/osmocom/core/rate_ctr.h index d944cc0..40b432c 100644 --- a/include/osmocom/core/rate_ctr.h +++ b/include/osmocom/core/rate_ctr.h @@ -76,6 +76,7 @@ grp->idx = idx; } void rate_ctr_group_set_name(struct rate_ctr_group *grp, const char *name); +void rate_ctr_group_set_name_fmt(struct rate_ctr_group *grp, const char *fmt, ...); struct rate_ctr *rate_ctr_group_get_ctr(struct rate_ctr_group *grp, unsigned int idx); diff --git a/include/osmocom/core/stat_item.h b/include/osmocom/core/stat_item.h index fbe0433..377c762 100644 --- a/include/osmocom/core/stat_item.h +++ b/include/osmocom/core/stat_item.h @@ -83,6 +83,7 @@ } struct osmo_stat_item *osmo_stat_item_group_get_item(struct osmo_stat_item_group *grp, unsigned int idx); void osmo_stat_item_group_set_name(struct osmo_stat_item_group *statg, const char *name); +void osmo_stat_item_group_set_name_fmt(struct osmo_stat_item_group *statg, const char *fmt, ...); void osmo_stat_item_group_free(struct osmo_stat_item_group *statg); void osmo_stat_item_inc(struct osmo_stat_item *item, int32_t value); diff --git a/src/rate_ctr.c b/src/rate_ctr.c index 4d99699..b860b86 100644 --- a/src/rate_ctr.c +++ b/src/rate_ctr.c @@ -283,6 +283,30 @@ osmo_talloc_replace_string(grp, &grp->name, name); } +/*! Similar to rate_ctr_group_set_name(), but accepts a format string. + * \param[in] grp Rate counter group. + * \param[in] fmt Format string for the name. + * \param[in] ... Variable argument list for the format string. + */ +void rate_ctr_group_set_name_fmt(struct rate_ctr_group *grp, + const char *fmt, ...) +{ + char *name = NULL; + + if (grp->name != NULL) + talloc_free(grp->name); + + if (fmt != NULL) { + va_list ap; + + va_start(ap, fmt); + name = talloc_vasprintf(grp, fmt, ap); + va_end(ap); + } + + grp->name = name; +} + /*! Add a number to the counter */ void rate_ctr_add(struct rate_ctr *ctr, int inc) { diff --git a/src/stat_item.c b/src/stat_item.c index 55aa951..c81c704 100644 --- a/src/stat_item.c +++ b/src/stat_item.c @@ -187,6 +187,30 @@ osmo_talloc_replace_string(statg, &statg->name, name); } +/*! Similar to osmo_stat_item_group_set_name(), but accepts a format string. + * \param[in] statg Rate counter group. + * \param[in] fmt Format string for the name. + * \param[in] ... Variable argument list for the format string. + */ +void osmo_stat_item_group_set_name_fmt(struct osmo_stat_item_group *statg, + const char *fmt, ...) +{ + char *name = NULL; + + if (statg->name != NULL) + talloc_free(statg->name); + + if (fmt != NULL) { + va_list ap; + + va_start(ap, fmt); + name = talloc_vasprintf(statg, fmt, ap); + va_end(ap); + } + + statg->name = name; +} + /*! Increase the stat_item to the given value. * This function adds a new value for the given stat_item at the end of * the FIFO. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6e813476cfb6a0ad275c4a51e9f065eeca8cb406 Gerrit-Change-Number: 24576 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 Jun 6 16:03:37 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 6 Jun 2021 16:03:37 +0000 Subject: Change in libosmocore[master]: stats_vty: also show rate counter group name (if present) References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24577 ) Change subject: stats_vty: also show rate counter group name (if present) ...................................................................... stats_vty: also show rate counter group name (if present) Change-Id: I358f52e81a85f041fc21960634d04d18e7883dd5 --- M src/vty/stats_vty.c 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/77/24577/1 diff --git a/src/vty/stats_vty.c b/src/vty/stats_vty.c index 630ee32..d5d3292 100644 --- a/src/vty/stats_vty.c +++ b/src/vty/stats_vty.c @@ -555,7 +555,10 @@ static int rate_ctr_group_handler(struct rate_ctr_group *ctrg, void *sctx_) { struct vty *vty = sctx_; - vty_out(vty, "%s %u:%s", ctrg->desc->group_description, ctrg->idx, VTY_NEWLINE); + vty_out(vty, "%s %u", ctrg->desc->group_description, ctrg->idx); + if (ctrg->name != NULL) + vty_out(vty, " (%s)", ctrg->name); + vty_out(vty, ":%s", VTY_NEWLINE); vty_out_rate_ctr_group_fmt(vty, "%25n: %10c (%S/s %M/m %H/h %D/d) %d", ctrg); return 0; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24577 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I358f52e81a85f041fc21960634d04d18e7883dd5 Gerrit-Change-Number: 24577 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Sun Jun 6 17:39:12 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 17:39:12 +0000 Subject: Build failure of network:osmocom:latest/libosmocore in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <60bd085e1148e_55042b087e8705f836038de@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libosmocore/openSUSE_Tumbleweed/x86_64 Package network:osmocom:latest/libosmocore failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:latest libosmocore Last lines of build log: /var/cache/obs/worker/root_3/.pkgs/liblua5_4-5.rpm: Input/output error (worker was cloud115:3) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sun Jun 6 17:39:29 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 17:39:29 +0000 Subject: Build failure of network:osmocom:nightly/osmocom-nightly in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <60bd085f484e1_55042b087e8705f8360403a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmocom-nightly/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/osmocom-nightly failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmocom-nightly Last lines of build log: /var/cache/obs/worker/root_2/.pkgs/zlib-devel.rpm: Input/output error (worker was cloud115:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Jun 6 21:25:15 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 21:25:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS: f_incoming_sns_chg_weight() allow to receive/send the chg_wei... References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24578 ) Change subject: RAW_NS: f_incoming_sns_chg_weight() allow to receive/send the chg_weight over a different ...................................................................... RAW_NS: f_incoming_sns_chg_weight() allow to receive/send the chg_weight over a different The SGSN/PCU will use a different NSVC as the NSVC which will be changed weight'ed. Change-Id: I5766afaa74db30d94318312ab775e7933b9df783 --- M library/RAW_NS.ttcnpp 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/78/24578/1 diff --git a/library/RAW_NS.ttcnpp b/library/RAW_NS.ttcnpp index 8f986e4..42efb7d 100644 --- a/library/RAW_NS.ttcnpp +++ b/library/RAW_NS.ttcnpp @@ -408,11 +408,11 @@ } /* perform inbound SNS-CHANGE-WEIGHT procedure */ -function f_incoming_sns_chg_weight(template (omit) NsCause cause := omit, integer idx := 0) +function f_incoming_sns_chg_weight(integer idx_chg := 0, template (omit) NsCause cause := omit, integer idx := 0) runs on RAW_NS_CT { log("f_incoming_sns_chg_weight(idx=", idx, ")"); var PDU_NS rx; - var NSVCConfiguration nsvc_cfg := g_nsconfig.nsvc[idx]; + var NSVCConfiguration nsvc_cfg := g_nsconfig.nsvc[idx_chg]; if (nsvc_cfg.provider.ip.address_family == AF_INET) { var template IP4_Elements v4_elem := { tr_SNS_IPv4(nsvc_cfg.provider.ip.remote_ip, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24578 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5766afaa74db30d94318312ab775e7933b9df783 Gerrit-Change-Number: 24578 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 Sun Jun 6 21:25:15 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 21:25:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Tests: reset the weights of all udp binds References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24579 ) Change subject: NS_Tests: reset the weights of all udp binds ...................................................................... NS_Tests: reset the weights of all udp binds Some test cases change the weight of the binds. Ensure all test cases starts with the same configuration. Change-Id: Iae2ba130b2f7d29ec8b417f07d0bef87f74ce5a4 --- M ns/NS_Tests.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/79/24579/1 diff --git a/ns/NS_Tests.ttcn b/ns/NS_Tests.ttcn index 58b2dda..3971f0d 100644 --- a/ns/NS_Tests.ttcn +++ b/ns/NS_Tests.ttcn @@ -73,6 +73,8 @@ f_vty_transceive(NSVTY, "enable"); f_vty_transceive(NSVTY, "nsvc nsei " & int2str(mp_nsconfig.nsei) & " force-unconfigured"); f_vty_config2(NSVTY, {"ns", "nse " & int2str(mp_nsconfig.nsei)}, "no ip-sns-bind local2"); + f_vty_config2(NSVTY, {"ns", "bind udp local"}, "ip-sns signalling-weight 1 data-weight 1"); + f_vty_config2(NSVTY, {"ns", "bind udp local2"}, "ip-sns signalling-weight 1 data-weight 1"); } /* ensure no matching message is received within 'tout' */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24579 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iae2ba130b2f7d29ec8b417f07d0bef87f74ce5a4 Gerrit-Change-Number: 24579 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 Sun Jun 6 21:25:16 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 21:25:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Tests: add test case TC_sns_bss_add_change_del References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24580 ) Change subject: NS_Tests: add test case TC_sns_bss_add_change_del ...................................................................... NS_Tests: add test case TC_sns_bss_add_change_del 1. do SNS configuration 2. add a bind 3. receive the SNS_ADD 4. before answering the SNS_ADD, change the weight via vty and remove the bind Change-Id: Ibc565bba4c7e0a0b4dd28a48847dbdb998c8528d --- M ns/NS_Tests.ttcn 1 file changed, 46 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/80/24580/1 diff --git a/ns/NS_Tests.ttcn b/ns/NS_Tests.ttcn index 3971f0d..6d53bd8 100644 --- a/ns/NS_Tests.ttcn +++ b/ns/NS_Tests.ttcn @@ -580,6 +580,51 @@ f_clean_ns_codec(); } +/* 1. do SNS configuration + * 2. add a bind + * 3. receive the SNS_ADD + * 4. before answering the SNS_ADD, change the weight via vty and remove the bind + */ +testcase TC_sns_bss_add_change_del() runs on RAW_Test_CT { + var PDU_NS rx; + var NSVCConfiguration nsvc_cfg; + + g_handle_rx_alive := true; + f_init_vty(); + f_init_ns_codec(mp_nsconfig); + f_init_ns_codec(mp_nsconfig, 1); + f_incoming_sns_size(); + f_incoming_sns_config(); + f_outgoing_sns_config(); + activate(as_rx_alive_tx_ack()); + f_vty_config2(NSVTY, {"ns", "nse " & int2str(g_nsconfig.nsei)}, "ip-sns-bind local2"); + + + nsvc_cfg := g_nsconfig.nsvc[1]; + if (nsvc_cfg.provider.ip.address_family == AF_INET) { + var template (omit) IP4_Elements v4_elem := { ts_SNS_IPv4(nsvc_cfg.provider.ip.remote_ip, + nsvc_cfg.provider.ip.remote_udp_port, + 1, 1) }; + rx := f_ns_exp(tr_SNS_ADD(g_nsconfig.nsei, ?, v4 := v4_elem), 0); + } else { + var template (omit) IP6_Elements v6_elem := { ts_SNS_IPv6(nsvc_cfg.provider.ip.remote_ip, + nsvc_cfg.provider.ip.remote_udp_port, + 1, 1) }; + rx := f_ns_exp(tr_SNS_ADD(g_nsconfig.nsei, ?, omit, v6_elem), 0); + } + + /* delete the endpoint */ + f_vty_config2(NSVTY, {"ns", "bind udp local2"}, "ip-sns signalling-weight 99 data-weight 99"); + f_vty_config2(NSVTY, {"ns", "nse " & int2str(g_nsconfig.nsei)}, "no ip-sns-bind local2"); + NSCP[0].send(ts_SNS_ACK(g_nsconfig.nsei, rx.pDU_SNS_Add.transactionID)); + + //f_ns_exp(tr_SNS_CHG_WEIGHT(g_nsconfig.nsei, ?, ?, ?), 0) + f_incoming_sns_chg_weight(idx_chg := 1); + f_incoming_sns_del(idx_del := 1, w_sig := 99, w_user := 99); + setverdict(pass); + f_clean_ns_codec(); +} + control { if (mp_dialect == NS2_DIALECT_STATIC_RESETBLOCK or mp_dialect == NS2_DIALECT_IPACCESS) { execute( TC_tx_reset() ); @@ -629,6 +674,7 @@ execute( TC_sns_bss_change_weight_timeout() ); execute( TC_sns_bss_add() ); execute( TC_sns_bss_del() ); + execute( TC_sns_bss_add_change_del() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibc565bba4c7e0a0b4dd28a48847dbdb998c8528d Gerrit-Change-Number: 24580 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 Sun Jun 6 21:38:41 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 21:38:41 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: move selection of the next bind into own function 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/+/24122 to look at the new patch set (#5). Change subject: gprs_ns2_sns: move selection of the next bind into own function ...................................................................... gprs_ns2_sns: move selection of the next bind into own function It will be also used by del_bind() when removing an active bind Related: OS#5036 Change-Id: Ic39f0e5474ecc055d9a1b6a7b30777574d8b741d --- M src/gb/gprs_ns2_sns.c 1 file changed, 10 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/22/24122/5 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic39f0e5474ecc055d9a1b6a7b30777574d8b741d Gerrit-Change-Number: 24122 Gerrit-PatchSet: 5 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 Sun Jun 6 21:38:43 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 21:38:43 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: bss: improve validation of configuration References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24581 ) Change subject: gprs_ns2_sns: bss: improve validation of configuration ...................................................................... gprs_ns2_sns: bss: improve validation of configuration Some combination of IPv4 and IPv6 result in incomplete combination. E.g. IPv6 binds, but only IPv4 endpoints and vice versa. Related: OS#5036 Change-Id: I2fcf67bc2431ddac23c4ae23cebbb29771e573f1 --- M src/gb/gprs_ns2_sns.c 1 file changed, 49 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/81/24581/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 5d85ec0..9865acd 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -1519,6 +1519,54 @@ } } +/* validate the bss configuration (sns endpoint and binds) + * - no endpoints -> invalid + * - no binds -> invalid + * - only v4 sns endpoints, only v6 binds -> invalid + * - only v4 sns endpoints, but v4 sig weights == 0 -> invalid ... + */ +static int ns2_sns_bss_valid_configuration(struct ns2_sns_state *gss) +{ + struct ns2_sns_bind *sbind; + struct sns_endpoint *endpoint; + const struct osmo_sockaddr *addr; + int v4_sig = 0, v4_data = 0, v6_sig = 0, v6_data = 0; + bool v4_endpoints = false; + bool v6_endpoints = false; + + if (llist_empty(&gss->sns_endpoints) || llist_empty(&gss->binds)) + return 0; + + llist_for_each_entry(sbind, &gss->binds, list) { + addr = gprs_ns2_ip_bind_sockaddr(sbind->bind); + if (!addr) + continue; + switch (addr->u.sa.sa_family) { + case AF_INET: + v4_sig += sbind->bind->sns_sig_weight; + v4_data += sbind->bind->sns_data_weight; + break; + case AF_INET6: + v6_sig += sbind->bind->sns_sig_weight; + v6_data += sbind->bind->sns_data_weight; + break; + } + } + + llist_for_each_entry(endpoint, &gss->sns_endpoints, list) { + switch (endpoint->saddr.u.sa.sa_family) { + case AF_INET: + v4_endpoints = true; + break; + case AF_INET6: + v6_endpoints = true; + break; + } + } + + return (v4_endpoints && v4_sig && v4_data) || (v6_endpoints && v6_sig && v6_data); +} + /* allstate-action for BSS role */ static void ns2_sns_st_all_action_bss(struct osmo_fsm_inst *fi, uint32_t event, void *data) { @@ -1544,7 +1592,7 @@ ns2_clear_ipv46_entries_remote(gss); /* Choose the next sns endpoint. */ - if (llist_empty(&gss->sns_endpoints) || llist_empty(&gss->binds)) { + if (!ns2_sns_bss_valid_configuration(gss)) { gss->initial = NULL; ns2_prim_status_ind(gss->nse, NULL, 0, GPRS_NS2_AFF_CAUSE_SNS_NO_ENDPOINTS); osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 3); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2fcf67bc2431ddac23c4ae23cebbb29771e573f1 Gerrit-Change-Number: 24581 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 Sun Jun 6 21:38:43 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 21:38:43 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor local and remote entries into a struct References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24582 ) Change subject: gprs_ns2_sns: refactor local and remote entries into a struct ...................................................................... gprs_ns2_sns: refactor local and remote entries into a struct The IPv4/IPv6 elemens are the same for local and remote. Refactor the entries into a struct to use function to manipulate them with a single function. Related: OS#5036 Change-Id: I05e053a9eb3328655502dfe2981c8f402104e292 --- M src/gb/gprs_ns2_sns.c 1 file changed, 102 insertions(+), 105 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/82/24582/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 9865acd..66dd421 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -122,6 +122,13 @@ struct gprs_ns2_vc_bind *bind; }; +struct ns2_sns_elems { + struct gprs_ns_ie_ip4_elem *ip4; + unsigned int num_ip4; + struct gprs_ns_ie_ip6_elem *ip6; + unsigned int num_ip6; +}; + struct ns2_sns_state { struct gprs_ns2_nse *nse; @@ -150,26 +157,16 @@ bool alive; /* local configuration to send to the remote end */ - struct gprs_ns_ie_ip4_elem *ip4_local; - size_t num_ip4_local; + struct ns2_sns_elems local; - /* local configuration to send to the remote end */ - struct gprs_ns_ie_ip6_elem *ip6_local; - size_t num_ip6_local; + /* remote configuration as received */ + struct ns2_sns_elems remote; /* local configuration about our capabilities in terms of connections to * remote (SGSN) side */ size_t num_max_nsvcs; size_t num_max_ip4_remote; size_t num_max_ip6_remote; - - /* remote configuration as received */ - struct gprs_ns_ie_ip4_elem *ip4_remote; - unsigned int num_ip4_remote; - - /* remote configuration as received */ - struct gprs_ns_ie_ip6_elem *ip6_remote; - unsigned int num_ip6_remote; }; static inline struct gprs_ns2_nse *nse_inst_from_fi(struct osmo_fsm_inst *fi) @@ -216,8 +213,8 @@ static int nss_weight_sum(const struct ns2_sns_state *nss, bool data_weight) { - return ip4_weight_sum(nss->ip4_remote, nss->num_ip4_remote, data_weight) + - ip6_weight_sum(nss->ip6_remote, nss->num_ip6_remote, data_weight); + return ip4_weight_sum(nss->remote.ip4, nss->remote.num_ip4, data_weight) + + ip6_weight_sum(nss->remote.ip6, nss->remote.num_ip6, data_weight); } #define nss_weight_sum_data(nss) nss_weight_sum(nss, true) #define nss_weight_sum_sig(nss) nss_weight_sum(nss, false) @@ -300,20 +297,20 @@ static void ns2_clear_ipv46_entries_local(struct ns2_sns_state *gss) { - TALLOC_FREE(gss->ip4_local); - TALLOC_FREE(gss->ip6_local); + TALLOC_FREE(gss->local.ip4); + TALLOC_FREE(gss->local.ip6); - gss->num_ip4_local = 0; - gss->num_ip6_local = 0; + gss->local.num_ip4 = 0; + gss->local.num_ip6 = 0; } static void ns2_clear_ipv46_entries_remote(struct ns2_sns_state *gss) { - TALLOC_FREE(gss->ip4_remote); - TALLOC_FREE(gss->ip6_remote); + TALLOC_FREE(gss->remote.ip4); + TALLOC_FREE(gss->remote.ip6); - gss->num_ip4_remote = 0; - gss->num_ip6_remote = 0; + gss->remote.num_ip4 = 0; + gss->remote.num_ip6 = 0; } static void ns2_vc_create_ip(struct osmo_fsm_inst *fi, struct gprs_ns2_nse *nse, const struct osmo_sockaddr *remote, @@ -393,8 +390,8 @@ unsigned int i; /* iterate over all remote IPv4 endpoints */ - for (i = 0; i < gss->num_ip4_remote; i++) { - const struct gprs_ns_ie_ip4_elem *ip4 = &gss->ip4_remote[i]; + for (i = 0; i < gss->remote.num_ip4; i++) { + const struct gprs_ns_ie_ip4_elem *ip4 = &gss->remote.ip4[i]; remote.u.sin.sin_family = AF_INET; remote.u.sin.sin_addr.s_addr = ip4->ip_addr; @@ -425,8 +422,8 @@ } /* iterate over all remote IPv4 endpoints */ - for (i = 0; i < gss->num_ip6_remote; i++) { - const struct gprs_ns_ie_ip6_elem *ip6 = &gss->ip6_remote[i]; + for (i = 0; i < gss->remote.num_ip6; i++) { + const struct gprs_ns_ie_ip6_elem *ip6 = &gss->remote.ip6[i]; remote.u.sin6.sin6_family = AF_INET6; remote.u.sin6.sin6_addr = ip6->ip_addr; @@ -465,21 +462,21 @@ { unsigned int i; - if (gss->num_ip4_remote >= gss->num_max_ip4_remote) + if (gss->remote.num_ip4 >= gss->num_max_ip4_remote) return -NS_CAUSE_INVAL_NR_NS_VC; /* check for duplicates */ - for (i = 0; i < gss->num_ip4_remote; i++) { - if (memcmp(&gss->ip4_remote[i], ip4, sizeof(*ip4))) + for (i = 0; i < gss->remote.num_ip4; i++) { + if (memcmp(&gss->remote.ip4[i], ip4, sizeof(*ip4))) continue; /* TODO: log message duplicate */ return -NS_CAUSE_PROTO_ERR_UNSPEC; } - gss->ip4_remote = talloc_realloc(gss, gss->ip4_remote, struct gprs_ns_ie_ip4_elem, - gss->num_ip4_remote+1); - gss->ip4_remote[gss->num_ip4_remote] = *ip4; - gss->num_ip4_remote += 1; + gss->remote.ip4 = talloc_realloc(gss, gss->remote.ip4, struct gprs_ns_ie_ip4_elem, + gss->remote.num_ip4+1); + gss->remote.ip4[gss->remote.num_ip4] = *ip4; + gss->remote.num_ip4 += 1; return 0; } @@ -488,12 +485,12 @@ { unsigned int i; - for (i = 0; i < gss->num_ip4_remote; i++) { - if (memcmp(&gss->ip4_remote[i], ip4, sizeof(*ip4))) + for (i = 0; i < gss->remote.num_ip4; i++) { + if (memcmp(&gss->remote.ip4[i], ip4, sizeof(*ip4))) continue; /* all array elements < i remain as they are; all > i are shifted left by one */ - memmove(&gss->ip4_remote[i], &gss->ip4_remote[i+1], gss->num_ip4_remote-i-1); - gss->num_ip4_remote -= 1; + memmove(&gss->remote.ip4[i], &gss->remote.ip4[i+1], gss->remote.num_ip4-i-1); + gss->remote.num_ip4 -= 1; return 0; } return -1; @@ -504,13 +501,13 @@ { unsigned int i; - for (i = 0; i < gss->num_ip4_remote; i++) { - if (gss->ip4_remote[i].ip_addr != ip4->ip_addr || - gss->ip4_remote[i].udp_port != ip4->udp_port) + for (i = 0; i < gss->remote.num_ip4; i++) { + if (gss->remote.ip4[i].ip_addr != ip4->ip_addr || + gss->remote.ip4[i].udp_port != ip4->udp_port) continue; - gss->ip4_remote[i].sig_weight = ip4->sig_weight; - gss->ip4_remote[i].data_weight = ip4->data_weight; + gss->remote.ip4[i].sig_weight = ip4->sig_weight; + gss->remote.ip4[i].data_weight = ip4->data_weight; return 0; } return -1; @@ -519,13 +516,13 @@ /* Add a given remote IPv6 element to gprs_sns_state */ static int add_remote_ip6_elem(struct ns2_sns_state *gss, const struct gprs_ns_ie_ip6_elem *ip6) { - if (gss->num_ip6_remote >= gss->num_max_ip6_remote) + if (gss->remote.num_ip6 >= gss->num_max_ip6_remote) return -NS_CAUSE_INVAL_NR_NS_VC; - gss->ip6_remote = talloc_realloc(gss, gss->ip6_remote, struct gprs_ns_ie_ip6_elem, - gss->num_ip6_remote+1); - gss->ip6_remote[gss->num_ip6_remote] = *ip6; - gss->num_ip6_remote += 1; + gss->remote.ip6 = talloc_realloc(gss, gss->remote.ip6, struct gprs_ns_ie_ip6_elem, + gss->remote.num_ip6+1); + gss->remote.ip6[gss->remote.num_ip6] = *ip6; + gss->remote.num_ip6 += 1; return 0; } @@ -534,12 +531,12 @@ { unsigned int i; - for (i = 0; i < gss->num_ip6_remote; i++) { - if (memcmp(&gss->ip6_remote[i], ip6, sizeof(*ip6))) + for (i = 0; i < gss->remote.num_ip6; i++) { + if (memcmp(&gss->remote.ip6[i], ip6, sizeof(*ip6))) continue; /* all array elements < i remain as they are; all > i are shifted left by one */ - memmove(&gss->ip6_remote[i], &gss->ip6_remote[i+1], gss->num_ip6_remote-i-1); - gss->num_ip6_remote -= 1; + memmove(&gss->remote.ip6[i], &gss->remote.ip6[i+1], gss->remote.num_ip6-i-1); + gss->remote.num_ip6 -= 1; return 0; } return -1; @@ -550,12 +547,12 @@ { unsigned int i; - for (i = 0; i < gss->num_ip6_remote; i++) { - if (memcmp(&gss->ip6_remote[i].ip_addr, &ip6->ip_addr, sizeof(ip6->ip_addr)) || - gss->ip6_remote[i].udp_port != ip6->udp_port) + for (i = 0; i < gss->remote.num_ip6; i++) { + if (memcmp(&gss->remote.ip6[i].ip_addr, &ip6->ip_addr, sizeof(ip6->ip_addr)) || + gss->remote.ip6[i].udp_port != ip6->udp_port) continue; - gss->ip6_remote[i].sig_weight = ip6->sig_weight; - gss->ip6_remote[i].data_weight = ip6->data_weight; + gss->remote.ip6[i].sig_weight = ip6->sig_weight; + gss->remote.ip6[i].data_weight = ip6->data_weight; return 0; } return -1; @@ -811,11 +808,11 @@ switch (gss->ip) { case IPv4: - ip4_elems = talloc_realloc(fi, gss->ip4_local, struct gprs_ns_ie_ip4_elem, count); + ip4_elems = talloc_realloc(fi, gss->local.ip4, struct gprs_ns_ie_ip4_elem, count); if (!ip4_elems) return; - gss->ip4_local = ip4_elems; + gss->local.ip4 = ip4_elems; llist_for_each_entry(sbind, &gss->binds, list) { bind = sbind->bind; sa = gprs_ns2_ip_bind_sockaddr(bind); @@ -841,16 +838,16 @@ ip4_elems++; } - gss->num_ip4_local = count; - gss->num_max_nsvcs = OSMO_MAX(gss->num_max_ip4_remote * gss->num_ip4_local, 8); + gss->local.num_ip4 = count; + gss->num_max_nsvcs = OSMO_MAX(gss->num_max_ip4_remote * gss->local.num_ip4, 8); break; case IPv6: /* IPv6 */ - ip6_elems = talloc_realloc(fi, gss->ip6_local, struct gprs_ns_ie_ip6_elem, count); + ip6_elems = talloc_realloc(fi, gss->local.ip6, struct gprs_ns_ie_ip6_elem, count); if (!ip6_elems) return; - gss->ip6_local = ip6_elems; + gss->local.ip6 = ip6_elems; llist_for_each_entry(sbind, &gss->binds, list) { bind = sbind->bind; @@ -877,8 +874,8 @@ ip6_elems++; } - gss->num_ip6_local = count; - gss->num_max_nsvcs = OSMO_MAX(gss->num_max_ip6_remote * gss->num_ip6_local, 8); + gss->local.num_ip6 = count; + gss->num_max_nsvcs = OSMO_MAX(gss->num_max_ip6_remote * gss->local.num_ip6, 8); break; } } @@ -924,9 +921,9 @@ } if (gss->num_max_ip4_remote > 0) - ns2_tx_sns_size(gss->sns_nsvc, true, gss->num_max_nsvcs, gss->num_ip4_local, -1); + ns2_tx_sns_size(gss->sns_nsvc, true, gss->num_max_nsvcs, gss->local.num_ip4, -1); else - ns2_tx_sns_size(gss->sns_nsvc, true, gss->num_max_nsvcs, -1, gss->num_ip6_local); + ns2_tx_sns_size(gss->sns_nsvc, true, gss->num_max_nsvcs, -1, gss->local.num_ip6); } static void ns2_sns_st_bss_config_bss(struct osmo_fsm_inst *fi, uint32_t event, void *data) @@ -966,13 +963,13 @@ switch (gss->ip) { case IPv4: ns2_tx_sns_config(gss->sns_nsvc, true, - gss->ip4_local, gss->num_ip4_local, + gss->local.ip4, gss->local.num_ip4, NULL, 0); break; case IPv6: ns2_tx_sns_config(gss->sns_nsvc, true, NULL, 0, - gss->ip6_local, gss->num_ip6_local); + gss->local.ip6, gss->local.num_ip6); break; } } @@ -1001,19 +998,19 @@ v4_list = (const struct gprs_ns_ie_ip4_elem *) TLVP_VAL(tp, NS_IE_IPv4_LIST); num_v4 = TLVP_LEN(tp, NS_IE_IPv4_LIST) / sizeof(*v4_list); - if (num_v4 && gss->ip6_remote) + if (num_v4 && gss->remote.ip6) return -NS_CAUSE_INVAL_NR_IPv4_EP; /* realloc to the new size */ - gss->ip4_remote = talloc_realloc(gss, gss->ip4_remote, + gss->remote.ip4 = talloc_realloc(gss, gss->remote.ip4, struct gprs_ns_ie_ip4_elem, - gss->num_ip4_remote + num_v4); + gss->remote.num_ip4 + num_v4); /* append the new entries to the end of the list */ - memcpy(&gss->ip4_remote[gss->num_ip4_remote], v4_list, num_v4*sizeof(*v4_list)); - gss->num_ip4_remote += num_v4; + memcpy(&gss->remote.ip4[gss->remote.num_ip4], v4_list, num_v4*sizeof(*v4_list)); + gss->remote.num_ip4 += num_v4; LOGPFSML(fi, LOGL_INFO, "Rx SNS-CONFIG: Remote IPv4 list now %u entries\n", - gss->num_ip4_remote); + gss->remote.num_ip4); } if (TLVP_PRESENT(tp, NS_IE_IPv6_LIST)) { @@ -1022,19 +1019,19 @@ v6_list = (const struct gprs_ns_ie_ip6_elem *) TLVP_VAL(tp, NS_IE_IPv6_LIST); num_v6 = TLVP_LEN(tp, NS_IE_IPv6_LIST) / sizeof(*v6_list); - if (num_v6 && gss->ip4_remote) + if (num_v6 && gss->remote.ip4) return -NS_CAUSE_INVAL_NR_IPv6_EP; /* realloc to the new size */ - gss->ip6_remote = talloc_realloc(gss, gss->ip6_remote, + gss->remote.ip6 = talloc_realloc(gss, gss->remote.ip6, struct gprs_ns_ie_ip6_elem, - gss->num_ip6_remote + num_v6); + gss->remote.num_ip6 + num_v6); /* append the new entries to the end of the list */ - memcpy(&gss->ip6_remote[gss->num_ip6_remote], v6_list, num_v6*sizeof(*v6_list)); - gss->num_ip6_remote += num_v6; + memcpy(&gss->remote.ip6[gss->remote.num_ip6], v6_list, num_v6*sizeof(*v6_list)); + gss->remote.num_ip6 += num_v6; - LOGPFSML(fi, LOGL_INFO, "Rx SNS-CONFIG: Remote IPv6 list now %u entries\n", - gss->num_ip6_remote); + LOGPFSML(fi, LOGL_INFO, "Rx SNS-CONFIG: Remote IPv6 list now %d entries\n", + gss->remote.num_ip6); } return 0; @@ -1204,9 +1201,9 @@ return; } /* make a copy as do_sns_delete() will change the array underneath us */ - ip4_remote = talloc_memdup(fi, gss->ip4_remote, - gss->num_ip4_remote * sizeof(*v4_list)); - for (i = 0; i < gss->num_ip4_remote; i++) { + ip4_remote = talloc_memdup(fi, gss->remote.ip4, + gss->remote.num_ip4 * sizeof(*v4_list)); + for (i = 0; i < gss->remote.num_ip4; i++) { if (ip4_remote[i].ip_addr == ip_addr) { rc = do_sns_delete(fi, &ip4_remote[i], NULL); if (rc < 0) { @@ -1255,9 +1252,9 @@ } memcpy(&ip6_addr, (ie+1), sizeof(struct in6_addr)); /* make a copy as do_sns_delete() will change the array underneath us */ - ip6_remote = talloc_memdup(fi, gss->ip6_remote, - gss->num_ip6_remote * sizeof(*v4_list)); - for (i = 0; i < gss->num_ip6_remote; i++) { + ip6_remote = talloc_memdup(fi, gss->remote.ip6, + gss->remote.num_ip6 * sizeof(*v4_list)); + for (i = 0; i < gss->remote.num_ip6; i++) { if (!memcmp(&ip6_remote[i].ip_addr, &ip6_addr, sizeof(struct in6_addr))) { rc = do_sns_delete(fi, NULL, &ip6_remote[i]); if (rc < 0) { @@ -1774,24 +1771,24 @@ vty_out(vty, "%sMaximum number of remote NS-VCs: %zu, IPv4 Endpoints: %zu, IPv6 Endpoints: %zu%s", prefix, gss->num_max_nsvcs, gss->num_max_ip4_remote, gss->num_max_ip6_remote, VTY_NEWLINE); - if (gss->num_ip4_local && gss->num_ip4_remote) { + if (gss->local.num_ip4 && gss->remote.num_ip4) { vty_out(vty, "%sLocal IPv4 Endpoints:%s", prefix, VTY_NEWLINE); - for (i = 0; i < gss->num_ip4_local; i++) - vty_dump_sns_ip4(vty, prefix, &gss->ip4_local[i]); + for (i = 0; i < gss->local.num_ip4; i++) + vty_dump_sns_ip4(vty, prefix, &gss->local.ip4[i]); vty_out(vty, "%sRemote IPv4 Endpoints:%s", prefix, VTY_NEWLINE); - for (i = 0; i < gss->num_ip4_remote; i++) - vty_dump_sns_ip4(vty, prefix, &gss->ip4_remote[i]); + for (i = 0; i < gss->remote.num_ip4; i++) + vty_dump_sns_ip4(vty, prefix, &gss->remote.ip4[i]); } - if (gss->num_ip6_local && gss->num_ip6_remote) { + if (gss->local.num_ip6 && gss->remote.num_ip6) { vty_out(vty, "%sLocal IPv6 Endpoints:%s", prefix, VTY_NEWLINE); - for (i = 0; i < gss->num_ip6_local; i++) - vty_dump_sns_ip6(vty, prefix, &gss->ip6_local[i]); + for (i = 0; i < gss->local.num_ip6; i++) + vty_dump_sns_ip6(vty, prefix, &gss->local.ip6[i]); vty_out(vty, "%sRemote IPv6 Endpoints:%s", prefix, VTY_NEWLINE); - for (i = 0; i < gss->num_ip6_remote; i++) - vty_dump_sns_ip6(vty, prefix, &gss->ip6_remote[i]); + for (i = 0; i < gss->remote.num_ip6; i++) + vty_dump_sns_ip6(vty, prefix, &gss->remote.ip6[i]); } } @@ -2052,8 +2049,8 @@ return 0; } -/* Update SNS weights - * \param[in] nsvc the NSVC which should be updated +/* Update SNS weights for a bind (local endpoint). + * \param[in] bind the bind which has been updated */ void ns2_sns_update_weights(struct gprs_ns2_vc_bind *bind) { @@ -2121,8 +2118,8 @@ OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_SGSN); /* transmit SGSN-oriented SNS-CONFIG */ - ns2_tx_sns_config(gss->sns_nsvc, true, gss->ip4_local, gss->num_ip4_local, - gss->ip6_local, gss->num_ip6_local); + ns2_tx_sns_config(gss->sns_nsvc, true, gss->local.ip4, gss->local.num_ip4, + gss->local.ip6, gss->local.num_ip6); } /* We're waiting for SNS-CONFIG-ACK from the BSS (in response to our outbound SNS-CONFIG) */ @@ -2253,15 +2250,15 @@ if (gss->num_max_ip6_remote && ns2_sns_count_num_local_ep(fi, IPv6)) { gss->ip = IPv6; ns2_sns_compute_local_ep_from_binds(fi); - num_local_eps = gss->num_ip6_local; + num_local_eps = gss->local.num_ip6; num_remote_eps = gss->num_max_ip6_remote; } else if (gss->num_max_ip4_remote && ns2_sns_count_num_local_ep(fi, IPv4)) { gss->ip = IPv4; ns2_sns_compute_local_ep_from_binds(fi); - num_local_eps = gss->num_ip4_local; + num_local_eps = gss->local.num_ip4; num_remote_eps = gss->num_max_ip4_remote; } else { - if (gss->num_ip4_local && !gss->num_max_ip4_remote) + if (gss->local.num_ip4 && !gss->num_max_ip4_remote) cause = NS_CAUSE_INVAL_NR_IPv4_EP; else cause = NS_CAUSE_INVAL_NR_IPv6_EP; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24582 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I05e053a9eb3328655502dfe2981c8f402104e292 Gerrit-Change-Number: 24582 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 Sun Jun 6 21:38:44 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 21:38:44 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor ns2_clear_ipv46_entries_local to use new elems... References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24583 ) Change subject: gprs_ns2_sns: refactor ns2_clear_ipv46_entries_local to use new elems functions ...................................................................... gprs_ns2_sns: refactor ns2_clear_ipv46_entries_local to use new elems functions Related: OS#5036 Change-Id: I7225f7a4215842f0ea601ce6d9d38220f98f808d --- M src/gb/gprs_ns2_sns.c 1 file changed, 10 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/83/24583/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 66dd421..0c1ca6d 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -295,22 +295,13 @@ osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_NO_NSVC, NULL); } -static void ns2_clear_ipv46_entries_local(struct ns2_sns_state *gss) +static void ns2_clear_elems(struct ns2_sns_elems *elems) { - TALLOC_FREE(gss->local.ip4); - TALLOC_FREE(gss->local.ip6); + TALLOC_FREE(elems->ip4); + TALLOC_FREE(elems->ip6); - gss->local.num_ip4 = 0; - gss->local.num_ip6 = 0; -} - -static void ns2_clear_ipv46_entries_remote(struct ns2_sns_state *gss) -{ - TALLOC_FREE(gss->remote.ip4); - TALLOC_FREE(gss->remote.ip6); - - gss->remote.num_ip4 = 0; - gss->remote.num_ip6 = 0; + elems->num_ip4 = 0; + elems->num_ip6 = 0; } static void ns2_vc_create_ip(struct osmo_fsm_inst *fi, struct gprs_ns2_nse *nse, const struct osmo_sockaddr *remote, @@ -789,7 +780,7 @@ struct osmo_sockaddr local; int count; - ns2_clear_ipv46_entries_local(gss); + ns2_clear_elems(&gss->local); /* no initial available */ if (gss->role == GPRS_SNS_ROLE_BSS) { @@ -1585,8 +1576,8 @@ * gprs_ns2_free_nsvcs() will trigger NO_NSVC, prevent this from triggering a reselection */ gss->reselection_running = true; gprs_ns2_free_nsvcs(nse); - ns2_clear_ipv46_entries_local(gss); - ns2_clear_ipv46_entries_remote(gss); + ns2_clear_elems(&gss->local); + ns2_clear_elems(&gss->remote); /* Choose the next sns endpoint. */ if (!ns2_sns_bss_valid_configuration(gss)) { @@ -2282,8 +2273,8 @@ /* clear all state */ osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); gss->N = 0; - ns2_clear_ipv46_entries_local(gss); - ns2_clear_ipv46_entries_remote(gss); + ns2_clear_elems(&gss->local); + ns2_clear_elems(&gss->remote); llist_for_each_entry_safe(nsvc, nsvc2, &gss->nse->nsvc, list) { if (nsvc == gss->sns_nsvc) { /* keep the NSVC we need for SNS, but unconfigure it */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7225f7a4215842f0ea601ce6d9d38220f98f808d Gerrit-Change-Number: 24583 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 Sun Jun 6 21:38:44 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 21:38:44 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: use struct ns2_sns_elems in add/update/remove remote_elems References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24584 ) Change subject: gprs_ns2_sns: use struct ns2_sns_elems in add/update/remove remote_elems ...................................................................... gprs_ns2_sns: use struct ns2_sns_elems in add/update/remove remote_elems Prepare to use the function also with local elems. Related: OS#5036 Change-Id: I7db43c8dbd5bd7e7b07a7d629d2615bfa18623db --- M src/gb/gprs_ns2_sns.c 1 file changed, 47 insertions(+), 41 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/84/24584/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 0c1ca6d..20076ed 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -449,7 +449,8 @@ } /* Add a given remote IPv4 element to gprs_sns_state */ -static int add_remote_ip4_elem(struct ns2_sns_state *gss, const struct gprs_ns_ie_ip4_elem *ip4) +static int add_ip4_elem(struct ns2_sns_state *gss, struct ns2_sns_elems *elems, + const struct gprs_ns_ie_ip4_elem *ip4) { unsigned int i; @@ -457,93 +458,98 @@ return -NS_CAUSE_INVAL_NR_NS_VC; /* check for duplicates */ - for (i = 0; i < gss->remote.num_ip4; i++) { - if (memcmp(&gss->remote.ip4[i], ip4, sizeof(*ip4))) + for (i = 0; i < elems->num_ip4; i++) { + if (memcmp(&elems->ip4[i], ip4, sizeof(*ip4))) continue; /* TODO: log message duplicate */ return -NS_CAUSE_PROTO_ERR_UNSPEC; } - gss->remote.ip4 = talloc_realloc(gss, gss->remote.ip4, struct gprs_ns_ie_ip4_elem, - gss->remote.num_ip4+1); - gss->remote.ip4[gss->remote.num_ip4] = *ip4; - gss->remote.num_ip4 += 1; + elems->ip4 = talloc_realloc(gss, elems->ip4, struct gprs_ns_ie_ip4_elem, + elems->num_ip4+1); + elems->ip4[elems->num_ip4] = *ip4; + elems->num_ip4 += 1; return 0; } /* Remove a given remote IPv4 element from gprs_sns_state */ -static int remove_remote_ip4_elem(struct ns2_sns_state *gss, const struct gprs_ns_ie_ip4_elem *ip4) +static int remove_ip4_elem(struct ns2_sns_state *gss, struct ns2_sns_elems *elems, + const struct gprs_ns_ie_ip4_elem *ip4) { unsigned int i; - for (i = 0; i < gss->remote.num_ip4; i++) { - if (memcmp(&gss->remote.ip4[i], ip4, sizeof(*ip4))) + for (i = 0; i < elems->num_ip4; i++) { + if (memcmp(&elems->ip4[i], ip4, sizeof(*ip4))) continue; /* all array elements < i remain as they are; all > i are shifted left by one */ - memmove(&gss->remote.ip4[i], &gss->remote.ip4[i+1], gss->remote.num_ip4-i-1); - gss->remote.num_ip4 -= 1; + memmove(&elems->ip4[i], &elems->ip4[i+1], elems->num_ip4-i-1); + elems->num_ip4 -= 1; return 0; } return -1; } /* update the weights for specified remote IPv4 */ -static int update_remote_ip4_elem(struct ns2_sns_state *gss, const struct gprs_ns_ie_ip4_elem *ip4) +static int update_ip4_elem(struct ns2_sns_state *gss, struct ns2_sns_elems *elems, + const struct gprs_ns_ie_ip4_elem *ip4) { unsigned int i; - for (i = 0; i < gss->remote.num_ip4; i++) { - if (gss->remote.ip4[i].ip_addr != ip4->ip_addr || - gss->remote.ip4[i].udp_port != ip4->udp_port) + for (i = 0; i < elems->num_ip4; i++) { + if (elems->ip4[i].ip_addr != ip4->ip_addr || + elems->ip4[i].udp_port != ip4->udp_port) continue; - gss->remote.ip4[i].sig_weight = ip4->sig_weight; - gss->remote.ip4[i].data_weight = ip4->data_weight; + elems->ip4[i].sig_weight = ip4->sig_weight; + elems->ip4[i].data_weight = ip4->data_weight; return 0; } return -1; } /* Add a given remote IPv6 element to gprs_sns_state */ -static int add_remote_ip6_elem(struct ns2_sns_state *gss, const struct gprs_ns_ie_ip6_elem *ip6) +static int add_ip6_elem(struct ns2_sns_state *gss, struct ns2_sns_elems *elems, + const struct gprs_ns_ie_ip6_elem *ip6) { - if (gss->remote.num_ip6 >= gss->num_max_ip6_remote) + if (elems->num_ip6 >= gss->num_max_ip6_remote) return -NS_CAUSE_INVAL_NR_NS_VC; - gss->remote.ip6 = talloc_realloc(gss, gss->remote.ip6, struct gprs_ns_ie_ip6_elem, - gss->remote.num_ip6+1); - gss->remote.ip6[gss->remote.num_ip6] = *ip6; - gss->remote.num_ip6 += 1; + elems->ip6 = talloc_realloc(gss, elems->ip6, struct gprs_ns_ie_ip6_elem, + elems->num_ip6+1); + elems->ip6[elems->num_ip6] = *ip6; + elems->num_ip6 += 1; return 0; } /* Remove a given remote IPv6 element from gprs_sns_state */ -static int remove_remote_ip6_elem(struct ns2_sns_state *gss, const struct gprs_ns_ie_ip6_elem *ip6) +static int remove_ip6_elem(struct ns2_sns_state *gss, struct ns2_sns_elems *elems, + const struct gprs_ns_ie_ip6_elem *ip6) { unsigned int i; - for (i = 0; i < gss->remote.num_ip6; i++) { - if (memcmp(&gss->remote.ip6[i], ip6, sizeof(*ip6))) + for (i = 0; i < elems->num_ip6; i++) { + if (memcmp(&elems->ip6[i], ip6, sizeof(*ip6))) continue; /* all array elements < i remain as they are; all > i are shifted left by one */ - memmove(&gss->remote.ip6[i], &gss->remote.ip6[i+1], gss->remote.num_ip6-i-1); - gss->remote.num_ip6 -= 1; + memmove(&elems->ip6[i], &elems->ip6[i+1], elems->num_ip6-i-1); + elems->num_ip6 -= 1; return 0; } return -1; } /* update the weights for specified remote IPv6 */ -static int update_remote_ip6_elem(struct ns2_sns_state *gss, const struct gprs_ns_ie_ip6_elem *ip6) +static int update_ip6_elem(struct ns2_sns_state *gss, struct ns2_sns_elems *elems, + const struct gprs_ns_ie_ip6_elem *ip6) { unsigned int i; - for (i = 0; i < gss->remote.num_ip6; i++) { - if (memcmp(&gss->remote.ip6[i].ip_addr, &ip6->ip_addr, sizeof(ip6->ip_addr)) || - gss->remote.ip6[i].udp_port != ip6->udp_port) + for (i = 0; i < elems->num_ip6; i++) { + if (memcmp(&elems->ip6[i].ip_addr, &ip6->ip_addr, sizeof(ip6->ip_addr)) || + elems->ip6[i].udp_port != ip6->udp_port) continue; - gss->remote.ip6[i].sig_weight = ip6->sig_weight; - gss->remote.ip6[i].data_weight = ip6->data_weight; + elems->ip6[i].sig_weight = ip6->sig_weight; + elems->ip6[i].data_weight = ip6->data_weight; return 0; } return -1; @@ -566,7 +572,7 @@ * SNS-ACK PDU with a cause code of "Invalid weights". */ if (ip4) { - if (update_remote_ip4_elem(gss, ip4)) + if (update_ip4_elem(gss, &gss->remote, ip4)) return -NS_CAUSE_UNKN_IP_EP; /* copy over. Both data structures use network byte order */ @@ -576,7 +582,7 @@ new_signal = ip4->sig_weight; new_data = ip4->data_weight; } else if (ip6) { - if (update_remote_ip6_elem(gss, ip6)) + if (update_ip6_elem(gss, &gss->remote, ip6)) return -NS_CAUSE_UNKN_IP_EP; /* copy over. Both data structures use network byte order */ @@ -619,14 +625,14 @@ struct osmo_sockaddr sa = {}; if (ip4) { - if (remove_remote_ip4_elem(gss, ip4) < 0) + if (remove_ip4_elem(gss, &gss->remote, ip4) < 0) return -NS_CAUSE_UNKN_IP_EP; /* copy over. Both data structures use network byte order */ sa.u.sin.sin_addr.s_addr = ip4->ip_addr; sa.u.sin.sin_port = ip4->udp_port; sa.u.sin.sin_family = AF_INET; } else if (ip6) { - if (remove_remote_ip6_elem(gss, ip6)) + if (remove_ip6_elem(gss, &gss->remote, ip6)) return -NS_CAUSE_UNKN_IP_EP; /* copy over. Both data structures use network byte order */ @@ -665,10 +671,10 @@ * an SNS-ACK PDU with a cause code set to "Invalid number of IP4 Endpoints". */ switch (gss->ip) { case IPv4: - rc = add_remote_ip4_elem(gss, ip4); + rc = add_ip4_elem(gss, &gss->remote, ip4); break; case IPv6: - rc = add_remote_ip6_elem(gss, ip6); + rc = add_ip6_elem(gss, &gss->remote, ip6); break; default: /* the gss->ip is initialized with the bss */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7db43c8dbd5bd7e7b07a7d629d2615bfa18623db Gerrit-Change-Number: 24584 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 Sun Jun 6 21:38:44 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 21:38:44 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: move gss->remote specific check out of add_ip4_elem/add... References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24585 ) Change subject: gprs_ns2_sns: move gss->remote specific check out of add_ip4_elem/add_ip6_elem ...................................................................... gprs_ns2_sns: move gss->remote specific check out of add_ip4_elem/add_ip6_elem Allow to use the add_ip4_elem also with local elemens. Related: OS#5036 Change-Id: Ib48dfd7567467e60c5af2348924ece5cc6124206 --- M src/gb/gprs_ns2_sns.c 1 file changed, 8 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/85/24585/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 20076ed..c50b2b9 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -454,15 +454,11 @@ { unsigned int i; - if (gss->remote.num_ip4 >= gss->num_max_ip4_remote) - return -NS_CAUSE_INVAL_NR_NS_VC; - /* check for duplicates */ for (i = 0; i < elems->num_ip4; i++) { if (memcmp(&elems->ip4[i], ip4, sizeof(*ip4))) continue; - /* TODO: log message duplicate */ - return -NS_CAUSE_PROTO_ERR_UNSPEC; + return -1; } elems->ip4 = talloc_realloc(gss, elems->ip4, struct gprs_ns_ie_ip4_elem, @@ -511,8 +507,6 @@ static int add_ip6_elem(struct ns2_sns_state *gss, struct ns2_sns_elems *elems, const struct gprs_ns_ie_ip6_elem *ip6) { - if (elems->num_ip6 >= gss->num_max_ip6_remote) - return -NS_CAUSE_INVAL_NR_NS_VC; elems->ip6 = talloc_realloc(gss, elems->ip6, struct gprs_ns_ie_ip6_elem, elems->num_ip6+1); @@ -671,9 +665,15 @@ * an SNS-ACK PDU with a cause code set to "Invalid number of IP4 Endpoints". */ switch (gss->ip) { case IPv4: + if (gss->remote.num_ip4 >= gss->num_max_ip4_remote) + return -NS_CAUSE_INVAL_NR_NS_VC; + /* TODO: log message duplicate */ rc = add_ip4_elem(gss, &gss->remote, ip4); break; case IPv6: + if (gss->remote.num_ip6 >= gss->num_max_ip6_remote) + return -NS_CAUSE_INVAL_NR_NS_VC; + /* TODO: log message duplicate */ rc = add_ip6_elem(gss, &gss->remote, ip6); break; default: @@ -682,7 +682,7 @@ } if (rc) - return rc; + return -NS_CAUSE_PROTO_ERR_UNSPEC; /* Upon receiving an SNS-ADD PDU containing an already configured IP endpoint the * NSE shall send an SNS-ACK PDU with the cause code "Protocol error - -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24585 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib48dfd7567467e60c5af2348924ece5cc6124206 Gerrit-Change-Number: 24585 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 Sun Jun 6 21:38:44 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 21:38:44 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: add check for duplicates to add_ip6_elem() References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24586 ) Change subject: gprs_ns2_sns: add check for duplicates to add_ip6_elem() ...................................................................... gprs_ns2_sns: add check for duplicates to add_ip6_elem() The ip4 version already checks for duplicates. Related: OS#5036 Change-Id: I4a1528ea3427946ce465085919b2b522d3cedd07 --- M src/gb/gprs_ns2_sns.c 1 file changed, 7 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/86/24586/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index c50b2b9..2e84d16 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -452,10 +452,8 @@ static int add_ip4_elem(struct ns2_sns_state *gss, struct ns2_sns_elems *elems, const struct gprs_ns_ie_ip4_elem *ip4) { - unsigned int i; - /* check for duplicates */ - for (i = 0; i < elems->num_ip4; i++) { + for (unsigned int i = 0; i < elems->num_ip4; i++) { if (memcmp(&elems->ip4[i], ip4, sizeof(*ip4))) continue; return -1; @@ -507,6 +505,12 @@ static int add_ip6_elem(struct ns2_sns_state *gss, struct ns2_sns_elems *elems, const struct gprs_ns_ie_ip6_elem *ip6) { + /* check for duplicates */ + for (unsigned int i = 0; i < elems->num_ip6; i++) { + if (memcmp(&elems->ip6[i], ip6, sizeof(*ip6))) + continue; + return -1; + } elems->ip6 = talloc_realloc(gss, elems->ip6, struct gprs_ns_ie_ip6_elem, elems->num_ip6+1); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24586 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4a1528ea3427946ce465085919b2b522d3cedd07 Gerrit-Change-Number: 24586 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 Sun Jun 6 21:38:45 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 21:38:45 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor ip4_weight_sum/ip6_weight_sum References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24587 ) Change subject: gprs_ns2_sns: refactor ip4_weight_sum/ip6_weight_sum ...................................................................... gprs_ns2_sns: refactor ip4_weight_sum/ip6_weight_sum Use the new introduced struct ns2_sns_elems instead of the elems seperate. Related: OS#5036 Change-Id: I0956ab6085554210569188f52cae121e32fca19b --- M src/gb/gprs_ns2_sns.c 1 file changed, 14 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/87/24587/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 2e84d16..66765f3 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -176,45 +176,43 @@ } /* helper function to compute the sum of all (data or signaling) weights */ -static int ip4_weight_sum(const struct gprs_ns_ie_ip4_elem *ip4, unsigned int num, - bool data_weight) +static int ip4_weight_sum(const struct ns2_sns_elems *elems, bool data_weight) { unsigned int i; int weight_sum = 0; - for (i = 0; i < num; i++) { + for (i = 0; i < elems->num_ip4; i++) { if (data_weight) - weight_sum += ip4[i].data_weight; + weight_sum += elems->ip4[i].data_weight; else - weight_sum += ip4[i].sig_weight; + weight_sum += elems->ip4[i].sig_weight; } return weight_sum; } -#define ip4_weight_sum_data(x,y) ip4_weight_sum(x, y, true) -#define ip4_weight_sum_sig(x,y) ip4_weight_sum(x, y, false) +#define ip4_weight_sum_data(elems) ip4_weight_sum(elems, true) +#define ip4_weight_sum_sig(elems) ip4_weight_sum(elems, false) /* helper function to compute the sum of all (data or signaling) weights */ -static int ip6_weight_sum(const struct gprs_ns_ie_ip6_elem *ip6, unsigned int num, - bool data_weight) +static int ip6_weight_sum(const struct ns2_sns_elems *elems, bool data_weight) { unsigned int i; int weight_sum = 0; - for (i = 0; i < num; i++) { + for (i = 0; i < elems->num_ip6; i++) { if (data_weight) - weight_sum += ip6[i].data_weight; + weight_sum += elems->ip6[i].data_weight; else - weight_sum += ip6[i].sig_weight; + weight_sum += elems->ip6[i].sig_weight; } return weight_sum; } -#define ip6_weight_sum_data(x,y) ip6_weight_sum(x, y, true) -#define ip6_weight_sum_sig(x,y) ip6_weight_sum(x, y, false) +#define ip6_weight_sum_data(elems) ip6_weight_sum(elems, true) +#define ip6_weight_sum_sig(elems) ip6_weight_sum(elems, false) static int nss_weight_sum(const struct ns2_sns_state *nss, bool data_weight) { - return ip4_weight_sum(nss->remote.ip4, nss->remote.num_ip4, data_weight) + - ip6_weight_sum(nss->remote.ip6, nss->remote.num_ip6, data_weight); + return ip4_weight_sum(&nss->remote, data_weight) + + ip6_weight_sum(&nss->remote, data_weight); } #define nss_weight_sum_data(nss) nss_weight_sum(nss, true) #define nss_weight_sum_sig(nss) nss_weight_sum(nss, false) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24587 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0956ab6085554210569188f52cae121e32fca19b Gerrit-Change-Number: 24587 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 Sun Jun 6 21:38:45 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 21:38:45 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor nss_weight_sum_data -> ip46_weight_sum_data References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24588 ) Change subject: gprs_ns2_sns: refactor nss_weight_sum_data -> ip46_weight_sum_data ...................................................................... gprs_ns2_sns: refactor nss_weight_sum_data -> ip46_weight_sum_data Allow to use ip46_weight_sum_data for local endpoints as well. Related: OS#5036 Change-Id: I75d88f3da89ad13e34a3fd5ae72bd967d81f4abc --- M src/gb/gprs_ns2_sns.c 1 file changed, 7 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/88/24588/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 66765f3..0badcee 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -209,13 +209,13 @@ #define ip6_weight_sum_data(elems) ip6_weight_sum(elems, true) #define ip6_weight_sum_sig(elems) ip6_weight_sum(elems, false) -static int nss_weight_sum(const struct ns2_sns_state *nss, bool data_weight) +static int ip46_weight_sum(const struct ns2_sns_elems *elems, bool data_weight) { - return ip4_weight_sum(&nss->remote, data_weight) + - ip6_weight_sum(&nss->remote, data_weight); + return ip4_weight_sum(elems, data_weight) + + ip6_weight_sum(elems, data_weight); } -#define nss_weight_sum_data(nss) nss_weight_sum(nss, true) -#define nss_weight_sum_sig(nss) nss_weight_sum(nss, false) +#define ip46_weight_sum_data(elems) ip46_weight_sum(elems, true) +#define ip46_weight_sum_sig(elems) ip46_weight_sum(elems, false) static struct gprs_ns2_vc *nsvc_by_ip4_elem(struct gprs_ns2_nse *nse, const struct gprs_ns_ie_ip4_elem *ip4) @@ -1067,7 +1067,7 @@ } if (event == GPRS_SNS_EV_RX_CONFIG_END) { /* check if sum of data / sig weights == 0 */ - if (nss_weight_sum_data(gss) == 0 || nss_weight_sum_sig(gss) == 0) { + if (ip46_weight_sum_data(&gss->remote) == 0 || ip46_weight_sum_sig(&gss->remote) == 0) { cause = NS_CAUSE_INVAL_WEIGH; ns2_tx_sns_config_ack(gss->sns_nsvc, &cause); osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); @@ -2094,7 +2094,7 @@ /* only change state if last CONFIG was received */ if (event == GPRS_SNS_EV_RX_CONFIG_END) { /* ensure sum of data weight / sig weights is > 0 */ - if (nss_weight_sum_data(gss) == 0 || nss_weight_sum_sig(gss) == 0) { + if (ip46_weight_sum_data(&gss->remote) == 0 || ip46_weight_sum_sig(&gss->remote) == 0) { cause = NS_CAUSE_INVAL_WEIGH; ns2_tx_sns_config_ack(gss->sns_nsvc, &cause); osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I75d88f3da89ad13e34a3fd5ae72bd967d81f4abc Gerrit-Change-Number: 24588 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 Sun Jun 6 21:38:45 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 21:38:45 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: replace ns2_sns_type with address family References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24589 ) Change subject: gprs_ns2_sns: replace ns2_sns_type with address family ...................................................................... gprs_ns2_sns: replace ns2_sns_type with address family Reduces the code as the conversion between address family (bind) and ns2_sns_type is not needed anymore. Related: OS#5036 Change-Id: I1bcdd43af34c926d4b88491d00669422c299bef7 --- M src/gb/gprs_ns2_sns.c 1 file changed, 23 insertions(+), 28 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/89/24589/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 0badcee..ec4bd87 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -56,11 +56,6 @@ #define S(x) (1 << (x)) -enum ns2_sns_type { - IPv4, - IPv6, -}; - enum ns2_sns_role { GPRS_SNS_ROLE_BSS, GPRS_SNS_ROLE_SGSN, @@ -132,7 +127,7 @@ struct ns2_sns_state { struct gprs_ns2_nse *nse; - enum ns2_sns_type ip; + int family; enum ns2_sns_role role; /* local role: BSS or SGSN */ /* holds the list of initial SNS endpoints */ @@ -665,14 +660,14 @@ /* Upon receiving an SNS-ADD PDU, if the consequent number of IPv4 endpoints * exceeds the number of IPv4 endpoints supported by the NSE, the NSE shall send * an SNS-ACK PDU with a cause code set to "Invalid number of IP4 Endpoints". */ - switch (gss->ip) { - case IPv4: + switch (gss->family) { + case AF_INET: if (gss->remote.num_ip4 >= gss->num_max_ip4_remote) return -NS_CAUSE_INVAL_NR_NS_VC; /* TODO: log message duplicate */ rc = add_ip4_elem(gss, &gss->remote, ip4); break; - case IPv6: + case AF_INET6: if (gss->remote.num_ip6 >= gss->num_max_ip6_remote) return -NS_CAUSE_INVAL_NR_NS_VC; /* TODO: log message duplicate */ @@ -689,8 +684,8 @@ /* Upon receiving an SNS-ADD PDU containing an already configured IP endpoint the * NSE shall send an SNS-ACK PDU with the cause code "Protocol error - * unspecified" */ - switch (gss->ip) { - case IPv4: + switch (gss->family) { + case AF_INET: nsvc = nsvc_by_ip4_elem(nse, ip4); if (nsvc) { /* the nsvc should be already in sync with the ip4 / ip6 elements */ @@ -700,7 +695,7 @@ /* TODO: failure case */ ns2_nsvc_create_ip4(fi, nse, ip4); break; - case IPv6: + case AF_INET6: nsvc = nsvc_by_ip6_elem(nse, ip6); if (nsvc) { /* the nsvc should be already in sync with the ip4 / ip6 elements */ @@ -751,7 +746,7 @@ } } -static int ns2_sns_count_num_local_ep(struct osmo_fsm_inst *fi, enum ns2_sns_type stype) +static int ns2_sns_count_num_local_ep(struct osmo_fsm_inst *fi, int ip_proto) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct ns2_sns_bind *sbind; @@ -762,12 +757,12 @@ if (!sa) continue; - switch (stype) { - case IPv4: + switch (ip_proto) { + case AF_INET: if (sa->u.sas.ss_family == AF_INET) count++; break; - case IPv6: + case AF_INET6: if (sa->u.sas.ss_family == AF_INET6) count++; break; @@ -805,8 +800,8 @@ return; } - switch (gss->ip) { - case IPv4: + switch (gss->family) { + case AF_INET: ip4_elems = talloc_realloc(fi, gss->local.ip4, struct gprs_ns_ie_ip4_elem, count); if (!ip4_elems) return; @@ -840,7 +835,7 @@ gss->local.num_ip4 = count; gss->num_max_nsvcs = OSMO_MAX(gss->num_max_ip4_remote * gss->local.num_ip4, 8); break; - case IPv6: + case AF_INET6: /* IPv6 */ ip6_elems = talloc_realloc(fi, gss->local.ip6, struct gprs_ns_ie_ip6_elem, count); if (!ip6_elems) @@ -959,13 +954,13 @@ gss->N = 0; /* Transmit SNS-CONFIG */ - switch (gss->ip) { - case IPv4: + switch (gss->family) { + case AF_INET: ns2_tx_sns_config(gss->sns_nsvc, true, gss->local.ip4, gss->local.num_ip4, NULL, 0); break; - case IPv6: + case AF_INET6: ns2_tx_sns_config(gss->sns_nsvc, true, NULL, 0, gss->local.ip6, gss->local.num_ip6); @@ -1108,7 +1103,7 @@ */ trans_id = *TLVP_VAL(tp, NS_IE_TRANS_ID); - if (gss->ip == IPv4) { + if (gss->family == AF_INET) { if (!TLVP_PRESENT(tp, NS_IE_IPv4_LIST)) { cause = NS_CAUSE_INVAL_NR_IPv4_EP; ns2_tx_sns_ack(gss->sns_nsvc, trans_id, &cause, NULL, 0, NULL, 0); @@ -1172,7 +1167,7 @@ * TODO: check if IPv4_LIST/IPv6_LIST and IP_ADDR is present at the same time */ trans_id = *TLVP_VAL(tp, NS_IE_TRANS_ID); - if (gss->ip == IPv4) { + if (gss->family == AF_INET) { if (TLVP_PRESENT(tp, NS_IE_IPv4_LIST)) { v4_list = (const struct gprs_ns_ie_ip4_elem *) TLVP_VAL(tp, NS_IE_IPv4_LIST); num_v4 = TLVP_LEN(tp, NS_IE_IPv4_LIST) / sizeof(*v4_list); @@ -2246,13 +2241,13 @@ if (TLVP_PRES_LEN(tp, NS_IE_IPv6_EP_NR, 2)) gss->num_max_ip6_remote = tlvp_val16be(tp, NS_IE_IPv6_EP_NR); /* decide if we go for IPv4 or IPv6 */ - if (gss->num_max_ip6_remote && ns2_sns_count_num_local_ep(fi, IPv6)) { - gss->ip = IPv6; + if (gss->num_max_ip6_remote && ns2_sns_count_num_local_ep(fi, AF_INET6)) { + gss->family = AF_INET6; ns2_sns_compute_local_ep_from_binds(fi); num_local_eps = gss->local.num_ip6; num_remote_eps = gss->num_max_ip6_remote; - } else if (gss->num_max_ip4_remote && ns2_sns_count_num_local_ep(fi, IPv4)) { - gss->ip = IPv4; + } else if (gss->num_max_ip4_remote && ns2_sns_count_num_local_ep(fi, AF_INET)) { + gss->family = AF_INET; ns2_sns_compute_local_ep_from_binds(fi); num_local_eps = gss->local.num_ip4; num_remote_eps = gss->num_max_ip4_remote; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24589 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1bcdd43af34c926d4b88491d00669422c299bef7 Gerrit-Change-Number: 24589 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 Sun Jun 6 21:38:46 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 21:38:46 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: bss: set gss->family References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24590 ) Change subject: gprs_ns2_sns: bss: set gss->family ...................................................................... gprs_ns2_sns: bss: set gss->family gss->family (and gss->ip) was never set. So IPv6 should have never worked. Fixes: e769f5226be6 ("gprs_ns2_sns: rework IP-SNS initial remote") Related: OS#5036 Change-Id: I4e39dc5c7f766a7040645ceb62afdf6a9cfad00f --- M src/gb/gprs_ns2_sns.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/90/24590/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index ec4bd87..588dd02 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -1598,6 +1598,7 @@ gss->initial = llist_entry(gss->initial->list.next, struct sns_endpoint, list); } + gss->family = gss->initial->saddr.u.sa.sa_family; gss->reselection_running = false; osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_BSS_SIZE, nse->nsi->timeout[NS_TOUT_TSNS_PROV], 1); break; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24590 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4e39dc5c7f766a7040645ceb62afdf6a9cfad00f Gerrit-Change-Number: 24590 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 Sun Jun 6 21:38:46 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 21:38:46 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement outbound DEL SNS procedures References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24591 ) Change subject: gprs_ns2_sns: implement outbound DEL SNS procedures ...................................................................... gprs_ns2_sns: implement outbound DEL SNS procedures When removing a bind the remote side needs to be informed via the SNS-DELETE procedure. Related: OS#5036 Change-Id: I53cd54dfd262c70c425c3f13dad3b29526daa523 --- M src/gb/gprs_ns2_sns.c 1 file changed, 76 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/91/24591/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 656e06f..091a62b 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -592,6 +592,32 @@ return -1; } +static int remove_bind_elem(struct ns2_sns_state *gss, struct ns2_sns_elems *elems, struct ns2_sns_bind *sbind) +{ + struct gprs_ns_ie_ip4_elem ip4; + struct gprs_ns_ie_ip6_elem ip6; + const struct osmo_sockaddr *saddr = gprs_ns2_ip_bind_sockaddr(sbind->bind); + + switch (saddr->u.sa.sa_family) { + case AF_INET: + ip4.ip_addr = saddr->u.sin.sin_addr.s_addr; + ip4.udp_port = saddr->u.sin.sin_port; + ip4.sig_weight = sbind->bind->sns_sig_weight; + ip4.data_weight = sbind->bind->sns_data_weight; + return remove_ip4_elem(gss, elems, &ip4); + case AF_INET6: + memcpy(&ip6.ip_addr, &saddr->u.sin6.sin6_addr, sizeof(struct in6_addr)); + ip6.udp_port = saddr->u.sin.sin_port; + ip6.sig_weight = sbind->bind->sns_sig_weight; + ip6.data_weight = sbind->bind->sns_data_weight; + return remove_ip6_elem(gss, elems, &ip6); + default: + return -1; + } + + return -1; +} + static int do_sns_change_weight(struct osmo_fsm_inst *fi, const struct gprs_ns_ie_ip4_elem *ip4, const struct gprs_ns_ie_ip6_elem *ip6) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; @@ -1484,6 +1510,12 @@ else ns2_tx_sns_change_weight(gss->sns_nsvc, gss->current_procedure->trans_id, NULL, 0, &gss->current_procedure->ip6, 1); break; + case SNS_DEL: + if (gss->family == AF_INET) + ns2_tx_sns_del(gss->sns_nsvc, gss->current_procedure->trans_id, &gss->current_procedure->ip4, 1, NULL, 0); + else + ns2_tx_sns_del(gss->sns_nsvc, gss->current_procedure->trans_id, NULL, 0, &gss->current_procedure->ip6, 1); + break; default: break; } @@ -1596,8 +1628,11 @@ add_ip6_elem(gss, &gss->local, &gss->current_procedure->ip6); break; } - create_nsvc_for_new_sbind(gss, gss->current_procedure->sbind); - gprs_ns2_start_alive_all_nsvcs(nse); + /* the sbind can be NULL if the bind has been released by del_bind */ + if (gss->current_procedure->sbind) { + create_nsvc_for_new_sbind(gss, gss->current_procedure->sbind); + gprs_ns2_start_alive_all_nsvcs(nse); + } break; case SNS_CHANGE_WEIGHT: switch (gss->family) { @@ -1630,6 +1665,16 @@ OSMO_ASSERT(0); } break; + case SNS_DEL: + switch (gss->family) { + case AF_INET: + remove_ip4_elem(gss, &gss->local, &gss->current_procedure->ip4); + break; + case AF_INET6: + remove_ip6_elem(gss, &gss->local, &gss->current_procedure->ip6); + break; + } + break; default: break; } @@ -1851,6 +1896,8 @@ switch (procedure_type) { case SNS_ADD: break; + case SNS_DEL: + break; case SNS_CHANGE_WEIGHT: llist_for_each_entry(procedure, &gss->procedures, list) { if (procedure->sbind == sbind && procedure->procedure == procedure_type && @@ -1881,8 +1928,16 @@ if (!procedure) return; + switch (procedure_type) { + case SNS_ADD: + case SNS_CHANGE_WEIGHT: + procedure->sbind = sbind; + break; + default: + break; + } + llist_add_tail(&procedure->list, &gss->procedures); - procedure->sbind = sbind; procedure->procedure = procedure_type; procedure->sig_weight = sbind->bind->sns_sig_weight; procedure->data_weight = sbind->bind->sns_data_weight; @@ -1895,7 +1950,6 @@ procedure->ip4.data_weight = sbind->bind->sns_data_weight; break; case AF_INET6: - memcpy(&procedure->ip6.ip_addr, &saddr->u.sin6.sin6_addr, sizeof(struct in6_addr)); procedure->ip6.udp_port = saddr->u.sin.sin_port; procedure->ip6.sig_weight = sbind->bind->sns_sig_weight; @@ -1950,6 +2004,7 @@ struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct ns2_sns_bind *sbind; struct gprs_ns2_vc *nsvc, *nsvc2; + struct ns2_sns_procedure *procedure; switch (event) { case GPRS_SNS_EV_REQ_ADD_BIND: @@ -2022,25 +2077,39 @@ case GPRS_SNS_ST_UNCONFIGURED: break; case GPRS_SNS_ST_BSS_SIZE: - /* TODO: remove the ip4 element from the list */ llist_for_each_entry_safe(nsvc, nsvc2, &nse->nsvc, list) { if (nsvc->bind == sbind->bind) { gprs_ns2_free_nsvc(nsvc); } } + osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); break; case GPRS_SNS_ST_BSS_CONFIG_BSS: case GPRS_SNS_ST_BSS_CONFIG_SGSN: case GPRS_SNS_ST_CONFIGURED: - /* TODO: do an delete SNS-IP procedure */ - /* TODO: remove the ip4 element to the list */ + case GPRS_SNS_ST_LOCAL_PROCEDURE: + remove_bind_elem(gss, &gss->local_procedure, sbind); + if (ip46_weight_sum(&gss->local_procedure, true) == 0 || + ip46_weight_sum(&gss->local_procedure, false) == 0) { + LOGPFSML(fi, LOGL_ERROR, "NSE %d: weight become invalid because of removing bind %s. Resetting the configuration\n", + nse->nsei, sbind->bind->name); + osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); + break; + } llist_for_each_entry_safe(nsvc, nsvc2, &nse->nsvc, list) { if (nsvc->bind == sbind->bind) { gprs_ns2_free_nsvc(nsvc); } } + /* ensure other procedures doesn't use the sbind */ + llist_for_each_entry(procedure, &gss->procedures, list) { + if (procedure->sbind == sbind) + procedure->sbind = NULL; + } + ns2_add_procedure(gss, sbind, SNS_DEL); break; } + /* if this is the last bind, the free_nsvc() will trigger a reselection */ talloc_free(sbind); break; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I53cd54dfd262c70c425c3f13dad3b29526daa523 Gerrit-Change-Number: 24591 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Sun Jun 6 21:39:06 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 21:39:06 +0000 Subject: Build failure of network:osmocom:latest/libosmo-sccp in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <60bd4080ed99e_55042b087e8705f83716615@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libosmo-sccp/Debian_Unstable/x86_64 Package network:osmocom:latest/libosmo-sccp failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest libosmo-sccp Last lines of build log: /var/cache/obs/worker/root_1/.pkgs/libosmocore-dev.deb: Input/output error (worker was cloud115:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Jun 6 21:44:03 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 6 Jun 2021 21:44:03 +0000 Subject: Change in osmo-bts[master]: [VAMOS] trx_sched_init_ts(): assign names to per-timeslot counters References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24592 ) Change subject: [VAMOS] trx_sched_init_ts(): assign names to per-timeslot counters ...................................................................... [VAMOS] trx_sched_init_ts(): assign names to per-timeslot counters Thanks to [1], it's now possible to associate a human-readable name with a rate counter group. Before this API, we had to use weird index values for each timeslot, and with introduction of the shadow timeslots the situation got even worse. In change [2] I introduced rate_ctr_group_set_name_fmt() to allow passing a format string - use it in this patch. Change-Id: Ie872ab37661fa5d44f219f59c7daaa1033113289 Depends: [1] I0dc510783dd9ae8436dae8005a7b3330e80d36f3 Depends: [2] I6e813476cfb6a0ad275c4a51e9f065eeca8cb406 --- M src/common/scheduler.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/92/24592/1 diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 3ab94a2..a946bbf 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -622,6 +622,10 @@ l1ts->ctrs = rate_ctr_group_alloc(ts->trx, &l1sched_ts_ctrg_desc, rate_ctr_idx); + rate_ctr_group_set_name_fmt(l1ts->ctrs, "bts%u-trx%u-ts%u%s", + ts->trx->bts->nr, ts->trx->nr, ts->nr, + ts->vamos.is_shadow ? "-shadow" : ""); + INIT_LLIST_HEAD(&l1ts->dl_prims); for (i = 0; i < ARRAY_SIZE(l1ts->chan_state); i++) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24592 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie872ab37661fa5d44f219f59c7daaa1033113289 Gerrit-Change-Number: 24592 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Sun Jun 6 21:51:52 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 06 Jun 2021 21:51:52 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <60bd438bf3b3c_55042b087e8705f837227c7@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: [ 479s] /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 isdnsync isdnsync.o [ 479s] 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 isdnsync isdnsync.o -pthread [ 479s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -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 -c -o meas_json-meas_json.o `test -f 'meas_json.c' || echo './'`meas_json.c [ 479s] /bin/bash ../../libtool --tag=CC --mode=link gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 480s] libtool: link: gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 480s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -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 meas_vis-meas_vis.o `test -f 'meas_vis.c' || echo './'`meas_vis.c [ 480s] meas_vis.c: In function 'write_uni': [ 480s] meas_vis.c:196:16: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? [ 480s] 196 | pwr = ms->mr.bs_power; [ 480s] | ^~~~~~~~ [ 480s] | bs_power_db [ 480s] make[4]: *** [Makefile:736: meas_vis-meas_vis.o] Error 1 [ 480s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 480s] make[3]: *** [Makefile:403: all-recursive] Error 1 [ 480s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 480s] make[2]: *** [Makefile:455: all-recursive] Error 1 [ 480s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 480s] make[1]: *** [Makefile:387: all] Error 2 [ 480s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 480s] dh_auto_build: error: make -j1 returned exit code 2 [ 480s] make: *** [debian/rules:45: build] Error 25 [ 480s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 480s] ### VM INTERACTION START ### [ 481s] Powering off. [ 481s] [ 461.256093] reboot: Power down [ 481s] ### VM INTERACTION END ### [ 481s] [ 481s] lamb28 failed "build osmo-bsc_1.7.0.108.4d5604.202106060026.dsc" at Sun Jun 6 21:51:42 UTC 2021. [ 481s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Jun 6 23:12:59 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 23:12:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Tests: add testcases for incoming SNS_ADD/DEL procedures 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/osmo-ttcn3-hacks/+/24402 to look at the new patch set (#4). Change subject: NS_Tests: add testcases for incoming SNS_ADD/DEL procedures ...................................................................... NS_Tests: add testcases for incoming SNS_ADD/DEL procedures Allow to test add and remove a bind via vty. Related: OS#5036 Change-Id: I98c04c083521ab38b58e8df9f1aee89445ab536d --- M ns/NS_Tests.sns.cfg M ns/NS_Tests.ttcn M ns/osmo-ns.sns.cfg 3 files changed, 69 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/02/24402/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I98c04c083521ab38b58e8df9f1aee89445ab536d Gerrit-Change-Number: 24402 Gerrit-PatchSet: 4 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 Sun Jun 6 23:12:59 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 23:12:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS: f_incoming_sns_chg_weight() allow to receive/send the chg_wei... 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/+/24578 to look at the new patch set (#2). Change subject: RAW_NS: f_incoming_sns_chg_weight() allow to receive/send the chg_weight over a different ...................................................................... RAW_NS: f_incoming_sns_chg_weight() allow to receive/send the chg_weight over a different The SGSN/PCU will use a different NSVC as the NSVC which will be changed weight'ed. Related: OS#5036 Change-Id: I5766afaa74db30d94318312ab775e7933b9df783 --- M library/RAW_NS.ttcnpp 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/78/24578/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24578 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5766afaa74db30d94318312ab775e7933b9df783 Gerrit-Change-Number: 24578 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 Sun Jun 6 23:12:59 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 23:12:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Tests: reset the weights of all udp binds 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/+/24579 to look at the new patch set (#2). Change subject: NS_Tests: reset the weights of all udp binds ...................................................................... NS_Tests: reset the weights of all udp binds Some test cases change the weight of the binds. Ensure all test cases starts with the same configuration. Related: OS#5036 Change-Id: Iae2ba130b2f7d29ec8b417f07d0bef87f74ce5a4 --- M ns/NS_Tests.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/79/24579/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24579 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iae2ba130b2f7d29ec8b417f07d0bef87f74ce5a4 Gerrit-Change-Number: 24579 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 Sun Jun 6 23:12:59 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 23:12:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Tests: add test case TC_sns_bss_add_change_del 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/+/24580 to look at the new patch set (#2). Change subject: NS_Tests: add test case TC_sns_bss_add_change_del ...................................................................... NS_Tests: add test case TC_sns_bss_add_change_del 1. do SNS configuration 2. add a bind 3. receive the SNS_ADD 4. before answering the SNS_ADD, change the weight via vty and remove the bind Related: OS#5036 Change-Id: Ibc565bba4c7e0a0b4dd28a48847dbdb998c8528d --- M ns/NS_Tests.ttcn 1 file changed, 46 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/80/24580/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibc565bba4c7e0a0b4dd28a48847dbdb998c8528d Gerrit-Change-Number: 24580 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 Sun Jun 6 23:13:01 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 23:13:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24593 ) Change subject: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface ...................................................................... RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface RAW_NS used previous a single TTCN3 port for a single UDP port (source/listen side). This has the limitation that only a single NSVC could be tested for a local UDP port. However SNS tests require multiple NSVCs over a single UDP port. NS_Provider_IPL4 already supports multiple NSVCs for the NS_Emulation. Extend the support in NS_Provider_IPL4 to also allow RAW_NS to use multiple NSVCs. Related: OS#5036 Change-Id: I3fe097a879918e3446dba55767db1a5b5ed5212a --- M library/NS_Provider_IPL4.ttcn M library/RAW_NS.ttcnpp 2 files changed, 100 insertions(+), 26 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/93/24593/1 diff --git a/library/NS_Provider_IPL4.ttcn b/library/NS_Provider_IPL4.ttcn index 774c08a..09e7dc0 100644 --- a/library/NS_Provider_IPL4.ttcn +++ b/library/NS_Provider_IPL4.ttcn @@ -27,6 +27,7 @@ import from Misc_Helpers all; import from NS_Emulation all; +import from RAW_NS all; import from NS_Types all; import from IPL4asp_Types all; @@ -42,6 +43,7 @@ /* per-NSVC ports and state */ port NS_PROVIDER_PT NSVC[NUM_MAX_NSVC]; + var boolean g_nsvc_bound[NUM_MAX_NSVC]; var PerNsvcState g_nsvc[NUM_MAX_NSVC]; /* management port via which */ @@ -54,31 +56,35 @@ NSVC_CT vc_nsvc }; -signature NSPIP_add_nsvc(charstring remote_ip, PortNumber remote_port, NSVC_CT vc_nsvc); -signature NSPIP_del_nsvc(charstring remote_ip, PortNumber remote_port); +signature NSPIP_add_nsvc(charstring remote_ip, PortNumber remote_port, NSVC_CT vc_nsvc) return integer; +signature NSPIP_del_nsvc(charstring remote_ip, PortNumber remote_port) return integer; type port NSPIP_PROC_PT procedure { inout NSPIP_add_nsvc, NSPIP_del_nsvc; } with { extension "internal" }; /* add a new NSVC to the provider */ -private function f_nsvc_add(PerNsvcState nsvc) runs on NS_Provider_IPL4_CT +private function f_nsvc_add(PerNsvcState nsvc) runs on NS_Provider_IPL4_CT return integer { for (var integer i := 0; i < sizeof(g_nsvc); i := i+1) { - if (g_nsvc[i].vc_nsvc == null) { + if (g_nsvc_bound[i] == false) { g_nsvc[i] := nsvc; - connect(self:NSVC[i], nsvc.vc_nsvc:NSCP); - NSVC[i].send(NS_Provider_Evt:{link_status := NS_PROV_LINK_STATUS_UP}); - return; + g_nsvc_bound[i] := true; + if (isbound(nsvc.vc_nsvc) and nsvc.vc_nsvc != null) { + connect(self:NSVC[i], nsvc.vc_nsvc:NSCP); + NSVC[i].send(NS_Provider_Evt:{link_status := NS_PROV_LINK_STATUS_UP}); + } + return i; } } Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("Overflow of g_nsvc array")); + return -1; } -private function f_nsvc_del(PerNsvcState nsvc) runs on NS_Provider_IPL4_CT +private function f_nsvc_del(PerNsvcState nsvc) runs on NS_Provider_IPL4_CT return integer { for (var integer i := 0; i < sizeof(g_nsvc); i := i+1) { - if (g_nsvc[i].vc_nsvc != null and + if (g_nsvc_bound[i] and g_nsvc[i].remote_ip == nsvc.remote_ip and g_nsvc[i].remote_port == nsvc.remote_port) { g_nsvc[i] := { @@ -86,19 +92,23 @@ remote_port := -, vc_nsvc := null } + g_nsvc_bound[i] := false; NSVC[i].send(NS_Provider_Evt:{link_status := NS_PROV_LINK_STATUS_DOWN}); - disconnect(self:NSVC[i], nsvc.vc_nsvc:NSCP); - return; + if (isbound(g_nsvc[i].vc_nsvc) and g_nsvc[i].vc_nsvc != null) { + disconnect(self:NSVC[i], nsvc.vc_nsvc:NSCP); + } + return i; } } Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("attempt to delete unknown NSVC")); + return -1; } private function f_get_nsvc_idx(charstring remote_ip, PortNumber remote_port) runs on NS_Provider_IPL4_CT return integer { for (var integer i := 0; i < sizeof(g_nsvc); i := i+1) { - if (g_nsvc[i].vc_nsvc != null and + if (g_nsvc_bound[i] and g_nsvc[i].remote_ip == remote_ip and g_nsvc[i].remote_port == remote_port) { return i; } @@ -109,6 +119,7 @@ function main(NSVCConfiguration config, NSConfiguration nsconfig, charstring id) runs on NS_Provider_IPL4_CT { for (var integer i := 0; i < sizeof(g_nsvc); i := i+1) { g_nsvc[i].vc_nsvc := null; + g_nsvc_bound[i] := false; } /* in order to support any number of NSVC on this endpoiint, we only bind the socket @@ -182,12 +193,14 @@ /* procedure port to add/remove NSVCs from this provider */ [] PROC.getcall(NSPIP_add_nsvc:{?,?,?}) -> param (remote_ip, remote_port, vc_nsvc) sender vc_caller { - f_nsvc_add(PerNsvcState:{remote_ip, remote_port, vc_nsvc}); - PROC.reply(NSPIP_add_nsvc:{remote_ip, remote_port, vc_nsvc}) to vc_caller; + var integer idx; + idx := f_nsvc_add(PerNsvcState:{remote_ip, remote_port, vc_nsvc}); + PROC.reply(NSPIP_add_nsvc:{remote_ip, remote_port, vc_nsvc} value idx) to vc_caller; } [] PROC.getcall(NSPIP_del_nsvc:{?,?}) -> param (remote_ip, remote_port) sender vc_caller { - f_nsvc_del(PerNsvcState:{remote_ip, remote_port}); - PROC.reply(NSPIP_del_nsvc:{remote_ip, remote_port}) to vc_caller; + var integer idx; + idx := f_nsvc_del(PerNsvcState:{remote_ip, remote_port}); + PROC.reply(NSPIP_del_nsvc:{remote_ip, remote_port} value idx) to vc_caller; } } /* alt */ @@ -197,9 +210,20 @@ function f_nspip_add_nsvc(NS_Provider_IPL4_CT vc_ipep, charstring remote_ip, PortNumber remote_port, NSVC_CT vc_nsvc) runs on NS_CT { + var integer idx := -1; NSPIP_PROC.call(NSPIP_add_nsvc:{remote_ip, remote_port, vc_nsvc}) to vc_ipep { - [] NSPIP_PROC.getreply(NSPIP_add_nsvc:{?,?,?}); + [] NSPIP_PROC.getreply(NSPIP_add_nsvc:{?,?,?}) -> value idx; } } +function f_nspip_add_nsvc2(NS_Provider_IPL4_CT vc_ipep, charstring remote_ip, PortNumber remote_port) +runs on RAW_NS_CT return integer { + var integer idx := -1; + NSPIP_PROC.call(NSPIP_add_nsvc:{remote_ip, remote_port, null}) to vc_ipep { + [] NSPIP_PROC.getreply(NSPIP_add_nsvc:{?,?,?}) -> value idx; + } + + return idx; +} + } /* module */ diff --git a/library/RAW_NS.ttcnpp b/library/RAW_NS.ttcnpp index 42efb7d..6930a72 100644 --- a/library/RAW_NS.ttcnpp +++ b/library/RAW_NS.ttcnpp @@ -25,16 +25,24 @@ import from NS_Provider_FR all; #endif +type record PerIPProvider { + NS_Provider_IPL4_CT vc_NSP_IP, + charstring local_ip, + PortNumber local_udp_port +} + public type component RAW_NS_CT { /* UDP port towards the bottom (IUT) */ port NS_PROVIDER_PT NSCP[4]; - var NS_Provider_IPL4_CT vc_NSP_IP[4]; + var PerIPProvider ip_prov[4]; + port NSPIP_PROC_PT NSPIP_PROC; #ifdef NS_EMULATION_FR var NS_Provider_FR_CT vc_NSP_FR[4]; #endif var NSConfiguration g_nsconfig; timer g_T_guard; var boolean g_handle_rx_alive := false; + var boolean rawns_initialized := false; } public altstep as_Tguard() runs on RAW_NS_CT { @@ -44,6 +52,21 @@ } } +function f_find_ip_provider(NSVCConfigurationIP nsip_config) +runs on RAW_NS_CT return integer { + for (var integer idx := 0; idx < sizeof(ip_prov); idx := idx+1) { + if (ip_prov[idx].vc_NSP_IP == null) { + continue; + } + + if (ip_prov[idx].local_ip == nsip_config.local_ip and + ip_prov[idx].local_udp_port == nsip_config.local_udp_port) { + return idx; + } + } + return -1; +} + function f_init_ns_codec(NSConfiguration ns_config, integer idx := 0, float guard_secs := 60.0, charstring id := testcasename()) runs on RAW_NS_CT { var Result res; @@ -52,31 +75,58 @@ activate(as_Tguard()); } + if (not rawns_initialized) { + for (var integer i := 0; i < sizeof(ip_prov); i := i+1) { + ip_prov[i].vc_NSP_IP := null; + } + rawns_initialized := true; + } + if (not isbound(g_nsconfig)) { g_nsconfig := ns_config; } if (ischosen(ns_config.nsvc[idx].provider.ip)) { - /* Connect the UDP socket */ - vc_NSP_IP[idx] := NS_Provider_IPL4_CT.create(id & "-provIP"); - connect(self:NSCP[idx], vc_NSP_IP[idx]:NSE); - vc_NSP_IP[idx].start(NS_Provider_IPL4.main(ns_config.nsvc[idx], ns_config, id)); + var integer prov_idx := f_find_ip_provider(ns_config.nsvc[idx].provider.ip); + /* Connect the UDP socket + * check if NS_Provider_IPL4_CT is already created + * add list of vc_NSP_IP with entries of source ip/port + * add a NSVC to it */ + if (prov_idx == -1) { + for (prov_idx := 0; prov_idx < sizeof(ip_prov); prov_idx := prov_idx+1) { + if (ip_prov[prov_idx].vc_NSP_IP == null) { + break; + } + } + if (prov_idx > sizeof(ip_prov)) { + /* TODO: error !! */ + } + ip_prov[prov_idx].local_ip := ns_config.nsvc[idx].provider.ip.local_ip; + ip_prov[prov_idx].local_udp_port := ns_config.nsvc[idx].provider.ip.local_udp_port; + ip_prov[prov_idx].vc_NSP_IP := NS_Provider_IPL4_CT.create(id & "-provIP" & int2str(prov_idx)); + connect(self:NSPIP_PROC, ip_prov[prov_idx].vc_NSP_IP:PROC); + ip_prov[prov_idx].vc_NSP_IP.start(NS_Provider_IPL4.main(ns_config.nsvc[idx], ns_config, id)); + } + var integer port_idx := f_nspip_add_nsvc2(ip_prov[prov_idx].vc_NSP_IP, ns_config.nsvc[idx].provider.ip.remote_ip, ns_config.nsvc[idx].provider.ip.remote_udp_port); + connect(self:NSCP[idx], ip_prov[prov_idx].vc_NSP_IP:NSVC[port_idx]); + /* the NS_PROV_LINK_STATUS_UP is not sent by the NS_Provider_IPL4 because we connect the port manual */ #ifdef NS_EMULATION_FR } else if (ischosen(ns_config.nsvc[idx].provider.fr)) { vc_NSP_FR[idx] := NS_Provider_FR_CT.create(id & "-provFR"); connect(self:NSCP[idx], vc_NSP_FR[idx]:NSE); vc_NSP_FR[idx].start(NS_Provider_FR.main(ns_config.nsvc[idx], ns_config, id)); + NSCP[idx].receive(NS_Provider_Evt:{link_status:=NS_PROV_LINK_STATUS_UP}); #endif } else { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Unsupported NS provider"); } - - NSCP[idx].receive(NS_Provider_Evt:{link_status:=NS_PROV_LINK_STATUS_UP}); } function f_clean_ns_codec() runs on RAW_NS_CT { - for (var integer i := 0; i < lengthof(vc_NSP_IP); i := i + 1) { - vc_NSP_IP[i].stop; + for (var integer i := 0; i < lengthof(ip_prov); i := i + 1) { + if (ip_prov[i].vc_NSP_IP != null) { + ip_prov[i].vc_NSP_IP.stop; + } } #ifdef NS_EMULATION_FR for (var integer i := 0; i < lengthof(vc_NSP_FR); i := i + 1) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24593 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3fe097a879918e3446dba55767db1a5b5ed5212a Gerrit-Change-Number: 24593 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 Sun Jun 6 23:13:25 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 23:13:25 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement local update weight procedure In-Reply-To: References: Message-ID: lynxis lazus has removed a vote from this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23187 ) Change subject: gprs_ns2_sns: implement local update weight procedure ...................................................................... Removed Code-Review-2 by lynxis lazus -- 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: 7 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 6 23:13:29 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 23:13:29 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement local update weight procedure In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23187 ) Change subject: gprs_ns2_sns: implement local update weight procedure ...................................................................... Patch Set 7: This change is ready for review. -- 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: 7 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 06 Jun 2021 23:13:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 6 23:13:32 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 23:13:32 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement outbound ADD_SNS procedures In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24123 ) Change subject: gprs_ns2_sns: implement outbound ADD_SNS procedures ...................................................................... Patch Set 4: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I71c33200bd1f0307ceb943ee958db5ebe3623d36 Gerrit-Change-Number: 24123 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Sun, 06 Jun 2021 23:13:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 6 23:18:16 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 23:18:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Tests: add test case TC_sns_bss_add_change_del 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/+/24580 to look at the new patch set (#3). Change subject: NS_Tests: add test case TC_sns_bss_add_change_del ...................................................................... NS_Tests: add test case TC_sns_bss_add_change_del 1. do SNS configuration 2. add a bind 3. receive the SNS_ADD 4. before answering the SNS_ADD, change the weight via vty and remove the bind Related: OS#5036 Change-Id: Ibc565bba4c7e0a0b4dd28a48847dbdb998c8528d --- M ns/NS_Tests.ttcn 1 file changed, 45 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/80/24580/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibc565bba4c7e0a0b4dd28a48847dbdb998c8528d Gerrit-Change-Number: 24580 Gerrit-PatchSet: 3 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 Sun Jun 6 23:20:29 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 23:20:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Tests: add test case TC_sns_bss_add_change_del 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/+/24580 to look at the new patch set (#4). Change subject: NS_Tests: add test case TC_sns_bss_add_change_del ...................................................................... NS_Tests: add test case TC_sns_bss_add_change_del 1. do SNS configuration 2. add a bind 3. receive the SNS_ADD 4. before answering the SNS_ADD, change the weight via vty and remove the bind Related: OS#5036 Change-Id: Ibc565bba4c7e0a0b4dd28a48847dbdb998c8528d --- M ns/NS_Tests.ttcn 1 file changed, 47 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/80/24580/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibc565bba4c7e0a0b4dd28a48847dbdb998c8528d Gerrit-Change-Number: 24580 Gerrit-PatchSet: 4 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 Sun Jun 6 23:23:10 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 23:23:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface In-Reply-To: References: Message-ID: lynxis lazus has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24593 ) Change subject: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24593 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3fe097a879918e3446dba55767db1a5b5ed5212a Gerrit-Change-Number: 24593 Gerrit-PatchSet: 3 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 Sun Jun 6 23:23:15 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 23:23:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 to look at the new patch set (#4). Change subject: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface ...................................................................... RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface RAW_NS used previous a single TTCN3 port for a single UDP port (source/listen side). This has the limitation that only a single NSVC could be tested for a local UDP port. However SNS tests require multiple NSVCs over a single UDP port. NS_Provider_IPL4 already supports multiple NSVCs for the NS_Emulation. Extend the support in NS_Provider_IPL4 to also allow RAW_NS to use multiple NSVCs. Related: OS#5036 Change-Id: Iafd9310e04066958914201da0cbdcd563bd5c976 --- M fr-net/gen_links.sh M fr/gen_links.sh M gbproxy/gen_links.sh M library/NS_Provider_IPL4.ttcn M library/RAW_NS.ttcnpp M ns/gen_links.sh M pcu/gen_links.sh M sgsn/gen_links.sh 8 files changed, 106 insertions(+), 32 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/01/24401/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iafd9310e04066958914201da0cbdcd563bd5c976 Gerrit-Change-Number: 24401 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 6 23:24:18 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 23:24:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 ) Change subject: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface ...................................................................... Patch Set 4: Here is another solution which is just skipping the connect(). -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iafd9310e04066958914201da0cbdcd563bd5c976 Gerrit-Change-Number: 24401 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 06 Jun 2021 23:24:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 6 23:35:21 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 23:35:21 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement local update weight procedure In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23187 ) Change subject: gprs_ns2_sns: implement local update weight procedure ...................................................................... Patch Set 7: Code-Review-1 TODO: check SGSN side -- 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: 7 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 06 Jun 2021 23:35: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 Jun 6 23:35:25 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 23:35:25 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement outbound ADD_SNS procedures In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24123 ) Change subject: gprs_ns2_sns: implement outbound ADD_SNS procedures ...................................................................... Patch Set 4: Code-Review-1 TODO: check SGSN side -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I71c33200bd1f0307ceb943ee958db5ebe3623d36 Gerrit-Change-Number: 24123 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Sun, 06 Jun 2021 23:35:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 6 23:35:32 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 23:35:32 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement outbound DEL SNS procedures In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24591 ) Change subject: gprs_ns2_sns: implement outbound DEL SNS procedures ...................................................................... Patch Set 1: Code-Review-1 TODO: check SGSN side -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I53cd54dfd262c70c425c3f13dad3b29526daa523 Gerrit-Change-Number: 24591 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Sun, 06 Jun 2021 23:35: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 Jun 6 23:42:40 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 23:42:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement local change weight procedure 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/+/23187 to look at the new patch set (#8). Change subject: gprs_ns2_sns: implement local change weight procedure ...................................................................... gprs_ns2_sns: implement local change weight procedure When changing the bind ip-sns weight, initiate a SNS CHANGE WEIGHT procedure to inform the other side. Related: OS#5036 Change-Id: Icec4dabb46bc198f68f91bfe09ba279fbe68d454 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_sns.c M src/gb/gprs_ns2_vty.c M tests/gb/gprs_ns2_vty.vty 5 files changed, 464 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/87/23187/8 -- 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: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus 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 Sun Jun 6 23:42:40 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 23:42:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement outbound SNS ADD procedures 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/+/24123 to look at the new patch set (#5). Change subject: gprs_ns2_sns: implement outbound SNS ADD procedures ...................................................................... gprs_ns2_sns: implement outbound SNS ADD procedures When adding a bind, the remote side needs to be informed via the SNS ADD procedure. Related: OS#5036 Change-Id: I71c33200bd1f0307ceb943ee958db5ebe3623d36 --- M src/gb/gprs_ns2_sns.c 1 file changed, 190 insertions(+), 36 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/23/24123/5 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I71c33200bd1f0307ceb943ee958db5ebe3623d36 Gerrit-Change-Number: 24123 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 6 23:42:40 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 6 Jun 2021 23:42:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement outbound SNS DEL procedures 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/+/24591 to look at the new patch set (#2). Change subject: gprs_ns2_sns: implement outbound SNS DEL procedures ...................................................................... gprs_ns2_sns: implement outbound SNS DEL procedures When removing a bind the remote side needs to be informed via the SNS DELETE procedure. Related: OS#5036 Change-Id: I53cd54dfd262c70c425c3f13dad3b29526daa523 --- M src/gb/gprs_ns2_sns.c 1 file changed, 76 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/91/24591/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I53cd54dfd262c70c425c3f13dad3b29526daa523 Gerrit-Change-Number: 24591 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 00:07:01 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Jun 2021 00:07:01 +0000 Subject: Change in osmo-bts[master]: l1sap: fix TDMA frame number wrap in l1sap_info_time_ind() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24594 ) Change subject: l1sap: fix TDMA frame number wrap in l1sap_info_time_ind() ...................................................................... l1sap: fix TDMA frame number wrap in l1sap_info_time_ind() Using the normal arithmetic for TDMA frame numbers may result in getting wrong values. Consider the following situation: 'info_time_ind->fn' is 0 (beginning of period) 'bts->gsm_time.fn' is 2715647 (end of period) With these input values the following expression: info_time_ind->fn - bts->gsm_time.fn will be equal to: 0 - 2715647 or -2715647 In this case osmo-bts does not log an error, because: if (-2715647 > 0) // is false As a consequence, we do not increment number of RACH slots that have passed by since the last time indication: for (i = 0; i < -2715647; i++) // is false This is why we introduced GSM_TDMA_FN_{SUB,SUM,DIFF,INC} API. Change-Id: I6168dd75daea50bbe2e19338e637185ac9ac87ef --- M src/common/l1sap.c 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/94/24594/1 diff --git a/src/common/l1sap.c b/src/common/l1sap.c index b17bf01..cd2af57 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -592,17 +592,17 @@ struct osmo_phsap_prim *l1sap, struct info_time_ind_param *info_time_ind) { - int frames_expired; - int i; + unsigned int frames_expired; + unsigned int i; DEBUGPFN(DL1P, info_time_ind->fn, "Rx MPH_INFO time ind\n"); /* Calculate and check frame difference */ - frames_expired = info_time_ind->fn - bts->gsm_time.fn; + frames_expired = GSM_TDMA_FN_SUB(info_time_ind->fn, bts->gsm_time.fn); if (frames_expired > 1) { if (bts->gsm_time.fn) LOGPFN(DL1P, LOGL_ERROR, info_time_ind->fn, - "Invalid condition detected: Frame difference is %"PRIu32"-%"PRIu32"=%d > 1!\n", + "Invalid condition detected: Frame difference is %"PRIu32"-%"PRIu32"=%u > 1!\n", info_time_ind->fn, bts->gsm_time.fn, frames_expired); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24594 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6168dd75daea50bbe2e19338e637185ac9ac87ef Gerrit-Change-Number: 24594 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Mon Jun 7 00:30:16 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:30:16 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <60bd68af74e18_55042b087e8705f83777271@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Tumbleweed/i586 Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: /var/cache/obs/worker/root_2/.pkgs/zlib-devel.rpm: Input/output error (worker was cloud115:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 00:31:24 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:31:24 +0000 Subject: Build failure of network:osmocom:nightly/libsmpp34 in CentOS_8/x86_64 In-Reply-To: References: Message-ID: <60bd68ee69ce2_55042b087e8705f8377838d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libsmpp34/CentOS_8/x86_64 Package network:osmocom:nightly/libsmpp34 failed to build in CentOS_8/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libsmpp34 Last lines of build log: /var/cache/obs/worker/root_2/.pkgs/gcc.rpm: Input/output error (worker was cloud115:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 00:33:23 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:33:23 +0000 Subject: Build failure of network:osmocom:nightly/osmo-e1d in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <60bd696756d0a_55042b087e8705f837796a2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-e1d/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/osmo-e1d failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-e1d Last lines of build log: /var/cache/obs/worker/root_3/.pkgs/libosmocore-dev.deb: Input/output error (worker was cloud115:3) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 00:33:57 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:33:57 +0000 Subject: Build failure of network:osmocom:nightly/osmo-cbc in openSUSE_Leap_15.2/x86_64 In-Reply-To: References: Message-ID: <60bd698148f24_55042b087e8705f837797a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-cbc/openSUSE_Leap_15.2/x86_64 Package network:osmocom:nightly/osmo-cbc failed to build in openSUSE_Leap_15.2/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-cbc Last lines of build log: /var/cache/obs/worker/root_3/.pkgs/libosmocore-devel.rpm: Input/output error (worker was cloud115:3) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 00:34:14 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:34:14 +0000 Subject: Build failure of network:osmocom:nightly/osmo-smlc in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <60bd699fce715_55042b087e8705f8377980@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-smlc/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/osmo-smlc failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-smlc Last lines of build log: /var/cache/obs/worker/root_3/.pkgs/libosmonetif-devel.rpm: Input/output error (worker was cloud115:3) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 00:34:14 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:34:14 +0000 Subject: Build failure of network:osmocom:nightly/osmo-cbc in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <60bd69a05cbed_55042b087e8705f8377992d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-cbc/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/osmo-cbc failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-cbc Last lines of build log: /var/cache/obs/worker/root_3/.pkgs/libosmocore-dev.deb: Input/output error (worker was cloud115:3) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 00:34:31 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:34:31 +0000 Subject: Build failure of network:osmocom:nightly/osmo-ggsn in CentOS_8/x86_64 In-Reply-To: References: Message-ID: <60bd69a2219d_55042b087e8705f83780336@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-ggsn/CentOS_8/x86_64 Package network:osmocom:nightly/osmo-ggsn failed to build in CentOS_8/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-ggsn Last lines of build log: /var/cache/obs/worker/root_1/.pkgs/libgtpnl-devel.rpm: Input/output error (worker was cloud115:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 00:35:22 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:35:22 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <60bd69dbb77c3_55042b087e8705f837804c4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/libosmo-abis failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: /var/cache/obs/worker/root_3/.pkgs/libosmocore-dev.deb: Input/output error (worker was cloud115:3) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 00:35:39 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:35:39 +0000 Subject: Build failure of network:osmocom:nightly/osmo-ggsn in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <60bd69fa4fdc5_55042b087e8705f83780535@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-ggsn/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/osmo-ggsn failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-ggsn Last lines of build log: /var/cache/obs/worker/root_1/.pkgs/libosmocore-dev.deb: Input/output error (worker was cloud115:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 00:37:21 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:37:21 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_8.0/i586 In-Reply-To: References: Message-ID: <60bd6a549a467_55042b087e8705f83781620@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_8.0/i586 Package network:osmocom:nightly/osmo-uecups failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: /var/cache/obs/worker/root_3/.pkgs/libosmocore-dev.deb: Input/output error (worker was cloud115:3) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 00:37:55 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:37:55 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <60bd6a7450e0c_55042b087e8705f8378212d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: /var/cache/obs/worker/root_1/.pkgs/osmo-gsm-manuals-dev.deb: Input/output error (worker was cloud115:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 00:44:27 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:44:27 +0000 Subject: Build failure of network:osmocom:nightly/osmo-iuh in Debian_10/x86_64 In-Reply-To: References: Message-ID: <60bd6bfbcb9c7_55042b087e8705f837850d1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-iuh/Debian_10/x86_64 Package network:osmocom:nightly/osmo-iuh failed to build in Debian_10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-iuh Last lines of build log: /var/cache/obs/worker/root_3/.pkgs/libasn1c-dev.deb: Input/output error (worker was cloud115:3) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 00:44:27 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:44:27 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_9.0/i586 In-Reply-To: References: Message-ID: <60bd6bfc3b3a1_55042b087e8705f837851d2@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: [ 255s] libtool: link: gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 255s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -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 meas_vis-meas_vis.o `test -f 'meas_vis.c' || echo './'`meas_vis.c [ 255s] meas_vis.c: In function 'write_uni': [ 255s] meas_vis.c:196:15: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? [ 255s] pwr = ms->mr.bs_power; [ 255s] ^ [ 255s] Makefile:723: recipe for target 'meas_vis-meas_vis.o' failed [ 255s] make[4]: *** [meas_vis-meas_vis.o] Error 1 [ 255s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 255s] Makefile:403: recipe for target 'all-recursive' failed [ 255s] make[3]: *** [all-recursive] Error 1 [ 255s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 255s] Makefile:453: recipe for target 'all-recursive' failed [ 255s] make[2]: *** [all-recursive] Error 1 [ 255s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 255s] Makefile:385: recipe for target 'all' failed [ 255s] make[1]: *** [all] Error 2 [ 255s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 255s] dh_auto_build: make -j1 returned exit code 2 [ 255s] debian/rules:45: recipe for target 'build' failed [ 255s] make: *** [build] Error 2 [ 255s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 255s] ### VM INTERACTION START ### [ 258s] [ 246.074566] sysrq: Power Off [ 258s] [ 246.082139] reboot: Power down [ 258s] ### VM INTERACTION END ### [ 258s] [ 258s] lamb51 failed "build osmo-bsc_1.7.0.108.4d5604.202106070026.dsc" at Mon Jun 7 00:44:21 UTC 2021. [ 258s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 00:44:43 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:44:43 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_8.0/i586 In-Reply-To: References: Message-ID: <60bd6c15d589f_55042b087e8705f8378524f@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: [ 206s] CCLD meas_json [ 206s] CC meas_vis-meas_vis.o [ 206s] meas_vis.c: In function 'write_uni': [ 206s] meas_vis.c:196:15: error: 'struct gsm_meas_rep' has no member named 'bs_power' [ 206s] pwr = ms->mr.bs_power; [ 206s] ^ [ 206s] Makefile:711: recipe for target 'meas_vis-meas_vis.o' failed [ 206s] make[4]: *** [meas_vis-meas_vis.o] Error 1 [ 206s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 206s] Makefile:391: recipe for target 'all-recursive' failed [ 206s] make[3]: *** [all-recursive] Error 1 [ 206s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 206s] Makefile:441: recipe for target 'all-recursive' failed [ 206s] make[2]: *** [all-recursive] Error 1 [ 206s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 206s] Makefile:372: recipe for target 'all' failed [ 206s] make[1]: *** [all] Error 2 [ 206s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 206s] dh_auto_build: make -j1 returned exit code 2 [ 206s] debian/rules:45: recipe for target 'build' failed [ 206s] make: *** [build] Error 2 [ 206s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 206s] ### VM INTERACTION START ### [ 207s] Powering off. [ 207s] [ 197.397707] reboot: Power down [ 208s] ### VM INTERACTION END ### [ 208s] [ 208s] lamb07 failed "build osmo-bsc_1.7.0.108.4d5604.202106070026.dsc" at Mon Jun 7 00:44:26 UTC 2021. [ 208s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 00:45:00 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:45:00 +0000 Subject: Build failure of network:osmocom:nightly/osmo-iuh in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <60bd6c16d735d_55042b087e8705f83785390@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-iuh/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-iuh failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-iuh Last lines of build log: /var/cache/obs/worker/root_3/.pkgs/libasn1c-dev.deb: Input/output error (worker was cloud115:3) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 00:45:00 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:45:00 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <60bd6c1710181_55042b087e8705f837854a7@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: [ 221s] libtool: link: gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 221s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -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 meas_vis-meas_vis.o `test -f 'meas_vis.c' || echo './'`meas_vis.c [ 221s] meas_vis.c: In function 'write_uni': [ 221s] meas_vis.c:196:15: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? [ 221s] pwr = ms->mr.bs_power; [ 221s] ^ [ 221s] Makefile:723: recipe for target 'meas_vis-meas_vis.o' failed [ 221s] make[4]: *** [meas_vis-meas_vis.o] Error 1 [ 221s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 221s] Makefile:403: recipe for target 'all-recursive' failed [ 221s] make[3]: *** [all-recursive] Error 1 [ 221s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 221s] Makefile:453: recipe for target 'all-recursive' failed [ 221s] make[2]: *** [all-recursive] Error 1 [ 221s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 221s] Makefile:385: recipe for target 'all' failed [ 221s] make[1]: *** [all] Error 2 [ 221s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 221s] dh_auto_build: make -j1 returned exit code 2 [ 221s] debian/rules:45: recipe for target 'build' failed [ 221s] make: *** [build] Error 2 [ 221s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 221s] ### VM INTERACTION START ### [ 224s] [ 212.476968] sysrq: Power Off [ 224s] [ 212.485190] reboot: Power down [ 224s] ### VM INTERACTION END ### [ 225s] [ 225s] lamb57 failed "build osmo-bsc_1.7.0.108.4d5604.202106070026.dsc" at Mon Jun 7 00:44:44 UTC 2021. [ 225s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 00:45:17 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:45:17 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in xUbuntu_21.04/x86_64 In-Reply-To: References: Message-ID: <60bd6c35d6c75_55042b087e8705f83785659@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: /var/cache/obs/worker/root_1/.pkgs/libosmocore-dev.deb: Input/output error (worker was cloud115:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 00:45:17 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:45:17 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <60bd6c36263c9_55042b087e8705f837857a6@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: /var/cache/obs/worker/root_3/.pkgs/libosmocore-dev.deb: Input/output error (worker was cloud115:3) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 00:45:34 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:45:34 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sgsn in Debian_8.0/i586 In-Reply-To: References: Message-ID: <60bd6c36a35da_55042b087e8705f83785842@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sgsn/Debian_8.0/i586 Package network:osmocom:nightly/osmo-sgsn failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sgsn Last lines of build log: /var/cache/obs/worker/root_1/.pkgs/libgtp-dev.deb: Input/output error (worker was cloud115:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 00:46:08 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:46:08 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <60bd6c6edfbdd_55042b087e8705f83786064@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: [ 114s] CCLD meas_json [ 115s] CC meas_vis-meas_vis.o [ 115s] meas_vis.c: In function 'write_uni': [ 115s] meas_vis.c:196:15: error: 'struct gsm_meas_rep' has no member named 'bs_power' [ 115s] pwr = ms->mr.bs_power; [ 115s] ^ [ 115s] Makefile:711: recipe for target 'meas_vis-meas_vis.o' failed [ 115s] make[4]: *** [meas_vis-meas_vis.o] Error 1 [ 115s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 115s] Makefile:391: recipe for target 'all-recursive' failed [ 115s] make[3]: *** [all-recursive] Error 1 [ 115s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 115s] Makefile:441: recipe for target 'all-recursive' failed [ 115s] make[2]: *** [all-recursive] Error 1 [ 115s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 115s] Makefile:372: recipe for target 'all' failed [ 115s] make[1]: *** [all] Error 2 [ 115s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 115s] dh_auto_build: make -j1 returned exit code 2 [ 115s] debian/rules:45: recipe for target 'build' failed [ 115s] make: *** [build] Error 2 [ 115s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 115s] ### VM INTERACTION START ### [ 116s] Powering off. [ 116s] [ 109.421450] reboot: Power down [ 116s] ### VM INTERACTION END ### [ 116s] [ 116s] build75 failed "build osmo-bsc_1.7.0.108.4d5604.202106070026.dsc" at Mon Jun 7 00:46:06 UTC 2021. [ 116s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 00:46:25 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:46:25 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <60bd6c6f30e20_55042b087e8705f83786128@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: [ 294s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -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 meas_vis-meas_vis.o `test -f 'meas_vis.c' || echo './'`meas_vis.c [ 294s] meas_vis.c: In function 'write_uni': [ 294s] meas_vis.c:196:16: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? [ 294s] pwr = ms->mr.bs_power; [ 294s] ^~~~~~~~ [ 294s] bs_power_db [ 294s] Makefile:723: recipe for target 'meas_vis-meas_vis.o' failed [ 294s] make[4]: *** [meas_vis-meas_vis.o] Error 1 [ 294s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 294s] Makefile:403: recipe for target 'all-recursive' failed [ 294s] make[3]: *** [all-recursive] Error 1 [ 294s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 294s] Makefile:453: recipe for target 'all-recursive' failed [ 294s] make[2]: *** [all-recursive] Error 1 [ 294s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 294s] Makefile:385: recipe for target 'all' failed [ 294s] make[1]: *** [all] Error 2 [ 294s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 294s] dh_auto_build: make -j1 returned exit code 2 [ 294s] debian/rules:45: recipe for target 'build' failed [ 294s] make: *** [build] Error 2 [ 294s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 294s] ### VM INTERACTION START ### [ 297s] [ 284.832556] sysrq: Power Off [ 297s] [ 284.839498] reboot: Power down [ 298s] ### VM INTERACTION END ### [ 298s] [ 298s] lamb23 failed "build osmo-bsc_1.7.0.108.4d5604.202106070026.dsc" at Mon Jun 7 00:46:08 UTC 2021. [ 298s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 00:48:07 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:48:07 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_10/i586 In-Reply-To: References: Message-ID: <60bd6ccaa4089_55042b087e8705f837877d3@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: [ 289s] /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 isdnsync isdnsync.o [ 289s] 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 isdnsync isdnsync.o -pthread [ 289s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -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 -c -o meas_json-meas_json.o `test -f 'meas_json.c' || echo './'`meas_json.c [ 290s] /bin/bash ../../libtool --tag=CC --mode=link gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 290s] libtool: link: gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 290s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -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 meas_vis-meas_vis.o `test -f 'meas_vis.c' || echo './'`meas_vis.c [ 290s] meas_vis.c: In function 'write_uni': [ 290s] meas_vis.c:196:16: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? [ 290s] pwr = ms->mr.bs_power; [ 290s] ^~~~~~~~ [ 290s] bs_power_db [ 290s] make[4]: *** [Makefile:736: meas_vis-meas_vis.o] Error 1 [ 290s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 290s] make[3]: *** [Makefile:403: all-recursive] Error 1 [ 290s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 290s] make[2]: *** [Makefile:453: all-recursive] Error 1 [ 290s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 290s] make[1]: *** [Makefile:385: all] Error 2 [ 290s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 290s] dh_auto_build: make -j1 returned exit code 2 [ 290s] make: *** [debian/rules:45: build] Error 2 [ 290s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 290s] ### VM INTERACTION START ### [ 293s] [ 279.637438] sysrq: Power Off [ 293s] [ 279.640013] reboot: Power down [ 293s] ### VM INTERACTION END ### [ 293s] [ 293s] old-atreju2 failed "build osmo-bsc_1.7.0.108.4d5604.202106070026.dsc" at Mon Jun 7 00:48:05 UTC 2021. [ 293s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 00:48:58 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:48:58 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <60bd6d08ca56a_55042b087e8705f837881b6@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: [ 219s] /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 isdnsync isdnsync.o [ 219s] 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 isdnsync isdnsync.o -pthread [ 219s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -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 -c -o meas_json-meas_json.o `test -f 'meas_json.c' || echo './'`meas_json.c [ 219s] /bin/bash ../../libtool --tag=CC --mode=link gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 219s] libtool: link: gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 219s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -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 meas_vis-meas_vis.o `test -f 'meas_vis.c' || echo './'`meas_vis.c [ 219s] meas_vis.c: In function 'write_uni': [ 219s] meas_vis.c:196:16: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? [ 219s] 196 | pwr = ms->mr.bs_power; [ 219s] | ^~~~~~~~ [ 219s] | bs_power_db [ 219s] make[4]: *** [Makefile:736: meas_vis-meas_vis.o] Error 1 [ 219s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 219s] make[3]: *** [Makefile:403: all-recursive] Error 1 [ 219s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 219s] make[2]: *** [Makefile:455: all-recursive] Error 1 [ 219s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 219s] make[1]: *** [Makefile:387: all] Error 2 [ 219s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 219s] dh_auto_build: error: make -j1 returned exit code 2 [ 219s] make: *** [debian/rules:45: build] Error 25 [ 219s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 219s] ### VM INTERACTION START ### [ 220s] Powering off. [ 220s] [ 210.264480] reboot: Power down [ 220s] ### VM INTERACTION END ### [ 220s] [ 220s] goat03 failed "build osmo-bsc_1.7.0.108.4d5604.202106070026.dsc" at Mon Jun 7 00:48:41 UTC 2021. [ 220s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 00:49:49 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:49:49 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_10/x86_64 In-Reply-To: References: Message-ID: <60bd6d4240ba1_55042b087e8705f837887a4@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: [ 306s] /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 isdnsync isdnsync.o [ 306s] 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 isdnsync isdnsync.o -pthread [ 307s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -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 -c -o meas_json-meas_json.o `test -f 'meas_json.c' || echo './'`meas_json.c [ 307s] /bin/bash ../../libtool --tag=CC --mode=link gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 307s] libtool: link: gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 307s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -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 meas_vis-meas_vis.o `test -f 'meas_vis.c' || echo './'`meas_vis.c [ 307s] meas_vis.c: In function 'write_uni': [ 307s] meas_vis.c:196:16: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? [ 307s] pwr = ms->mr.bs_power; [ 307s] ^~~~~~~~ [ 307s] bs_power_db [ 307s] make[4]: *** [Makefile:736: meas_vis-meas_vis.o] Error 1 [ 307s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 307s] make[3]: *** [Makefile:403: all-recursive] Error 1 [ 307s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 307s] make[2]: *** [Makefile:453: all-recursive] Error 1 [ 307s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 307s] make[1]: *** [Makefile:385: all] Error 2 [ 307s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 307s] dh_auto_build: make -j1 returned exit code 2 [ 307s] make: *** [debian/rules:45: build] Error 2 [ 307s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 307s] ### VM INTERACTION START ### [ 310s] [ 288.473218] sysrq: Power Off [ 310s] [ 288.477565] reboot: Power down [ 310s] ### VM INTERACTION END ### [ 310s] [ 310s] cloud118 failed "build osmo-bsc_1.7.0.108.4d5604.202106070026.dsc" at Mon Jun 7 00:49:48 UTC 2021. [ 310s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 00:50:06 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:50:06 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <60bd6d42b23d0_55042b087e8705f8378897a@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: [ 392s] /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 isdnsync isdnsync.o [ 392s] 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 isdnsync isdnsync.o -pthread [ 392s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -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 -c -o meas_json-meas_json.o `test -f 'meas_json.c' || echo './'`meas_json.c [ 392s] /bin/bash ../../libtool --tag=CC --mode=link gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -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 meas_vis-meas_vis.o `test -f 'meas_vis.c' || echo './'`meas_vis.c [ 393s] meas_vis.c: In function 'write_uni': [ 393s] meas_vis.c:196:16: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? [ 393s] 196 | pwr = ms->mr.bs_power; [ 393s] | ^~~~~~~~ [ 393s] | bs_power_db [ 393s] make[4]: *** [Makefile:736: meas_vis-meas_vis.o] Error 1 [ 393s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 393s] make[3]: *** [Makefile:403: all-recursive] Error 1 [ 393s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 393s] make[2]: *** [Makefile:453: all-recursive] Error 1 [ 393s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 393s] make[1]: *** [Makefile:385: 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 ### [ 396s] [ 374.550692] sysrq: Power Off [ 396s] [ 374.557386] reboot: Power down [ 396s] ### VM INTERACTION END ### [ 396s] [ 396s] lamb52 failed "build osmo-bsc_1.7.0.108.4d5604.202106070026.dsc" at Mon Jun 7 00:50:04 UTC 2021. [ 396s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 00:57:45 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:57:45 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <60bd6f217bc46_55042b087e8705f83790552@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: [ 417s] /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 isdnsync isdnsync.o [ 417s] 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 isdnsync isdnsync.o -pthread [ 417s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -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 -c -o meas_json-meas_json.o `test -f 'meas_json.c' || echo './'`meas_json.c [ 417s] /bin/bash ../../libtool --tag=CC --mode=link gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 418s] libtool: link: gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 418s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -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 meas_vis-meas_vis.o `test -f 'meas_vis.c' || echo './'`meas_vis.c [ 418s] meas_vis.c: In function 'write_uni': [ 418s] meas_vis.c:196:16: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? [ 418s] 196 | pwr = ms->mr.bs_power; [ 418s] | ^~~~~~~~ [ 418s] | bs_power_db [ 418s] make[4]: *** [Makefile:736: meas_vis-meas_vis.o] Error 1 [ 418s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 418s] make[3]: *** [Makefile:403: all-recursive] Error 1 [ 418s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 418s] make[2]: *** [Makefile:455: all-recursive] Error 1 [ 418s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 418s] make[1]: *** [Makefile:387: all] Error 2 [ 418s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 418s] dh_auto_build: error: make -j1 returned exit code 2 [ 418s] make: *** [debian/rules:45: build] Error 25 [ 418s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 418s] ### VM INTERACTION START ### [ 419s] Powering off. [ 419s] [ 400.972251] reboot: Power down [ 419s] ### VM INTERACTION END ### [ 419s] [ 419s] lamb52 failed "build osmo-bsc_1.7.0.108.4d5604.202106070026.dsc" at Mon Jun 7 00:57:28 UTC 2021. [ 419s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 00:58:36 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 00:58:36 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <60bd6f431e1bb_55042b087e8705f83791143@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/osmo-msc failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: /var/cache/obs/worker/root_3/.pkgs/libsmpp34-dev.deb: Input/output error (worker was cloud115:3) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 01:00:18 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 01:00:18 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <60bd6fbaca472_55042b087e8705f83792497@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: [ 389s] libtool: link: gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 390s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -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 meas_vis-meas_vis.o `test -f 'meas_vis.c' || echo './'`meas_vis.c [ 390s] meas_vis.c: In function 'write_uni': [ 390s] meas_vis.c:196:15: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? [ 390s] pwr = ms->mr.bs_power; [ 390s] ^ [ 390s] Makefile:723: recipe for target 'meas_vis-meas_vis.o' failed [ 390s] make[4]: *** [meas_vis-meas_vis.o] Error 1 [ 390s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 390s] Makefile:403: recipe for target 'all-recursive' failed [ 390s] make[3]: *** [all-recursive] Error 1 [ 390s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 390s] Makefile:453: recipe for target 'all-recursive' failed [ 390s] make[2]: *** [all-recursive] Error 1 [ 390s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 390s] Makefile:385: recipe for target 'all' failed [ 390s] make[1]: *** [all] Error 2 [ 390s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 390s] dh_auto_build: make -j1 returned exit code 2 [ 390s] debian/rules:45: recipe for target 'build' failed [ 390s] make: *** [build] Error 2 [ 390s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 390s] ### VM INTERACTION START ### [ 393s] [ 375.604748] sysrq: Power Off [ 393s] [ 375.636177] reboot: Power down [ 394s] ### VM INTERACTION END ### [ 394s] [ 394s] obs-arm-9 failed "build osmo-bsc_1.7.0.108.4d5604.202106070026.dsc" at Mon Jun 7 01:00:12 UTC 2021. [ 394s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jun 7 01:15:36 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 07 Jun 2021 01:15:36 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_10/aarch64 In-Reply-To: References: Message-ID: <60bd733cb9b93_55042b087e8705f8380049c@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: [ 853s] /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 isdnsync isdnsync.o [ 854s] 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 isdnsync isdnsync.o -pthread [ 854s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -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 -c -o meas_json-meas_json.o `test -f 'meas_json.c' || echo './'`meas_json.c [ 855s] /bin/bash ../../libtool --tag=CC --mode=link gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 856s] libtool: link: gcc -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 meas_json meas_json-meas_json.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.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 [ 856s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -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 meas_vis-meas_vis.o `test -f 'meas_vis.c' || echo './'`meas_vis.c [ 856s] meas_vis.c: In function 'write_uni': [ 856s] meas_vis.c:196:16: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? [ 856s] pwr = ms->mr.bs_power; [ 856s] ^~~~~~~~ [ 856s] bs_power_db [ 856s] make[4]: *** [Makefile:736: meas_vis-meas_vis.o] Error 1 [ 856s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/utils' [ 856s] make[3]: *** [Makefile:403: all-recursive] Error 1 [ 856s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 856s] make[2]: *** [Makefile:453: all-recursive] Error 1 [ 856s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 856s] make[1]: *** [Makefile:385: all] Error 2 [ 856s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 856s] dh_auto_build: make -j1 returned exit code 2 [ 856s] make: *** [debian/rules:45: build] Error 2 [ 856s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 856s] ### VM INTERACTION START ### [ 860s] [ 814.409545] sysrq: Power Off [ 860s] [ 814.431360] reboot: Power down [ 860s] ### VM INTERACTION END ### [ 860s] [ 860s] obs-arm-3 failed "build osmo-bsc_1.7.0.108.4d5604.202106070026.dsc" at Mon Jun 7 01:15:27 UTC 2021. [ 860s] -- 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 Jun 7 07:59:12 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 7 Jun 2021 07:59:12 +0000 Subject: Change in osmo-bts[master]: l1sap: fix TDMA frame number wrap in l1sap_info_time_ind() In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24594 ) Change subject: l1sap: fix TDMA frame number wrap in l1sap_info_time_ind() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24594 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6168dd75daea50bbe2e19338e637185ac9ac87ef Gerrit-Change-Number: 24594 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 07:59: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 Jun 7 08:00:46 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 7 Jun 2021 08:00:46 +0000 Subject: Change in osmo-bsc[master]: src/utils/meas_vis.c: fix bs_power -> bs_power_db References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24595 ) Change subject: src/utils/meas_vis.c: fix bs_power -> bs_power_db ...................................................................... src/utils/meas_vis.c: fix bs_power -> bs_power_db Fix build error: meas_vis.c:196:16: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? Output the value in the same format as before the change that introduced this regression (dB / 2). We didn't catch this regression with jenkins because meas_vis is only built if libcdk is installed. Related: OS#5173 Fixes: d9b7aedb ("change bs_power to bs_power_db") Change-Id: I9ba9b491ccbde9aa14cfb14ecc551acb2bfd7674 --- M src/utils/meas_vis.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/95/24595/1 diff --git a/src/utils/meas_vis.c b/src/utils/meas_vis.c index 73ccfc4..c3ee2a5 100644 --- a/src/utils/meas_vis.c +++ b/src/utils/meas_vis.c @@ -193,7 +193,7 @@ if (dir == DIR_UL) { pwr = ms->mr.ms_l1.pwr; } else { - pwr = ms->mr.bs_power; + pwr = ms->mr.bs_power_db / 2; } color = A_REVERSE | COLOR_PAIR(lev_col) | ' '; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24595 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9ba9b491ccbde9aa14cfb14ecc551acb2bfd7674 Gerrit-Change-Number: 24595 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 Jun 7 08:01:09 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 7 Jun 2021 08:01:09 +0000 Subject: Change in docker-playground[master]: debian-stretch-jenkins: install libcdk5-dev References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/24596 ) Change subject: debian-stretch-jenkins: install libcdk5-dev ...................................................................... debian-stretch-jenkins: install libcdk5-dev Build meas_vis from osmo-bsc.git in gerrit-verifications and master-builds. Related: OS#5173 Change-Id: I8c98542bf9902d6b4fbd2f8718006027b8520f19 --- M debian-stretch-jenkins/Dockerfile 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/96/24596/1 diff --git a/debian-stretch-jenkins/Dockerfile b/debian-stretch-jenkins/Dockerfile index 162ab84..d794228 100644 --- a/debian-stretch-jenkins/Dockerfile +++ b/debian-stretch-jenkins/Dockerfile @@ -53,6 +53,7 @@ libasound2-dev \ libboost-all-dev \ libc-ares-dev \ + libcdk5-dev \ libcsv-dev \ libdbd-sqlite3 \ libdbi-dev \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8c98542bf9902d6b4fbd2f8718006027b8520f19 Gerrit-Change-Number: 24596 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 Jun 7 08:05:47 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 7 Jun 2021 08:05:47 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor ip4_weight_sum/ip6_weight_sum In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24587 ) Change subject: gprs_ns2_sns: refactor ip4_weight_sum/ip6_weight_sum ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24587 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0956ab6085554210569188f52cae121e32fca19b Gerrit-Change-Number: 24587 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Mon, 07 Jun 2021 08: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 Mon Jun 7 08:13:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 08:13:45 +0000 Subject: Change in osmo-bsc[master]: src/utils/meas_vis.c: fix bs_power -> bs_power_db In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24595 ) Change subject: src/utils/meas_vis.c: fix bs_power -> bs_power_db ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24595 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9ba9b491ccbde9aa14cfb14ecc551acb2bfd7674 Gerrit-Change-Number: 24595 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 07 Jun 2021 08:13: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 Jun 7 08:14:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 08:14:07 +0000 Subject: Change in osmo-bsc[master]: src/utils/meas_vis.c: fix bs_power -> bs_power_db In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24595 ) Change subject: src/utils/meas_vis.c: fix bs_power -> bs_power_db ...................................................................... src/utils/meas_vis.c: fix bs_power -> bs_power_db Fix build error: meas_vis.c:196:16: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? Output the value in the same format as before the change that introduced this regression (dB / 2). We didn't catch this regression with jenkins because meas_vis is only built if libcdk is installed. Related: OS#5173 Fixes: d9b7aedb ("change bs_power to bs_power_db") Change-Id: I9ba9b491ccbde9aa14cfb14ecc551acb2bfd7674 --- M src/utils/meas_vis.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/utils/meas_vis.c b/src/utils/meas_vis.c index 73ccfc4..c3ee2a5 100644 --- a/src/utils/meas_vis.c +++ b/src/utils/meas_vis.c @@ -193,7 +193,7 @@ if (dir == DIR_UL) { pwr = ms->mr.ms_l1.pwr; } else { - pwr = ms->mr.bs_power; + pwr = ms->mr.bs_power_db / 2; } color = A_REVERSE | COLOR_PAIR(lev_col) | ' '; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24595 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9ba9b491ccbde9aa14cfb14ecc551acb2bfd7674 Gerrit-Change-Number: 24595 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 08:14:37 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 7 Jun 2021 08:14:37 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: bss: set gss->family In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24590 ) Change subject: gprs_ns2_sns: bss: set gss->family ...................................................................... Patch Set 1: Code-Review+1 Looks good to me. I guess this used by the SGSN only, which we seem not to have any ipv6 tests for. Maybe Pau can also have a look at this. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24590 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4e39dc5c7f766a7040645ceb62afdf6a9cfad00f Gerrit-Change-Number: 24590 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 08:14: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 Jun 7 08:25:10 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 7 Jun 2021 08:25:10 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor local and remote entries into a struct In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24582 ) Change subject: gprs_ns2_sns: refactor local and remote entries into a struct ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24582 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I05e053a9eb3328655502dfe2981c8f402104e292 Gerrit-Change-Number: 24582 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Mon, 07 Jun 2021 08:25:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 08:28:08 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 7 Jun 2021 08:28:08 +0000 Subject: Change in libosmocore[master]: stats_vty: also show rate counter group name (if present) In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24577 ) Change subject: stats_vty: also show rate counter group name (if present) ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24577 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I358f52e81a85f041fc21960634d04d18e7883dd5 Gerrit-Change-Number: 24577 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 08:28: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 Jun 7 08:35:38 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 7 Jun 2021 08:35:38 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: add check for duplicates to add_ip6_elem() In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24586 ) Change subject: gprs_ns2_sns: add check for duplicates to add_ip6_elem() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24586 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4a1528ea3427946ce465085919b2b522d3cedd07 Gerrit-Change-Number: 24586 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Mon, 07 Jun 2021 08:35:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 08:54:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 08:54:49 +0000 Subject: Change in osmo-bsc[master]: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24430 ) Change subject: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans ...................................................................... Patch Set 15: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 Gerrit-Change-Number: 24430 Gerrit-PatchSet: 15 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 07 Jun 2021 08:54: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 Jun 7 08:56:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 08:56:04 +0000 Subject: Change in osmo-bsc[master]: RSL chan_nr: replace OSMO_ASSERT with error handling In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24524 ) Change subject: RSL chan_nr: replace OSMO_ASSERT with error handling ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71ed6437c403a3f9336e17a94b4948fca295d853 Gerrit-Change-Number: 24524 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 08:56:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 09:04:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 09:04:10 +0000 Subject: Change in libosmocore[master]: osmo_select_shutdown_request(): allow finishing pending writes on SIG... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24544 ) Change subject: osmo_select_shutdown_request(): allow finishing pending writes on SIGTERM ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/24544/3/src/select.c File src/select.c: https://gerrit.osmocom.org/c/libosmocore/+/24544/3/src/select.c at 387 PS3, Line 387: if (!_osmo_select_shutdown_requested) I'm not sure if this is a good idea, it could affect assumptions on the application, leading to different behavior during shutdown than during usual operation. https://gerrit.osmocom.org/c/libosmocore/+/24544/3/src/select.c at 656 PS3, Line 656: int osmo_select_shutdown_requested() number of times should be unsigned right? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib94d4316924103459577087c2214188679db2227 Gerrit-Change-Number: 24544 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 09:04:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 09:05:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 09:05:23 +0000 Subject: Change in osmo-msc[master]: msc_tx_common_id(): fix potential NULL pointer dereference In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24575 ) Change subject: msc_tx_common_id(): fix potential NULL pointer dereference ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24575 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Iebdd6399e819a03258398e6b7b453bda37e45a20 Gerrit-Change-Number: 24575 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 09:05:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 09:07:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 09:07:34 +0000 Subject: Change in libosmocore[master]: stat, rate_ctr: allow setting group name using a format string In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24576 ) Change subject: stat,rate_ctr: allow setting group name using a format string ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24576/1/src/rate_ctr.c File src/rate_ctr.c: https://gerrit.osmocom.org/c/libosmocore/+/24576/1/src/rate_ctr.c at 307 PS1, Line 307: grp->name = name; why not using "osmo_talloc_replace_string(grp, &grp->name, name);" here instead of freeing above? It's just the usual way we use to replace string attributes. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6e813476cfb6a0ad275c4a51e9f065eeca8cb406 Gerrit-Change-Number: 24576 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 09:07: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 Mon Jun 7 09:09:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 09:09:54 +0000 Subject: Change in libosmocore[master]: stats_vty: also show rate counter group name (if present) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24577 ) Change subject: stats_vty: also show rate counter group name (if present) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24577 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I358f52e81a85f041fc21960634d04d18e7883dd5 Gerrit-Change-Number: 24577 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 09:09:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 09:10:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 09:10:47 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: move selection of the next bind into own function In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24122 ) Change subject: gprs_ns2_sns: move selection of the next bind into own function ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic39f0e5474ecc055d9a1b6a7b30777574d8b741d Gerrit-Change-Number: 24122 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 09:10: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 Jun 7 09:12:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 09:12:10 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: bss: improve validation of configuration In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24581 ) Change subject: gprs_ns2_sns: bss: improve validation of configuration ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2fcf67bc2431ddac23c4ae23cebbb29771e573f1 Gerrit-Change-Number: 24581 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 09: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 Jun 7 09:13:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 09:13:00 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor ns2_clear_ipv46_entries_local to use new elems... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24583 ) Change subject: gprs_ns2_sns: refactor ns2_clear_ipv46_entries_local to use new elems functions ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7225f7a4215842f0ea601ce6d9d38220f98f808d Gerrit-Change-Number: 24583 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 09:13: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 Jun 7 09:13:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 09:13:59 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: use struct ns2_sns_elems in add/update/remove remote_elems In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24584 ) Change subject: gprs_ns2_sns: use struct ns2_sns_elems in add/update/remove remote_elems ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7db43c8dbd5bd7e7b07a7d629d2615bfa18623db Gerrit-Change-Number: 24584 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 09:13:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 09:14:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 09:14:51 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: move gss->remote specific check out of add_ip4_elem/add... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24585 ) Change subject: gprs_ns2_sns: move gss->remote specific check out of add_ip4_elem/add_ip6_elem ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24585 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib48dfd7567467e60c5af2348924ece5cc6124206 Gerrit-Change-Number: 24585 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 09:14: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 Jun 7 09:15:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 09:15:47 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor nss_weight_sum_data -> ip46_weight_sum_data In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24588 ) Change subject: gprs_ns2_sns: refactor nss_weight_sum_data -> ip46_weight_sum_data ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I75d88f3da89ad13e34a3fd5ae72bd967d81f4abc Gerrit-Change-Number: 24588 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 09: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 Mon Jun 7 09:17:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 09:17:22 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: replace ns2_sns_type with address family In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24589 ) Change subject: gprs_ns2_sns: replace ns2_sns_type with address family ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24589/1/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/24589/1/src/gb/gprs_ns2_sns.c at 130 PS1, Line 130: int family; probably a comment referring to AF_* would be welcome to understand what's stored here. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24589 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1bcdd43af34c926d4b88491d00669422c299bef7 Gerrit-Change-Number: 24589 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 09:17:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 09:18:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 09:18:14 +0000 Subject: Change in osmo-bts[master]: [VAMOS] trx_sched_init_ts(): assign names to per-timeslot counters In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24592 ) Change subject: [VAMOS] trx_sched_init_ts(): assign names to per-timeslot counters ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24592 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie872ab37661fa5d44f219f59c7daaa1033113289 Gerrit-Change-Number: 24592 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 09:18:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 09:20:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 09:20:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Tests: add testcases for incoming SNS_ADD/DEL procedures In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24402 ) Change subject: NS_Tests: add testcases for incoming SNS_ADD/DEL procedures ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I98c04c083521ab38b58e8df9f1aee89445ab536d Gerrit-Change-Number: 24402 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 09: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 Mon Jun 7 09:22:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 09:22:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS: f_incoming_sns_chg_weight() allow to receive/send the chg_wei... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24578 ) Change subject: RAW_NS: f_incoming_sns_chg_weight() allow to receive/send the chg_weight over a different ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24578 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5766afaa74db30d94318312ab775e7933b9df783 Gerrit-Change-Number: 24578 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 09:22:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 09:22:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 09:22:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Tests: reset the weights of all udp binds In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24579 ) Change subject: NS_Tests: reset the weights of all udp binds ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24579 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iae2ba130b2f7d29ec8b417f07d0bef87f74ce5a4 Gerrit-Change-Number: 24579 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 09:22:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 09:23:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 09:23:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Tests: add test case TC_sns_bss_add_change_del In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24580 ) Change subject: NS_Tests: add test case TC_sns_bss_add_change_del ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibc565bba4c7e0a0b4dd28a48847dbdb998c8528d Gerrit-Change-Number: 24580 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 09:23:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 09:29:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 09:29:08 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement local change weight procedure In-Reply-To: References: Message-ID: pespin 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 8: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23187/8/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/23187/8/src/gb/gprs_ns2_sns.c at 2648 PS8, Line 2648: case 5: (separate patch) I would welcome having name defines for these timer numbers at the top of the file. Otherwise it's difficult looking for how a specific timer is used. -- 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: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 07 Jun 2021 09:29:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 09:30:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 09:30:34 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement outbound SNS ADD procedures In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24123 ) Change subject: gprs_ns2_sns: implement outbound SNS ADD procedures ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I71c33200bd1f0307ceb943ee958db5ebe3623d36 Gerrit-Change-Number: 24123 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 09:30:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 09:31:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 09:31:19 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement outbound SNS DEL procedures In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24591 ) Change subject: gprs_ns2_sns: implement outbound SNS DEL procedures ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I53cd54dfd262c70c425c3f13dad3b29526daa523 Gerrit-Change-Number: 24591 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 09:31: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 Jun 7 09:31:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 09:31:58 +0000 Subject: Change in osmo-bts[master]: l1sap: fix TDMA frame number wrap in l1sap_info_time_ind() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24594 ) Change subject: l1sap: fix TDMA frame number wrap in l1sap_info_time_ind() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24594 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6168dd75daea50bbe2e19338e637185ac9ac87ef Gerrit-Change-Number: 24594 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 09:31: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 Jun 7 09:34:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 09:34:24 +0000 Subject: Change in docker-playground[master]: debian-stretch-jenkins: install libcdk5-dev In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24596 ) Change subject: debian-stretch-jenkins: install libcdk5-dev ...................................................................... Patch Set 1: Can you explain better the relation between installing that lib and building meas_vis? it's not entirely clear to me from looking at the patch. The description looks confusing as it seems to mean you are actually building meas_vis in the commit... -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8c98542bf9902d6b4fbd2f8718006027b8520f19 Gerrit-Change-Number: 24596 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 09:34:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 09:34:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 09:34:52 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor ip4_weight_sum/ip6_weight_sum In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24587 ) Change subject: gprs_ns2_sns: refactor ip4_weight_sum/ip6_weight_sum ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24587 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0956ab6085554210569188f52cae121e32fca19b Gerrit-Change-Number: 24587 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 09:34: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 Jun 7 09:37:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 09:37:13 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: bss: set gss->family In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24590 ) Change subject: gprs_ns2_sns: bss: set gss->family ...................................................................... Patch Set 1: Code-Review+2 So we aren't testing IPv6 in TTCN3 SNS tests? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24590 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4e39dc5c7f766a7040645ceb62afdf6a9cfad00f Gerrit-Change-Number: 24590 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 09:37: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 Jun 7 09:37:32 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 7 Jun 2021 09:37:32 +0000 Subject: Change in docker-playground[master]: debian-stretch-jenkins: install libcdk5-dev In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24596 ) Change subject: debian-stretch-jenkins: install libcdk5-dev ...................................................................... Patch Set 1: > Patch Set 1: > > Can you explain better the relation between installing that lib and building meas_vis? it's not entirely clear to me from looking at the patch. > The description looks confusing as it seems to mean you are actually building meas_vis in the commit... meas_vis gets built if libcdk5-dev is installed if HAVE_LIBCDK bin_PROGRAMS += \ meas_vis \ $(NULL) endif so if we install this dependency, meas_vis will be built whenever osmo-bsc is getting built with the docker container by master-builds.yml or gerrit-verifications.yml. This is also described in the "Related: OS#5173" issue. Does that clear it up? -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8c98542bf9902d6b4fbd2f8718006027b8520f19 Gerrit-Change-Number: 24596 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 09:37:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 09:38:49 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Mon, 7 Jun 2021 09:38:49 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: patches the binary in fapi rf device with the given library_... In-Reply-To: References: Message-ID: alealcon has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24281 ) Change subject: srs-enb: patches the binary in fapi rf device with the given library_path. ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24281 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Icd7689a41a1c5fe8e4c427f3b9bc69b3f2b0f8ac Gerrit-Change-Number: 24281 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 09:39:18 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Mon, 7 Jun 2021 09:39:18 +0000 Subject: Change in osmo-gsm-tester[master]: util: adds the feature to force the rpath when patching files. In-Reply-To: References: Message-ID: alealcon has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 ) Change subject: util: adds the feature to force the rpath when patching files. ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2d4a105d4843c0d31d6b5d8f8d4195247b290aec Gerrit-Change-Number: 24272 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 09:40:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 09:40:34 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor local and remote entries into a struct In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24582 ) Change subject: gprs_ns2_sns: refactor local and remote entries into a struct ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24582 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I05e053a9eb3328655502dfe2981c8f402104e292 Gerrit-Change-Number: 24582 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 09: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 Mon Jun 7 09:41:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 09:41:10 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: add check for duplicates to add_ip6_elem() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24586 ) Change subject: gprs_ns2_sns: add check for duplicates to add_ip6_elem() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24586 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4a1528ea3427946ce465085919b2b522d3cedd07 Gerrit-Change-Number: 24586 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 09: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 Jun 7 09:43:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 09:43:47 +0000 Subject: Change in docker-playground[master]: debian-stretch-jenkins: install libcdk5-dev In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24596 ) Change subject: debian-stretch-jenkins: install libcdk5-dev ...................................................................... Patch Set 1: Code-Review+1 It does, and indeed we need to modify autoconf stuff to explicitly enable/disable it instead of doing so automatically based in lib presence. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8c98542bf9902d6b4fbd2f8718006027b8520f19 Gerrit-Change-Number: 24596 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 09:43:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 09:49:23 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Mon, 7 Jun 2021 09:49:23 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: adds environment variables to the resources schema. In-Reply-To: References: Message-ID: alealcon has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24283 ) Change subject: srs-enb: adds environment variables to the resources schema. ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3e5c0ca66ae88d5f3a3ed04c620f386afe1afac9 Gerrit-Change-Number: 24283 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 11:33:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Jun 2021 11:33:48 +0000 Subject: Change in osmo-bts[master]: l1sap: fix TDMA frame number wrap in l1sap_info_time_ind() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24594 ) Change subject: l1sap: fix TDMA frame number wrap in l1sap_info_time_ind() ...................................................................... l1sap: fix TDMA frame number wrap in l1sap_info_time_ind() Using the normal arithmetic for TDMA frame numbers may result in getting wrong values. Consider the following situation: 'info_time_ind->fn' is 0 (beginning of period) 'bts->gsm_time.fn' is 2715647 (end of period) With these input values the following expression: info_time_ind->fn - bts->gsm_time.fn will be equal to: 0 - 2715647 or -2715647 In this case osmo-bts does not log an error, because: if (-2715647 > 0) // is false As a consequence, we do not increment number of RACH slots that have passed by since the last time indication: for (i = 0; i < -2715647; i++) // is false This is why we introduced GSM_TDMA_FN_{SUB,SUM,DIFF,INC} API. Change-Id: I6168dd75daea50bbe2e19338e637185ac9ac87ef --- M src/common/l1sap.c 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/common/l1sap.c b/src/common/l1sap.c index b17bf01..cd2af57 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -592,17 +592,17 @@ struct osmo_phsap_prim *l1sap, struct info_time_ind_param *info_time_ind) { - int frames_expired; - int i; + unsigned int frames_expired; + unsigned int i; DEBUGPFN(DL1P, info_time_ind->fn, "Rx MPH_INFO time ind\n"); /* Calculate and check frame difference */ - frames_expired = info_time_ind->fn - bts->gsm_time.fn; + frames_expired = GSM_TDMA_FN_SUB(info_time_ind->fn, bts->gsm_time.fn); if (frames_expired > 1) { if (bts->gsm_time.fn) LOGPFN(DL1P, LOGL_ERROR, info_time_ind->fn, - "Invalid condition detected: Frame difference is %"PRIu32"-%"PRIu32"=%d > 1!\n", + "Invalid condition detected: Frame difference is %"PRIu32"-%"PRIu32"=%u > 1!\n", info_time_ind->fn, bts->gsm_time.fn, frames_expired); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24594 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6168dd75daea50bbe2e19338e637185ac9ac87ef Gerrit-Change-Number: 24594 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder 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 Mon Jun 7 11:38:43 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Jun 2021 11:38:43 +0000 Subject: Change in libosmocore[master]: stat, rate_ctr: allow setting group name using a format string In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24576 ) Change subject: stat,rate_ctr: allow setting group name using a format string ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24576/1/src/rate_ctr.c File src/rate_ctr.c: https://gerrit.osmocom.org/c/libosmocore/+/24576/1/src/rate_ctr.c at 307 PS1, Line 307: grp->name = name; > why not using "osmo_talloc_replace_string(grp, &grp->name, name);" here instead of freeing above? It [?] Because osmo_talloc_replace_string() duplicates the given string using talloc_strdup(). This means I would need to talloc_free(name) here, so I don't see it as a better solution. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6e813476cfb6a0ad275c4a51e9f065eeca8cb406 Gerrit-Change-Number: 24576 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 11:38:43 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 11:39:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 11:39:14 +0000 Subject: Change in libosmocore[master]: stat, rate_ctr: allow setting group name using a format string In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24576 ) Change subject: stat,rate_ctr: allow setting group name using a format string ...................................................................... Patch Set 1: Code-Review+1 Ah good point. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6e813476cfb6a0ad275c4a51e9f065eeca8cb406 Gerrit-Change-Number: 24576 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 11:39:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 12:22:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:22:32 +0000 Subject: Change in libosmocore[master]: stat, rate_ctr: allow setting group name using a format string In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24576 ) Change subject: stat,rate_ctr: allow setting group name using a format string ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/24576/1//COMMIT_MSG Commit Message: PS1: talloc_free(NULL) is (like all free-style API) safe. So no need for the NULL-check beforehand. https://gerrit.osmocom.org/c/libosmocore/+/24576/1/src/rate_ctr.c File src/rate_ctr.c: https://gerrit.osmocom.org/c/libosmocore/+/24576/1/src/rate_ctr.c at 307 PS1, Line 307: grp->name = name; > Because osmo_talloc_replace_string() duplicates the given string using talloc_strdup(). [?] you could introduce a generic osmo_talloc_replace_string_fmt() or the like which basically is 100% of this function, but in a generic way, as &grp->name is passed as an input argument. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6e813476cfb6a0ad275c4a51e9f065eeca8cb406 Gerrit-Change-Number: 24576 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 12:22:32 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 12:35:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:35:57 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: move selection of the next bind into own function In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24122 ) Change subject: gprs_ns2_sns: move selection of the next bind into own function ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic39f0e5474ecc055d9a1b6a7b30777574d8b741d Gerrit-Change-Number: 24122 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 12:35: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 Jun 7 12:36:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:36:23 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: bss: improve validation of configuration In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24581 ) Change subject: gprs_ns2_sns: bss: improve validation of configuration ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2fcf67bc2431ddac23c4ae23cebbb29771e573f1 Gerrit-Change-Number: 24581 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 12:36:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 12:37:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:37:12 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor local and remote entries into a struct In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24582 ) Change subject: gprs_ns2_sns: refactor local and remote entries into a struct ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24582 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I05e053a9eb3328655502dfe2981c8f402104e292 Gerrit-Change-Number: 24582 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 12:37: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 Jun 7 12:37:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:37:26 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor ns2_clear_ipv46_entries_local to use new elems... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24583 ) Change subject: gprs_ns2_sns: refactor ns2_clear_ipv46_entries_local to use new elems functions ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7225f7a4215842f0ea601ce6d9d38220f98f808d Gerrit-Change-Number: 24583 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 12:37:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 12:37:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:37:59 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: use struct ns2_sns_elems in add/update/remove remote_elems In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24584 ) Change subject: gprs_ns2_sns: use struct ns2_sns_elems in add/update/remove remote_elems ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7db43c8dbd5bd7e7b07a7d629d2615bfa18623db Gerrit-Change-Number: 24584 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 12:37: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 Jun 7 12:38:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:38:30 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: move gss->remote specific check out of add_ip4_elem/add... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24585 ) Change subject: gprs_ns2_sns: move gss->remote specific check out of add_ip4_elem/add_ip6_elem ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24585 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib48dfd7567467e60c5af2348924ece5cc6124206 Gerrit-Change-Number: 24585 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 12:38:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 12:39:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:39:43 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: add check for duplicates to add_ip6_elem() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24586 ) Change subject: gprs_ns2_sns: add check for duplicates to add_ip6_elem() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24586/1/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/24586/1/src/gb/gprs_ns2_sns.c at 510 PS1, Line 510: if (memcmp(&elems->ip6[i], ip6, sizeof(*ip6))) I'm not sure we should rely on the fact that there is either no padding in the elems struct, or that it is always zero-initialized. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24586 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4a1528ea3427946ce465085919b2b522d3cedd07 Gerrit-Change-Number: 24586 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 07 Jun 2021 12:39:43 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 12:39:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:39:47 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: move selection of the next bind into own function In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24122 ) Change subject: gprs_ns2_sns: move selection of the next bind into own function ...................................................................... gprs_ns2_sns: move selection of the next bind into own function It will be also used by del_bind() when removing an active bind Related: OS#5036 Change-Id: Ic39f0e5474ecc055d9a1b6a7b30777574d8b741d --- M src/gb/gprs_ns2_sns.c 1 file changed, 10 insertions(+), 12 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 296a2e7..5d85ec0 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -883,6 +883,15 @@ } } +static void ns2_sns_choose_next_bind(struct ns2_sns_state *gss) +{ + /* take the first bind or take the next bind */ + if (!gss->initial_bind || gss->initial_bind->list.next == &gss->binds) + gss->initial_bind = llist_first_entry_or_null(&gss->binds, struct ns2_sns_bind, list); + else + gss->initial_bind = llist_entry(gss->initial_bind->list.next, struct ns2_sns_bind, list); +} + /* setup all dynamic SNS settings, create a new nsvc and send the SIZE */ static void ns2_sns_st_bss_size_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) { @@ -899,18 +908,7 @@ gss->alive = false; ns2_sns_compute_local_ep_from_binds(fi); - - /* take the first bind or take the next bind */ - if (!gss->initial_bind) { - gss->initial_bind = llist_first_entry(&gss->binds, struct ns2_sns_bind, list); - } else { - if (gss->initial_bind->list.next != &gss->binds) { - gss->initial_bind = llist_entry(gss->initial_bind->list.next, struct ns2_sns_bind, list); - } else { - gss->initial_bind = llist_first_entry(&gss->binds, struct ns2_sns_bind, list); - } - } - + ns2_sns_choose_next_bind(gss); /* setup the NSVC */ if (!gss->sns_nsvc) { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic39f0e5474ecc055d9a1b6a7b30777574d8b741d Gerrit-Change-Number: 24122 Gerrit-PatchSet: 6 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 Jun 7 12:39:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:39:48 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: bss: improve validation of configuration In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24581 ) Change subject: gprs_ns2_sns: bss: improve validation of configuration ...................................................................... gprs_ns2_sns: bss: improve validation of configuration Some combination of IPv4 and IPv6 result in incomplete combination. E.g. IPv6 binds, but only IPv4 endpoints and vice versa. Related: OS#5036 Change-Id: I2fcf67bc2431ddac23c4ae23cebbb29771e573f1 --- M src/gb/gprs_ns2_sns.c 1 file changed, 49 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 5d85ec0..9865acd 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -1519,6 +1519,54 @@ } } +/* validate the bss configuration (sns endpoint and binds) + * - no endpoints -> invalid + * - no binds -> invalid + * - only v4 sns endpoints, only v6 binds -> invalid + * - only v4 sns endpoints, but v4 sig weights == 0 -> invalid ... + */ +static int ns2_sns_bss_valid_configuration(struct ns2_sns_state *gss) +{ + struct ns2_sns_bind *sbind; + struct sns_endpoint *endpoint; + const struct osmo_sockaddr *addr; + int v4_sig = 0, v4_data = 0, v6_sig = 0, v6_data = 0; + bool v4_endpoints = false; + bool v6_endpoints = false; + + if (llist_empty(&gss->sns_endpoints) || llist_empty(&gss->binds)) + return 0; + + llist_for_each_entry(sbind, &gss->binds, list) { + addr = gprs_ns2_ip_bind_sockaddr(sbind->bind); + if (!addr) + continue; + switch (addr->u.sa.sa_family) { + case AF_INET: + v4_sig += sbind->bind->sns_sig_weight; + v4_data += sbind->bind->sns_data_weight; + break; + case AF_INET6: + v6_sig += sbind->bind->sns_sig_weight; + v6_data += sbind->bind->sns_data_weight; + break; + } + } + + llist_for_each_entry(endpoint, &gss->sns_endpoints, list) { + switch (endpoint->saddr.u.sa.sa_family) { + case AF_INET: + v4_endpoints = true; + break; + case AF_INET6: + v6_endpoints = true; + break; + } + } + + return (v4_endpoints && v4_sig && v4_data) || (v6_endpoints && v6_sig && v6_data); +} + /* allstate-action for BSS role */ static void ns2_sns_st_all_action_bss(struct osmo_fsm_inst *fi, uint32_t event, void *data) { @@ -1544,7 +1592,7 @@ ns2_clear_ipv46_entries_remote(gss); /* Choose the next sns endpoint. */ - if (llist_empty(&gss->sns_endpoints) || llist_empty(&gss->binds)) { + if (!ns2_sns_bss_valid_configuration(gss)) { gss->initial = NULL; ns2_prim_status_ind(gss->nse, NULL, 0, GPRS_NS2_AFF_CAUSE_SNS_NO_ENDPOINTS); osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 3); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2fcf67bc2431ddac23c4ae23cebbb29771e573f1 Gerrit-Change-Number: 24581 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus 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 Jun 7 12:39:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:39:48 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor local and remote entries into a struct In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24582 ) Change subject: gprs_ns2_sns: refactor local and remote entries into a struct ...................................................................... gprs_ns2_sns: refactor local and remote entries into a struct The IPv4/IPv6 elemens are the same for local and remote. Refactor the entries into a struct to use function to manipulate them with a single function. Related: OS#5036 Change-Id: I05e053a9eb3328655502dfe2981c8f402104e292 --- M src/gb/gprs_ns2_sns.c 1 file changed, 102 insertions(+), 105 deletions(-) Approvals: laforge: Looks good to me, approved dexter: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 9865acd..66dd421 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -122,6 +122,13 @@ struct gprs_ns2_vc_bind *bind; }; +struct ns2_sns_elems { + struct gprs_ns_ie_ip4_elem *ip4; + unsigned int num_ip4; + struct gprs_ns_ie_ip6_elem *ip6; + unsigned int num_ip6; +}; + struct ns2_sns_state { struct gprs_ns2_nse *nse; @@ -150,26 +157,16 @@ bool alive; /* local configuration to send to the remote end */ - struct gprs_ns_ie_ip4_elem *ip4_local; - size_t num_ip4_local; + struct ns2_sns_elems local; - /* local configuration to send to the remote end */ - struct gprs_ns_ie_ip6_elem *ip6_local; - size_t num_ip6_local; + /* remote configuration as received */ + struct ns2_sns_elems remote; /* local configuration about our capabilities in terms of connections to * remote (SGSN) side */ size_t num_max_nsvcs; size_t num_max_ip4_remote; size_t num_max_ip6_remote; - - /* remote configuration as received */ - struct gprs_ns_ie_ip4_elem *ip4_remote; - unsigned int num_ip4_remote; - - /* remote configuration as received */ - struct gprs_ns_ie_ip6_elem *ip6_remote; - unsigned int num_ip6_remote; }; static inline struct gprs_ns2_nse *nse_inst_from_fi(struct osmo_fsm_inst *fi) @@ -216,8 +213,8 @@ static int nss_weight_sum(const struct ns2_sns_state *nss, bool data_weight) { - return ip4_weight_sum(nss->ip4_remote, nss->num_ip4_remote, data_weight) + - ip6_weight_sum(nss->ip6_remote, nss->num_ip6_remote, data_weight); + return ip4_weight_sum(nss->remote.ip4, nss->remote.num_ip4, data_weight) + + ip6_weight_sum(nss->remote.ip6, nss->remote.num_ip6, data_weight); } #define nss_weight_sum_data(nss) nss_weight_sum(nss, true) #define nss_weight_sum_sig(nss) nss_weight_sum(nss, false) @@ -300,20 +297,20 @@ static void ns2_clear_ipv46_entries_local(struct ns2_sns_state *gss) { - TALLOC_FREE(gss->ip4_local); - TALLOC_FREE(gss->ip6_local); + TALLOC_FREE(gss->local.ip4); + TALLOC_FREE(gss->local.ip6); - gss->num_ip4_local = 0; - gss->num_ip6_local = 0; + gss->local.num_ip4 = 0; + gss->local.num_ip6 = 0; } static void ns2_clear_ipv46_entries_remote(struct ns2_sns_state *gss) { - TALLOC_FREE(gss->ip4_remote); - TALLOC_FREE(gss->ip6_remote); + TALLOC_FREE(gss->remote.ip4); + TALLOC_FREE(gss->remote.ip6); - gss->num_ip4_remote = 0; - gss->num_ip6_remote = 0; + gss->remote.num_ip4 = 0; + gss->remote.num_ip6 = 0; } static void ns2_vc_create_ip(struct osmo_fsm_inst *fi, struct gprs_ns2_nse *nse, const struct osmo_sockaddr *remote, @@ -393,8 +390,8 @@ unsigned int i; /* iterate over all remote IPv4 endpoints */ - for (i = 0; i < gss->num_ip4_remote; i++) { - const struct gprs_ns_ie_ip4_elem *ip4 = &gss->ip4_remote[i]; + for (i = 0; i < gss->remote.num_ip4; i++) { + const struct gprs_ns_ie_ip4_elem *ip4 = &gss->remote.ip4[i]; remote.u.sin.sin_family = AF_INET; remote.u.sin.sin_addr.s_addr = ip4->ip_addr; @@ -425,8 +422,8 @@ } /* iterate over all remote IPv4 endpoints */ - for (i = 0; i < gss->num_ip6_remote; i++) { - const struct gprs_ns_ie_ip6_elem *ip6 = &gss->ip6_remote[i]; + for (i = 0; i < gss->remote.num_ip6; i++) { + const struct gprs_ns_ie_ip6_elem *ip6 = &gss->remote.ip6[i]; remote.u.sin6.sin6_family = AF_INET6; remote.u.sin6.sin6_addr = ip6->ip_addr; @@ -465,21 +462,21 @@ { unsigned int i; - if (gss->num_ip4_remote >= gss->num_max_ip4_remote) + if (gss->remote.num_ip4 >= gss->num_max_ip4_remote) return -NS_CAUSE_INVAL_NR_NS_VC; /* check for duplicates */ - for (i = 0; i < gss->num_ip4_remote; i++) { - if (memcmp(&gss->ip4_remote[i], ip4, sizeof(*ip4))) + for (i = 0; i < gss->remote.num_ip4; i++) { + if (memcmp(&gss->remote.ip4[i], ip4, sizeof(*ip4))) continue; /* TODO: log message duplicate */ return -NS_CAUSE_PROTO_ERR_UNSPEC; } - gss->ip4_remote = talloc_realloc(gss, gss->ip4_remote, struct gprs_ns_ie_ip4_elem, - gss->num_ip4_remote+1); - gss->ip4_remote[gss->num_ip4_remote] = *ip4; - gss->num_ip4_remote += 1; + gss->remote.ip4 = talloc_realloc(gss, gss->remote.ip4, struct gprs_ns_ie_ip4_elem, + gss->remote.num_ip4+1); + gss->remote.ip4[gss->remote.num_ip4] = *ip4; + gss->remote.num_ip4 += 1; return 0; } @@ -488,12 +485,12 @@ { unsigned int i; - for (i = 0; i < gss->num_ip4_remote; i++) { - if (memcmp(&gss->ip4_remote[i], ip4, sizeof(*ip4))) + for (i = 0; i < gss->remote.num_ip4; i++) { + if (memcmp(&gss->remote.ip4[i], ip4, sizeof(*ip4))) continue; /* all array elements < i remain as they are; all > i are shifted left by one */ - memmove(&gss->ip4_remote[i], &gss->ip4_remote[i+1], gss->num_ip4_remote-i-1); - gss->num_ip4_remote -= 1; + memmove(&gss->remote.ip4[i], &gss->remote.ip4[i+1], gss->remote.num_ip4-i-1); + gss->remote.num_ip4 -= 1; return 0; } return -1; @@ -504,13 +501,13 @@ { unsigned int i; - for (i = 0; i < gss->num_ip4_remote; i++) { - if (gss->ip4_remote[i].ip_addr != ip4->ip_addr || - gss->ip4_remote[i].udp_port != ip4->udp_port) + for (i = 0; i < gss->remote.num_ip4; i++) { + if (gss->remote.ip4[i].ip_addr != ip4->ip_addr || + gss->remote.ip4[i].udp_port != ip4->udp_port) continue; - gss->ip4_remote[i].sig_weight = ip4->sig_weight; - gss->ip4_remote[i].data_weight = ip4->data_weight; + gss->remote.ip4[i].sig_weight = ip4->sig_weight; + gss->remote.ip4[i].data_weight = ip4->data_weight; return 0; } return -1; @@ -519,13 +516,13 @@ /* Add a given remote IPv6 element to gprs_sns_state */ static int add_remote_ip6_elem(struct ns2_sns_state *gss, const struct gprs_ns_ie_ip6_elem *ip6) { - if (gss->num_ip6_remote >= gss->num_max_ip6_remote) + if (gss->remote.num_ip6 >= gss->num_max_ip6_remote) return -NS_CAUSE_INVAL_NR_NS_VC; - gss->ip6_remote = talloc_realloc(gss, gss->ip6_remote, struct gprs_ns_ie_ip6_elem, - gss->num_ip6_remote+1); - gss->ip6_remote[gss->num_ip6_remote] = *ip6; - gss->num_ip6_remote += 1; + gss->remote.ip6 = talloc_realloc(gss, gss->remote.ip6, struct gprs_ns_ie_ip6_elem, + gss->remote.num_ip6+1); + gss->remote.ip6[gss->remote.num_ip6] = *ip6; + gss->remote.num_ip6 += 1; return 0; } @@ -534,12 +531,12 @@ { unsigned int i; - for (i = 0; i < gss->num_ip6_remote; i++) { - if (memcmp(&gss->ip6_remote[i], ip6, sizeof(*ip6))) + for (i = 0; i < gss->remote.num_ip6; i++) { + if (memcmp(&gss->remote.ip6[i], ip6, sizeof(*ip6))) continue; /* all array elements < i remain as they are; all > i are shifted left by one */ - memmove(&gss->ip6_remote[i], &gss->ip6_remote[i+1], gss->num_ip6_remote-i-1); - gss->num_ip6_remote -= 1; + memmove(&gss->remote.ip6[i], &gss->remote.ip6[i+1], gss->remote.num_ip6-i-1); + gss->remote.num_ip6 -= 1; return 0; } return -1; @@ -550,12 +547,12 @@ { unsigned int i; - for (i = 0; i < gss->num_ip6_remote; i++) { - if (memcmp(&gss->ip6_remote[i].ip_addr, &ip6->ip_addr, sizeof(ip6->ip_addr)) || - gss->ip6_remote[i].udp_port != ip6->udp_port) + for (i = 0; i < gss->remote.num_ip6; i++) { + if (memcmp(&gss->remote.ip6[i].ip_addr, &ip6->ip_addr, sizeof(ip6->ip_addr)) || + gss->remote.ip6[i].udp_port != ip6->udp_port) continue; - gss->ip6_remote[i].sig_weight = ip6->sig_weight; - gss->ip6_remote[i].data_weight = ip6->data_weight; + gss->remote.ip6[i].sig_weight = ip6->sig_weight; + gss->remote.ip6[i].data_weight = ip6->data_weight; return 0; } return -1; @@ -811,11 +808,11 @@ switch (gss->ip) { case IPv4: - ip4_elems = talloc_realloc(fi, gss->ip4_local, struct gprs_ns_ie_ip4_elem, count); + ip4_elems = talloc_realloc(fi, gss->local.ip4, struct gprs_ns_ie_ip4_elem, count); if (!ip4_elems) return; - gss->ip4_local = ip4_elems; + gss->local.ip4 = ip4_elems; llist_for_each_entry(sbind, &gss->binds, list) { bind = sbind->bind; sa = gprs_ns2_ip_bind_sockaddr(bind); @@ -841,16 +838,16 @@ ip4_elems++; } - gss->num_ip4_local = count; - gss->num_max_nsvcs = OSMO_MAX(gss->num_max_ip4_remote * gss->num_ip4_local, 8); + gss->local.num_ip4 = count; + gss->num_max_nsvcs = OSMO_MAX(gss->num_max_ip4_remote * gss->local.num_ip4, 8); break; case IPv6: /* IPv6 */ - ip6_elems = talloc_realloc(fi, gss->ip6_local, struct gprs_ns_ie_ip6_elem, count); + ip6_elems = talloc_realloc(fi, gss->local.ip6, struct gprs_ns_ie_ip6_elem, count); if (!ip6_elems) return; - gss->ip6_local = ip6_elems; + gss->local.ip6 = ip6_elems; llist_for_each_entry(sbind, &gss->binds, list) { bind = sbind->bind; @@ -877,8 +874,8 @@ ip6_elems++; } - gss->num_ip6_local = count; - gss->num_max_nsvcs = OSMO_MAX(gss->num_max_ip6_remote * gss->num_ip6_local, 8); + gss->local.num_ip6 = count; + gss->num_max_nsvcs = OSMO_MAX(gss->num_max_ip6_remote * gss->local.num_ip6, 8); break; } } @@ -924,9 +921,9 @@ } if (gss->num_max_ip4_remote > 0) - ns2_tx_sns_size(gss->sns_nsvc, true, gss->num_max_nsvcs, gss->num_ip4_local, -1); + ns2_tx_sns_size(gss->sns_nsvc, true, gss->num_max_nsvcs, gss->local.num_ip4, -1); else - ns2_tx_sns_size(gss->sns_nsvc, true, gss->num_max_nsvcs, -1, gss->num_ip6_local); + ns2_tx_sns_size(gss->sns_nsvc, true, gss->num_max_nsvcs, -1, gss->local.num_ip6); } static void ns2_sns_st_bss_config_bss(struct osmo_fsm_inst *fi, uint32_t event, void *data) @@ -966,13 +963,13 @@ switch (gss->ip) { case IPv4: ns2_tx_sns_config(gss->sns_nsvc, true, - gss->ip4_local, gss->num_ip4_local, + gss->local.ip4, gss->local.num_ip4, NULL, 0); break; case IPv6: ns2_tx_sns_config(gss->sns_nsvc, true, NULL, 0, - gss->ip6_local, gss->num_ip6_local); + gss->local.ip6, gss->local.num_ip6); break; } } @@ -1001,19 +998,19 @@ v4_list = (const struct gprs_ns_ie_ip4_elem *) TLVP_VAL(tp, NS_IE_IPv4_LIST); num_v4 = TLVP_LEN(tp, NS_IE_IPv4_LIST) / sizeof(*v4_list); - if (num_v4 && gss->ip6_remote) + if (num_v4 && gss->remote.ip6) return -NS_CAUSE_INVAL_NR_IPv4_EP; /* realloc to the new size */ - gss->ip4_remote = talloc_realloc(gss, gss->ip4_remote, + gss->remote.ip4 = talloc_realloc(gss, gss->remote.ip4, struct gprs_ns_ie_ip4_elem, - gss->num_ip4_remote + num_v4); + gss->remote.num_ip4 + num_v4); /* append the new entries to the end of the list */ - memcpy(&gss->ip4_remote[gss->num_ip4_remote], v4_list, num_v4*sizeof(*v4_list)); - gss->num_ip4_remote += num_v4; + memcpy(&gss->remote.ip4[gss->remote.num_ip4], v4_list, num_v4*sizeof(*v4_list)); + gss->remote.num_ip4 += num_v4; LOGPFSML(fi, LOGL_INFO, "Rx SNS-CONFIG: Remote IPv4 list now %u entries\n", - gss->num_ip4_remote); + gss->remote.num_ip4); } if (TLVP_PRESENT(tp, NS_IE_IPv6_LIST)) { @@ -1022,19 +1019,19 @@ v6_list = (const struct gprs_ns_ie_ip6_elem *) TLVP_VAL(tp, NS_IE_IPv6_LIST); num_v6 = TLVP_LEN(tp, NS_IE_IPv6_LIST) / sizeof(*v6_list); - if (num_v6 && gss->ip4_remote) + if (num_v6 && gss->remote.ip4) return -NS_CAUSE_INVAL_NR_IPv6_EP; /* realloc to the new size */ - gss->ip6_remote = talloc_realloc(gss, gss->ip6_remote, + gss->remote.ip6 = talloc_realloc(gss, gss->remote.ip6, struct gprs_ns_ie_ip6_elem, - gss->num_ip6_remote + num_v6); + gss->remote.num_ip6 + num_v6); /* append the new entries to the end of the list */ - memcpy(&gss->ip6_remote[gss->num_ip6_remote], v6_list, num_v6*sizeof(*v6_list)); - gss->num_ip6_remote += num_v6; + memcpy(&gss->remote.ip6[gss->remote.num_ip6], v6_list, num_v6*sizeof(*v6_list)); + gss->remote.num_ip6 += num_v6; - LOGPFSML(fi, LOGL_INFO, "Rx SNS-CONFIG: Remote IPv6 list now %u entries\n", - gss->num_ip6_remote); + LOGPFSML(fi, LOGL_INFO, "Rx SNS-CONFIG: Remote IPv6 list now %d entries\n", + gss->remote.num_ip6); } return 0; @@ -1204,9 +1201,9 @@ return; } /* make a copy as do_sns_delete() will change the array underneath us */ - ip4_remote = talloc_memdup(fi, gss->ip4_remote, - gss->num_ip4_remote * sizeof(*v4_list)); - for (i = 0; i < gss->num_ip4_remote; i++) { + ip4_remote = talloc_memdup(fi, gss->remote.ip4, + gss->remote.num_ip4 * sizeof(*v4_list)); + for (i = 0; i < gss->remote.num_ip4; i++) { if (ip4_remote[i].ip_addr == ip_addr) { rc = do_sns_delete(fi, &ip4_remote[i], NULL); if (rc < 0) { @@ -1255,9 +1252,9 @@ } memcpy(&ip6_addr, (ie+1), sizeof(struct in6_addr)); /* make a copy as do_sns_delete() will change the array underneath us */ - ip6_remote = talloc_memdup(fi, gss->ip6_remote, - gss->num_ip6_remote * sizeof(*v4_list)); - for (i = 0; i < gss->num_ip6_remote; i++) { + ip6_remote = talloc_memdup(fi, gss->remote.ip6, + gss->remote.num_ip6 * sizeof(*v4_list)); + for (i = 0; i < gss->remote.num_ip6; i++) { if (!memcmp(&ip6_remote[i].ip_addr, &ip6_addr, sizeof(struct in6_addr))) { rc = do_sns_delete(fi, NULL, &ip6_remote[i]); if (rc < 0) { @@ -1774,24 +1771,24 @@ vty_out(vty, "%sMaximum number of remote NS-VCs: %zu, IPv4 Endpoints: %zu, IPv6 Endpoints: %zu%s", prefix, gss->num_max_nsvcs, gss->num_max_ip4_remote, gss->num_max_ip6_remote, VTY_NEWLINE); - if (gss->num_ip4_local && gss->num_ip4_remote) { + if (gss->local.num_ip4 && gss->remote.num_ip4) { vty_out(vty, "%sLocal IPv4 Endpoints:%s", prefix, VTY_NEWLINE); - for (i = 0; i < gss->num_ip4_local; i++) - vty_dump_sns_ip4(vty, prefix, &gss->ip4_local[i]); + for (i = 0; i < gss->local.num_ip4; i++) + vty_dump_sns_ip4(vty, prefix, &gss->local.ip4[i]); vty_out(vty, "%sRemote IPv4 Endpoints:%s", prefix, VTY_NEWLINE); - for (i = 0; i < gss->num_ip4_remote; i++) - vty_dump_sns_ip4(vty, prefix, &gss->ip4_remote[i]); + for (i = 0; i < gss->remote.num_ip4; i++) + vty_dump_sns_ip4(vty, prefix, &gss->remote.ip4[i]); } - if (gss->num_ip6_local && gss->num_ip6_remote) { + if (gss->local.num_ip6 && gss->remote.num_ip6) { vty_out(vty, "%sLocal IPv6 Endpoints:%s", prefix, VTY_NEWLINE); - for (i = 0; i < gss->num_ip6_local; i++) - vty_dump_sns_ip6(vty, prefix, &gss->ip6_local[i]); + for (i = 0; i < gss->local.num_ip6; i++) + vty_dump_sns_ip6(vty, prefix, &gss->local.ip6[i]); vty_out(vty, "%sRemote IPv6 Endpoints:%s", prefix, VTY_NEWLINE); - for (i = 0; i < gss->num_ip6_remote; i++) - vty_dump_sns_ip6(vty, prefix, &gss->ip6_remote[i]); + for (i = 0; i < gss->remote.num_ip6; i++) + vty_dump_sns_ip6(vty, prefix, &gss->remote.ip6[i]); } } @@ -2052,8 +2049,8 @@ return 0; } -/* Update SNS weights - * \param[in] nsvc the NSVC which should be updated +/* Update SNS weights for a bind (local endpoint). + * \param[in] bind the bind which has been updated */ void ns2_sns_update_weights(struct gprs_ns2_vc_bind *bind) { @@ -2121,8 +2118,8 @@ OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_SGSN); /* transmit SGSN-oriented SNS-CONFIG */ - ns2_tx_sns_config(gss->sns_nsvc, true, gss->ip4_local, gss->num_ip4_local, - gss->ip6_local, gss->num_ip6_local); + ns2_tx_sns_config(gss->sns_nsvc, true, gss->local.ip4, gss->local.num_ip4, + gss->local.ip6, gss->local.num_ip6); } /* We're waiting for SNS-CONFIG-ACK from the BSS (in response to our outbound SNS-CONFIG) */ @@ -2253,15 +2250,15 @@ if (gss->num_max_ip6_remote && ns2_sns_count_num_local_ep(fi, IPv6)) { gss->ip = IPv6; ns2_sns_compute_local_ep_from_binds(fi); - num_local_eps = gss->num_ip6_local; + num_local_eps = gss->local.num_ip6; num_remote_eps = gss->num_max_ip6_remote; } else if (gss->num_max_ip4_remote && ns2_sns_count_num_local_ep(fi, IPv4)) { gss->ip = IPv4; ns2_sns_compute_local_ep_from_binds(fi); - num_local_eps = gss->num_ip4_local; + num_local_eps = gss->local.num_ip4; num_remote_eps = gss->num_max_ip4_remote; } else { - if (gss->num_ip4_local && !gss->num_max_ip4_remote) + if (gss->local.num_ip4 && !gss->num_max_ip4_remote) cause = NS_CAUSE_INVAL_NR_IPv4_EP; else cause = NS_CAUSE_INVAL_NR_IPv6_EP; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24582 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I05e053a9eb3328655502dfe2981c8f402104e292 Gerrit-Change-Number: 24582 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus 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 Mon Jun 7 12:39:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:39:48 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor ns2_clear_ipv46_entries_local to use new elems... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24583 ) Change subject: gprs_ns2_sns: refactor ns2_clear_ipv46_entries_local to use new elems functions ...................................................................... gprs_ns2_sns: refactor ns2_clear_ipv46_entries_local to use new elems functions Related: OS#5036 Change-Id: I7225f7a4215842f0ea601ce6d9d38220f98f808d --- M src/gb/gprs_ns2_sns.c 1 file changed, 10 insertions(+), 19 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/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 66dd421..0c1ca6d 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -295,22 +295,13 @@ osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_NO_NSVC, NULL); } -static void ns2_clear_ipv46_entries_local(struct ns2_sns_state *gss) +static void ns2_clear_elems(struct ns2_sns_elems *elems) { - TALLOC_FREE(gss->local.ip4); - TALLOC_FREE(gss->local.ip6); + TALLOC_FREE(elems->ip4); + TALLOC_FREE(elems->ip6); - gss->local.num_ip4 = 0; - gss->local.num_ip6 = 0; -} - -static void ns2_clear_ipv46_entries_remote(struct ns2_sns_state *gss) -{ - TALLOC_FREE(gss->remote.ip4); - TALLOC_FREE(gss->remote.ip6); - - gss->remote.num_ip4 = 0; - gss->remote.num_ip6 = 0; + elems->num_ip4 = 0; + elems->num_ip6 = 0; } static void ns2_vc_create_ip(struct osmo_fsm_inst *fi, struct gprs_ns2_nse *nse, const struct osmo_sockaddr *remote, @@ -789,7 +780,7 @@ struct osmo_sockaddr local; int count; - ns2_clear_ipv46_entries_local(gss); + ns2_clear_elems(&gss->local); /* no initial available */ if (gss->role == GPRS_SNS_ROLE_BSS) { @@ -1585,8 +1576,8 @@ * gprs_ns2_free_nsvcs() will trigger NO_NSVC, prevent this from triggering a reselection */ gss->reselection_running = true; gprs_ns2_free_nsvcs(nse); - ns2_clear_ipv46_entries_local(gss); - ns2_clear_ipv46_entries_remote(gss); + ns2_clear_elems(&gss->local); + ns2_clear_elems(&gss->remote); /* Choose the next sns endpoint. */ if (!ns2_sns_bss_valid_configuration(gss)) { @@ -2282,8 +2273,8 @@ /* clear all state */ osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); gss->N = 0; - ns2_clear_ipv46_entries_local(gss); - ns2_clear_ipv46_entries_remote(gss); + ns2_clear_elems(&gss->local); + ns2_clear_elems(&gss->remote); llist_for_each_entry_safe(nsvc, nsvc2, &gss->nse->nsvc, list) { if (nsvc == gss->sns_nsvc) { /* keep the NSVC we need for SNS, but unconfigure it */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7225f7a4215842f0ea601ce6d9d38220f98f808d Gerrit-Change-Number: 24583 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus 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 Jun 7 12:39:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:39:49 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: use struct ns2_sns_elems in add/update/remove remote_elems In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24584 ) Change subject: gprs_ns2_sns: use struct ns2_sns_elems in add/update/remove remote_elems ...................................................................... gprs_ns2_sns: use struct ns2_sns_elems in add/update/remove remote_elems Prepare to use the function also with local elems. Related: OS#5036 Change-Id: I7db43c8dbd5bd7e7b07a7d629d2615bfa18623db --- M src/gb/gprs_ns2_sns.c 1 file changed, 47 insertions(+), 41 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/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 0c1ca6d..20076ed 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -449,7 +449,8 @@ } /* Add a given remote IPv4 element to gprs_sns_state */ -static int add_remote_ip4_elem(struct ns2_sns_state *gss, const struct gprs_ns_ie_ip4_elem *ip4) +static int add_ip4_elem(struct ns2_sns_state *gss, struct ns2_sns_elems *elems, + const struct gprs_ns_ie_ip4_elem *ip4) { unsigned int i; @@ -457,93 +458,98 @@ return -NS_CAUSE_INVAL_NR_NS_VC; /* check for duplicates */ - for (i = 0; i < gss->remote.num_ip4; i++) { - if (memcmp(&gss->remote.ip4[i], ip4, sizeof(*ip4))) + for (i = 0; i < elems->num_ip4; i++) { + if (memcmp(&elems->ip4[i], ip4, sizeof(*ip4))) continue; /* TODO: log message duplicate */ return -NS_CAUSE_PROTO_ERR_UNSPEC; } - gss->remote.ip4 = talloc_realloc(gss, gss->remote.ip4, struct gprs_ns_ie_ip4_elem, - gss->remote.num_ip4+1); - gss->remote.ip4[gss->remote.num_ip4] = *ip4; - gss->remote.num_ip4 += 1; + elems->ip4 = talloc_realloc(gss, elems->ip4, struct gprs_ns_ie_ip4_elem, + elems->num_ip4+1); + elems->ip4[elems->num_ip4] = *ip4; + elems->num_ip4 += 1; return 0; } /* Remove a given remote IPv4 element from gprs_sns_state */ -static int remove_remote_ip4_elem(struct ns2_sns_state *gss, const struct gprs_ns_ie_ip4_elem *ip4) +static int remove_ip4_elem(struct ns2_sns_state *gss, struct ns2_sns_elems *elems, + const struct gprs_ns_ie_ip4_elem *ip4) { unsigned int i; - for (i = 0; i < gss->remote.num_ip4; i++) { - if (memcmp(&gss->remote.ip4[i], ip4, sizeof(*ip4))) + for (i = 0; i < elems->num_ip4; i++) { + if (memcmp(&elems->ip4[i], ip4, sizeof(*ip4))) continue; /* all array elements < i remain as they are; all > i are shifted left by one */ - memmove(&gss->remote.ip4[i], &gss->remote.ip4[i+1], gss->remote.num_ip4-i-1); - gss->remote.num_ip4 -= 1; + memmove(&elems->ip4[i], &elems->ip4[i+1], elems->num_ip4-i-1); + elems->num_ip4 -= 1; return 0; } return -1; } /* update the weights for specified remote IPv4 */ -static int update_remote_ip4_elem(struct ns2_sns_state *gss, const struct gprs_ns_ie_ip4_elem *ip4) +static int update_ip4_elem(struct ns2_sns_state *gss, struct ns2_sns_elems *elems, + const struct gprs_ns_ie_ip4_elem *ip4) { unsigned int i; - for (i = 0; i < gss->remote.num_ip4; i++) { - if (gss->remote.ip4[i].ip_addr != ip4->ip_addr || - gss->remote.ip4[i].udp_port != ip4->udp_port) + for (i = 0; i < elems->num_ip4; i++) { + if (elems->ip4[i].ip_addr != ip4->ip_addr || + elems->ip4[i].udp_port != ip4->udp_port) continue; - gss->remote.ip4[i].sig_weight = ip4->sig_weight; - gss->remote.ip4[i].data_weight = ip4->data_weight; + elems->ip4[i].sig_weight = ip4->sig_weight; + elems->ip4[i].data_weight = ip4->data_weight; return 0; } return -1; } /* Add a given remote IPv6 element to gprs_sns_state */ -static int add_remote_ip6_elem(struct ns2_sns_state *gss, const struct gprs_ns_ie_ip6_elem *ip6) +static int add_ip6_elem(struct ns2_sns_state *gss, struct ns2_sns_elems *elems, + const struct gprs_ns_ie_ip6_elem *ip6) { - if (gss->remote.num_ip6 >= gss->num_max_ip6_remote) + if (elems->num_ip6 >= gss->num_max_ip6_remote) return -NS_CAUSE_INVAL_NR_NS_VC; - gss->remote.ip6 = talloc_realloc(gss, gss->remote.ip6, struct gprs_ns_ie_ip6_elem, - gss->remote.num_ip6+1); - gss->remote.ip6[gss->remote.num_ip6] = *ip6; - gss->remote.num_ip6 += 1; + elems->ip6 = talloc_realloc(gss, elems->ip6, struct gprs_ns_ie_ip6_elem, + elems->num_ip6+1); + elems->ip6[elems->num_ip6] = *ip6; + elems->num_ip6 += 1; return 0; } /* Remove a given remote IPv6 element from gprs_sns_state */ -static int remove_remote_ip6_elem(struct ns2_sns_state *gss, const struct gprs_ns_ie_ip6_elem *ip6) +static int remove_ip6_elem(struct ns2_sns_state *gss, struct ns2_sns_elems *elems, + const struct gprs_ns_ie_ip6_elem *ip6) { unsigned int i; - for (i = 0; i < gss->remote.num_ip6; i++) { - if (memcmp(&gss->remote.ip6[i], ip6, sizeof(*ip6))) + for (i = 0; i < elems->num_ip6; i++) { + if (memcmp(&elems->ip6[i], ip6, sizeof(*ip6))) continue; /* all array elements < i remain as they are; all > i are shifted left by one */ - memmove(&gss->remote.ip6[i], &gss->remote.ip6[i+1], gss->remote.num_ip6-i-1); - gss->remote.num_ip6 -= 1; + memmove(&elems->ip6[i], &elems->ip6[i+1], elems->num_ip6-i-1); + elems->num_ip6 -= 1; return 0; } return -1; } /* update the weights for specified remote IPv6 */ -static int update_remote_ip6_elem(struct ns2_sns_state *gss, const struct gprs_ns_ie_ip6_elem *ip6) +static int update_ip6_elem(struct ns2_sns_state *gss, struct ns2_sns_elems *elems, + const struct gprs_ns_ie_ip6_elem *ip6) { unsigned int i; - for (i = 0; i < gss->remote.num_ip6; i++) { - if (memcmp(&gss->remote.ip6[i].ip_addr, &ip6->ip_addr, sizeof(ip6->ip_addr)) || - gss->remote.ip6[i].udp_port != ip6->udp_port) + for (i = 0; i < elems->num_ip6; i++) { + if (memcmp(&elems->ip6[i].ip_addr, &ip6->ip_addr, sizeof(ip6->ip_addr)) || + elems->ip6[i].udp_port != ip6->udp_port) continue; - gss->remote.ip6[i].sig_weight = ip6->sig_weight; - gss->remote.ip6[i].data_weight = ip6->data_weight; + elems->ip6[i].sig_weight = ip6->sig_weight; + elems->ip6[i].data_weight = ip6->data_weight; return 0; } return -1; @@ -566,7 +572,7 @@ * SNS-ACK PDU with a cause code of "Invalid weights". */ if (ip4) { - if (update_remote_ip4_elem(gss, ip4)) + if (update_ip4_elem(gss, &gss->remote, ip4)) return -NS_CAUSE_UNKN_IP_EP; /* copy over. Both data structures use network byte order */ @@ -576,7 +582,7 @@ new_signal = ip4->sig_weight; new_data = ip4->data_weight; } else if (ip6) { - if (update_remote_ip6_elem(gss, ip6)) + if (update_ip6_elem(gss, &gss->remote, ip6)) return -NS_CAUSE_UNKN_IP_EP; /* copy over. Both data structures use network byte order */ @@ -619,14 +625,14 @@ struct osmo_sockaddr sa = {}; if (ip4) { - if (remove_remote_ip4_elem(gss, ip4) < 0) + if (remove_ip4_elem(gss, &gss->remote, ip4) < 0) return -NS_CAUSE_UNKN_IP_EP; /* copy over. Both data structures use network byte order */ sa.u.sin.sin_addr.s_addr = ip4->ip_addr; sa.u.sin.sin_port = ip4->udp_port; sa.u.sin.sin_family = AF_INET; } else if (ip6) { - if (remove_remote_ip6_elem(gss, ip6)) + if (remove_ip6_elem(gss, &gss->remote, ip6)) return -NS_CAUSE_UNKN_IP_EP; /* copy over. Both data structures use network byte order */ @@ -665,10 +671,10 @@ * an SNS-ACK PDU with a cause code set to "Invalid number of IP4 Endpoints". */ switch (gss->ip) { case IPv4: - rc = add_remote_ip4_elem(gss, ip4); + rc = add_ip4_elem(gss, &gss->remote, ip4); break; case IPv6: - rc = add_remote_ip6_elem(gss, ip6); + rc = add_ip6_elem(gss, &gss->remote, ip6); break; default: /* the gss->ip is initialized with the bss */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7db43c8dbd5bd7e7b07a7d629d2615bfa18623db Gerrit-Change-Number: 24584 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus 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 Jun 7 12:39:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:39:49 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: move gss->remote specific check out of add_ip4_elem/add... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24585 ) Change subject: gprs_ns2_sns: move gss->remote specific check out of add_ip4_elem/add_ip6_elem ...................................................................... gprs_ns2_sns: move gss->remote specific check out of add_ip4_elem/add_ip6_elem Allow to use the add_ip4_elem also with local elemens. Related: OS#5036 Change-Id: Ib48dfd7567467e60c5af2348924ece5cc6124206 --- M src/gb/gprs_ns2_sns.c 1 file changed, 8 insertions(+), 8 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 20076ed..c50b2b9 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -454,15 +454,11 @@ { unsigned int i; - if (gss->remote.num_ip4 >= gss->num_max_ip4_remote) - return -NS_CAUSE_INVAL_NR_NS_VC; - /* check for duplicates */ for (i = 0; i < elems->num_ip4; i++) { if (memcmp(&elems->ip4[i], ip4, sizeof(*ip4))) continue; - /* TODO: log message duplicate */ - return -NS_CAUSE_PROTO_ERR_UNSPEC; + return -1; } elems->ip4 = talloc_realloc(gss, elems->ip4, struct gprs_ns_ie_ip4_elem, @@ -511,8 +507,6 @@ static int add_ip6_elem(struct ns2_sns_state *gss, struct ns2_sns_elems *elems, const struct gprs_ns_ie_ip6_elem *ip6) { - if (elems->num_ip6 >= gss->num_max_ip6_remote) - return -NS_CAUSE_INVAL_NR_NS_VC; elems->ip6 = talloc_realloc(gss, elems->ip6, struct gprs_ns_ie_ip6_elem, elems->num_ip6+1); @@ -671,9 +665,15 @@ * an SNS-ACK PDU with a cause code set to "Invalid number of IP4 Endpoints". */ switch (gss->ip) { case IPv4: + if (gss->remote.num_ip4 >= gss->num_max_ip4_remote) + return -NS_CAUSE_INVAL_NR_NS_VC; + /* TODO: log message duplicate */ rc = add_ip4_elem(gss, &gss->remote, ip4); break; case IPv6: + if (gss->remote.num_ip6 >= gss->num_max_ip6_remote) + return -NS_CAUSE_INVAL_NR_NS_VC; + /* TODO: log message duplicate */ rc = add_ip6_elem(gss, &gss->remote, ip6); break; default: @@ -682,7 +682,7 @@ } if (rc) - return rc; + return -NS_CAUSE_PROTO_ERR_UNSPEC; /* Upon receiving an SNS-ADD PDU containing an already configured IP endpoint the * NSE shall send an SNS-ACK PDU with the cause code "Protocol error - -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24585 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib48dfd7567467e60c5af2348924ece5cc6124206 Gerrit-Change-Number: 24585 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus 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 Jun 7 12:40:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:40:13 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor ip4_weight_sum/ip6_weight_sum In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24587 ) Change subject: gprs_ns2_sns: refactor ip4_weight_sum/ip6_weight_sum ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24587 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0956ab6085554210569188f52cae121e32fca19b Gerrit-Change-Number: 24587 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 12:40: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 Jun 7 12:40:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:40:39 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor nss_weight_sum_data -> ip46_weight_sum_data In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24588 ) Change subject: gprs_ns2_sns: refactor nss_weight_sum_data -> ip46_weight_sum_data ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I75d88f3da89ad13e34a3fd5ae72bd967d81f4abc Gerrit-Change-Number: 24588 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 12: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 Mon Jun 7 12:41:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:41:41 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: bss: set gss->family In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24590 ) Change subject: gprs_ns2_sns: bss: set gss->family ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24590 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4e39dc5c7f766a7040645ceb62afdf6a9cfad00f Gerrit-Change-Number: 24590 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 12:41:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 12:43:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:43:34 +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 8: Code-Review+1 -- 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: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 12:43:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 12:44:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:44:56 +0000 Subject: Change in osmo-msc[master]: msc_tx_common_id(): fix potential NULL pointer dereference In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24575 ) Change subject: msc_tx_common_id(): fix potential NULL pointer dereference ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24575 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Iebdd6399e819a03258398e6b7b453bda37e45a20 Gerrit-Change-Number: 24575 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 12:44: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 Jun 7 12:45:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:45:09 +0000 Subject: Change in docker-playground[master]: debian-stretch-jenkins: install libcdk5-dev In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24596 ) Change subject: debian-stretch-jenkins: install libcdk5-dev ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8c98542bf9902d6b4fbd2f8718006027b8520f19 Gerrit-Change-Number: 24596 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 12:45: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 Jun 7 12:48:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:48:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Tests: add testcases for incoming SNS_ADD/DEL procedures In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24402 ) Change subject: NS_Tests: add testcases for incoming SNS_ADD/DEL procedures ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I98c04c083521ab38b58e8df9f1aee89445ab536d Gerrit-Change-Number: 24402 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 12:48:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 12:49:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:49:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS: f_incoming_sns_chg_weight() allow to receive/send the chg_wei... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24578 ) Change subject: RAW_NS: f_incoming_sns_chg_weight() allow to receive/send the chg_weight over a different ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24578 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5766afaa74db30d94318312ab775e7933b9df783 Gerrit-Change-Number: 24578 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 12:49:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 12:49:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:49:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Tests: reset the weights of all udp binds In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24579 ) Change subject: NS_Tests: reset the weights of all udp binds ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24579 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iae2ba130b2f7d29ec8b417f07d0bef87f74ce5a4 Gerrit-Change-Number: 24579 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 12: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 Mon Jun 7 12:49:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:49:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Tests: add test case TC_sns_bss_add_change_del In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24580 ) Change subject: NS_Tests: add test case TC_sns_bss_add_change_del ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibc565bba4c7e0a0b4dd28a48847dbdb998c8528d Gerrit-Change-Number: 24580 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 12:49:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 12:49:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:49:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Tests: add testcases for incoming SNS_ADD/DEL procedures In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24402 ) Change subject: NS_Tests: add testcases for incoming SNS_ADD/DEL procedures ...................................................................... NS_Tests: add testcases for incoming SNS_ADD/DEL procedures Allow to test add and remove a bind via vty. Related: OS#5036 Change-Id: I98c04c083521ab38b58e8df9f1aee89445ab536d --- M ns/NS_Tests.sns.cfg M ns/NS_Tests.ttcn M ns/osmo-ns.sns.cfg 3 files changed, 69 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/ns/NS_Tests.sns.cfg b/ns/NS_Tests.sns.cfg index 23b616b..5ee5e1a 100644 --- a/ns/NS_Tests.sns.cfg +++ b/ns/NS_Tests.sns.cfg @@ -21,6 +21,18 @@ } }, nsvci := 1234 + }, + { + provider := { + ip := { + address_family := AF_INET, + local_ip := "127.0.0.1", + local_udp_port := 22000, + remote_ip := "127.0.0.1", + remote_udp_port := 23001 + } + }, + nsvci := 1235 } } } diff --git a/ns/NS_Tests.ttcn b/ns/NS_Tests.ttcn index f69bbe0..58b2dda 100644 --- a/ns/NS_Tests.ttcn +++ b/ns/NS_Tests.ttcn @@ -44,6 +44,20 @@ } }, nsvci := 97 + }, + { + provider := { + ip := { + address_family := AF_INET, + local_udp_port := 21000, + local_ip := "127.0.0.1", + remote_udp_port := 23001, + remote_ip := "127.0.0.1", + data_weight := 1, + signalling_weight := 1 + } + }, + nsvci := 98 } } }; @@ -58,6 +72,7 @@ f_vty_set_prompts(NSVTY); f_vty_transceive(NSVTY, "enable"); f_vty_transceive(NSVTY, "nsvc nsei " & int2str(mp_nsconfig.nsei) & " force-unconfigured"); + f_vty_config2(NSVTY, {"ns", "nse " & int2str(mp_nsconfig.nsei)}, "no ip-sns-bind local2"); } /* ensure no matching message is received within 'tout' */ @@ -527,6 +542,42 @@ f_clean_ns_codec(); } +testcase TC_sns_bss_add() runs on RAW_Test_CT { + g_handle_rx_alive := true; + f_init_vty(); + f_init_ns_codec(mp_nsconfig); + f_init_ns_codec(mp_nsconfig, 1); + f_incoming_sns_size(); + f_incoming_sns_config(); + f_outgoing_sns_config(); + activate(as_rx_alive_tx_ack()); + f_vty_config2(NSVTY, {"ns", "nse " & int2str(g_nsconfig.nsei)}, "ip-sns-bind local2"); + f_incoming_sns_add(idx_add := 1); + as_rx_alive_tx_ack(oneshot := true, idx := 1); + setverdict(pass); + f_clean_ns_codec(); +} + +testcase TC_sns_bss_del() runs on RAW_Test_CT { + g_handle_rx_alive := true; + f_init_vty(); + f_init_ns_codec(mp_nsconfig); + f_init_ns_codec(mp_nsconfig, 1); + f_incoming_sns_size(); + f_incoming_sns_config(); + f_outgoing_sns_config(); + activate(as_rx_alive_tx_ack()); + f_vty_config2(NSVTY, {"ns", "nse " & int2str(g_nsconfig.nsei)}, "ip-sns-bind local2"); + f_incoming_sns_add(idx_add := 1); + as_rx_alive_tx_ack(oneshot := true, idx := 1); + + /* delete the endpoint */ + f_vty_config2(NSVTY, {"ns", "nse " & int2str(g_nsconfig.nsei)}, "no ip-sns-bind local2"); + f_incoming_sns_del(idx_del := 1); + setverdict(pass); + f_clean_ns_codec(); +} + control { if (mp_dialect == NS2_DIALECT_STATIC_RESETBLOCK or mp_dialect == NS2_DIALECT_IPACCESS) { execute( TC_tx_reset() ); @@ -574,6 +625,8 @@ execute( TC_sns_config_success() ); execute( TC_sns_bss_change_weight() ); execute( TC_sns_bss_change_weight_timeout() ); + execute( TC_sns_bss_add() ); + execute( TC_sns_bss_del() ); } } diff --git a/ns/osmo-ns.sns.cfg b/ns/osmo-ns.sns.cfg index 58d306e..b342305 100644 --- a/ns/osmo-ns.sns.cfg +++ b/ns/osmo-ns.sns.cfg @@ -92,6 +92,10 @@ listen 127.0.0.1 23000 ip-sns signalling-weight 2 data-weight 2 accept-ipaccess + bind udp local2 + listen 127.0.0.1 23001 + ip-sns signalling-weight 1 data-weight 1 + accept-ipaccess nse 1234 ip-sns-remote 127.0.0.1 22000 ip-sns-bind local -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I98c04c083521ab38b58e8df9f1aee89445ab536d Gerrit-Change-Number: 24402 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 Jun 7 12:49:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:49:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS: f_incoming_sns_chg_weight() allow to receive/send the chg_wei... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24578 ) Change subject: RAW_NS: f_incoming_sns_chg_weight() allow to receive/send the chg_weight over a different ...................................................................... RAW_NS: f_incoming_sns_chg_weight() allow to receive/send the chg_weight over a different The SGSN/PCU will use a different NSVC as the NSVC which will be changed weight'ed. Related: OS#5036 Change-Id: I5766afaa74db30d94318312ab775e7933b9df783 --- M library/RAW_NS.ttcnpp 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/RAW_NS.ttcnpp b/library/RAW_NS.ttcnpp index 8f986e4..42efb7d 100644 --- a/library/RAW_NS.ttcnpp +++ b/library/RAW_NS.ttcnpp @@ -408,11 +408,11 @@ } /* perform inbound SNS-CHANGE-WEIGHT procedure */ -function f_incoming_sns_chg_weight(template (omit) NsCause cause := omit, integer idx := 0) +function f_incoming_sns_chg_weight(integer idx_chg := 0, template (omit) NsCause cause := omit, integer idx := 0) runs on RAW_NS_CT { log("f_incoming_sns_chg_weight(idx=", idx, ")"); var PDU_NS rx; - var NSVCConfiguration nsvc_cfg := g_nsconfig.nsvc[idx]; + var NSVCConfiguration nsvc_cfg := g_nsconfig.nsvc[idx_chg]; if (nsvc_cfg.provider.ip.address_family == AF_INET) { var template IP4_Elements v4_elem := { tr_SNS_IPv4(nsvc_cfg.provider.ip.remote_ip, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24578 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5766afaa74db30d94318312ab775e7933b9df783 Gerrit-Change-Number: 24578 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus 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 Jun 7 12:49:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Jun 2021 12:49:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Tests: reset the weights of all udp binds In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24579 ) Change subject: NS_Tests: reset the weights of all udp binds ...................................................................... NS_Tests: reset the weights of all udp binds Some test cases change the weight of the binds. Ensure all test cases starts with the same configuration. Related: OS#5036 Change-Id: Iae2ba130b2f7d29ec8b417f07d0bef87f74ce5a4 --- M ns/NS_Tests.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/ns/NS_Tests.ttcn b/ns/NS_Tests.ttcn index 58b2dda..3971f0d 100644 --- a/ns/NS_Tests.ttcn +++ b/ns/NS_Tests.ttcn @@ -73,6 +73,8 @@ f_vty_transceive(NSVTY, "enable"); f_vty_transceive(NSVTY, "nsvc nsei " & int2str(mp_nsconfig.nsei) & " force-unconfigured"); f_vty_config2(NSVTY, {"ns", "nse " & int2str(mp_nsconfig.nsei)}, "no ip-sns-bind local2"); + f_vty_config2(NSVTY, {"ns", "bind udp local"}, "ip-sns signalling-weight 1 data-weight 1"); + f_vty_config2(NSVTY, {"ns", "bind udp local2"}, "ip-sns signalling-weight 1 data-weight 1"); } /* ensure no matching message is received within 'tout' */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24579 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iae2ba130b2f7d29ec8b417f07d0bef87f74ce5a4 Gerrit-Change-Number: 24579 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus 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 Jun 7 13:42:14 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Jun 2021 13:42:14 +0000 Subject: Change in osmo-bts[master]: osmo-bts-octphy: drop talloc_replace(), use osmo_talloc_replace_string() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24597 ) Change subject: osmo-bts-octphy: drop talloc_replace(), use osmo_talloc_replace_string() ...................................................................... osmo-bts-octphy: drop talloc_replace(), use osmo_talloc_replace_string() Change-Id: Ied39cc594fedc712d751ab1c7b636bbbff527bd6 --- M src/osmo-bts-octphy/l1_oml.c 1 file changed, 10 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/97/24597/1 diff --git a/src/osmo-bts-octphy/l1_oml.c b/src/osmo-bts-octphy/l1_oml.c index 9bd01f4..c825581 100644 --- a/src/osmo-bts-octphy/l1_oml.c +++ b/src/osmo-bts-octphy/l1_oml.c @@ -1119,13 +1119,6 @@ return 0; } -#define talloc_replace(dst, ctx, src) \ - do { \ - if (dst) \ - talloc_free(dst); \ - dst = talloc_strdup(ctx, (const char *) src); \ - } while (0) - static int app_info_sys_compl_cb(struct octphy_hdl *fl1h, struct msgb *resp, void *data) { tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP *aisr = @@ -1145,8 +1138,10 @@ LOGP(DL1C, LOGL_INFO, "Note: compiled without multi-trx support.\n"); #endif - talloc_replace(fl1h->info.system.platform, fl1h, aisr->szPlatform); - talloc_replace(fl1h->info.system.version, fl1h, aisr->szVersion); + osmo_talloc_replace_string(fl1h->info.system.platform, + fl1h, (const char *) aisr->szPlatform); + osmo_talloc_replace_string(fl1h->info.system.version, + fl1h, (const char *) aisr->szVersion); msgb_free(resp); @@ -1210,9 +1205,12 @@ } } - talloc_replace(fl1h->info.app.name, fl1h, air->szName); - talloc_replace(fl1h->info.app.description, fl1h, air->szDescription); - talloc_replace(fl1h->info.app.version, fl1h, air->szVersion); + osmo_talloc_replace_string(fl1h->info.app.name, + fl1h, (const char *) air->szName); + osmo_talloc_replace_string(fl1h->info.app.description, + fl1h, (const char *) air->szDescription); + osmo_talloc_replace_string(fl1h->info.app.version, + fl1h, (const char *) air->szVersion); OSMO_ASSERT(strlen(ver_hdr) < sizeof(pinst->version)); osmo_strlcpy(pinst->version, ver_hdr, strlen(ver_hdr)); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24597 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ied39cc594fedc712d751ab1c7b636bbbff527bd6 Gerrit-Change-Number: 24597 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 Jun 7 14:03:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 14:03:23 +0000 Subject: Change in osmo-bts[master]: osmo-bts-octphy: drop talloc_replace(), use osmo_talloc_replace_string() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24597 ) Change subject: osmo-bts-octphy: drop talloc_replace(), use osmo_talloc_replace_string() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24597 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ied39cc594fedc712d751ab1c7b636bbbff527bd6 Gerrit-Change-Number: 24597 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 14:03:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 14:18:16 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Jun 2021 14:18:16 +0000 Subject: Change in libosmocore[master]: stat, rate_ctr: allow setting group name using a format string In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24576 ) Change subject: stat,rate_ctr: allow setting group name using a format string ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6e813476cfb6a0ad275c4a51e9f065eeca8cb406 Gerrit-Change-Number: 24576 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 14:23:53 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Jun 2021 14:23:53 +0000 Subject: Change in libosmocore[master]: stats_vty: also show rate counter group name (if present) In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24577 ) Change subject: stats_vty: also show rate counter group name (if present) ...................................................................... stats_vty: also show rate counter group name (if present) Change-Id: I358f52e81a85f041fc21960634d04d18e7883dd5 --- M src/vty/stats_vty.c 1 file changed, 4 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/vty/stats_vty.c b/src/vty/stats_vty.c index 630ee32..d5d3292 100644 --- a/src/vty/stats_vty.c +++ b/src/vty/stats_vty.c @@ -555,7 +555,10 @@ static int rate_ctr_group_handler(struct rate_ctr_group *ctrg, void *sctx_) { struct vty *vty = sctx_; - vty_out(vty, "%s %u:%s", ctrg->desc->group_description, ctrg->idx, VTY_NEWLINE); + vty_out(vty, "%s %u", ctrg->desc->group_description, ctrg->idx); + if (ctrg->name != NULL) + vty_out(vty, " (%s)", ctrg->name); + vty_out(vty, ":%s", VTY_NEWLINE); vty_out_rate_ctr_group_fmt(vty, "%25n: %10c (%S/s %M/m %H/h %D/d) %d", ctrg); return 0; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24577 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I358f52e81a85f041fc21960634d04d18e7883dd5 Gerrit-Change-Number: 24577 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Mon Jun 7 14:30:29 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 7 Jun 2021 14:30:29 +0000 Subject: Change in docker-playground[master]: debian-stretch-jenkins: install libcdk5-dev In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24596 ) Change subject: debian-stretch-jenkins: install libcdk5-dev ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8c98542bf9902d6b4fbd2f8718006027b8520f19 Gerrit-Change-Number: 24596 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 14:30: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 Jun 7 14:30:32 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 7 Jun 2021 14:30:32 +0000 Subject: Change in docker-playground[master]: debian-stretch-jenkins: install libcdk5-dev In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24596 ) Change subject: debian-stretch-jenkins: install libcdk5-dev ...................................................................... debian-stretch-jenkins: install libcdk5-dev Build meas_vis from osmo-bsc.git in gerrit-verifications and master-builds. Related: OS#5173 Change-Id: I8c98542bf9902d6b4fbd2f8718006027b8520f19 --- M debian-stretch-jenkins/Dockerfile 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved osmith: Verified diff --git a/debian-stretch-jenkins/Dockerfile b/debian-stretch-jenkins/Dockerfile index 162ab84..d794228 100644 --- a/debian-stretch-jenkins/Dockerfile +++ b/debian-stretch-jenkins/Dockerfile @@ -53,6 +53,7 @@ libasound2-dev \ libboost-all-dev \ libc-ares-dev \ + libcdk5-dev \ libcsv-dev \ libdbd-sqlite3 \ libdbi-dev \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8c98542bf9902d6b4fbd2f8718006027b8520f19 Gerrit-Change-Number: 24596 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 14:36:13 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Jun 2021 14:36:13 +0000 Subject: Change in osmo-bts[master]: osmo-bts-octphy: drop talloc_replace(), use osmo_talloc_replace_string() 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/+/24597 to look at the new patch set (#2). Change subject: osmo-bts-octphy: drop talloc_replace(), use osmo_talloc_replace_string() ...................................................................... osmo-bts-octphy: drop talloc_replace(), use osmo_talloc_replace_string() Change-Id: Ied39cc594fedc712d751ab1c7b636bbbff527bd6 --- M src/osmo-bts-octphy/l1_oml.c 1 file changed, 10 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/97/24597/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24597 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ied39cc594fedc712d751ab1c7b636bbbff527bd6 Gerrit-Change-Number: 24597 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 14:39:34 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Jun 2021 14:39:34 +0000 Subject: Change in libosmocore[master]: utils: introduce osmo_talloc_replace_string_fmt() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24598 ) Change subject: utils: introduce osmo_talloc_replace_string_fmt() ...................................................................... utils: introduce osmo_talloc_replace_string_fmt() Change-Id: I6b84fa0525555a98c531fc558e5dc1298fec00c1 --- M include/osmocom/core/utils.h 1 file changed, 17 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/98/24598/1 diff --git a/include/osmocom/core/utils.h b/include/osmocom/core/utils.h index c9d5560..45dc3f7 100644 --- a/include/osmocom/core/utils.h +++ b/include/osmocom/core/utils.h @@ -117,6 +117,23 @@ *dst = talloc_strdup(ctx, newstr); } +static inline void osmo_talloc_replace_string_fmt(void *ctx, char **dst, + const char *fmt, ...) +{ + char *name = NULL; + + if (fmt != NULL) { + va_list ap; + + va_start(ap, fmt); + name = talloc_vasprintf(ctx, fmt, ap); + va_end(ap); + } + + talloc_free(*dst); + *dst = name; +} + /*! Append to a string and re-/allocate if necessary. * \param[in] ctx Talloc context to use for initial allocation. * \param[in,out] dest char* to re-/allocate and append to. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24598 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6b84fa0525555a98c531fc558e5dc1298fec00c1 Gerrit-Change-Number: 24598 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 Jun 7 14:48:19 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Jun 2021 14:48:19 +0000 Subject: Change in osmo-bts[master]: [VAMOS] trx_sched_init_ts(): assign names to per-timeslot counters 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/+/24592 to look at the new patch set (#2). Change subject: [VAMOS] trx_sched_init_ts(): assign names to per-timeslot counters ...................................................................... [VAMOS] trx_sched_init_ts(): assign names to per-timeslot counters Thanks to [1], it's now possible to associate a human-readable name with a rate counter group. Before this API, we had to use weird index values for each timeslot, and with introduction of the shadow timeslots the situation got even worse. In change [2] I introduced osmo_talloc_replace_string_fmt() to allow using a format string on the fly - use it in this patch. Change-Id: Ie872ab37661fa5d44f219f59c7daaa1033113289 Depends: [1] I0dc510783dd9ae8436dae8005a7b3330e80d36f3 Depends: [2] I6b84fa0525555a98c531fc558e5dc1298fec00c1 --- M TODO-RELEASE M src/common/scheduler.c 2 files changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/92/24592/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24592 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie872ab37661fa5d44f219f59c7daaa1033113289 Gerrit-Change-Number: 24592 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 14:49:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 14:49:06 +0000 Subject: Change in libosmocore[master]: utils: introduce osmo_talloc_replace_string_fmt() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24598 ) Change subject: utils: introduce osmo_talloc_replace_string_fmt() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24598/1/include/osmocom/core/utils.h File include/osmocom/core/utils.h: https://gerrit.osmocom.org/c/libosmocore/+/24598/1/include/osmocom/core/utils.h at 120 PS1, Line 120: static inline void osmo_talloc_replace_string_fmt(void *ctx, char **dst, Not sure whether having all this chunk with variable params as a static inline is a good idea. I'd rather have it as a regular function. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24598 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6b84fa0525555a98c531fc558e5dc1298fec00c1 Gerrit-Change-Number: 24598 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 14:49: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 Mon Jun 7 14:50:43 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Jun 2021 14:50:43 +0000 Subject: Change in osmo-msc[master]: msc_tx_common_id(): fix potential NULL pointer dereference In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24575 ) Change subject: msc_tx_common_id(): fix potential NULL pointer dereference ...................................................................... msc_tx_common_id(): fix potential NULL pointer dereference Reported by GCC 11.1.0. msc_a_vsub() may return NULL. Change-Id: Iebdd6399e819a03258398e6b7b453bda37e45a20 --- M src/libmsc/msc_a.c 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c index 391d251..05030d3 100644 --- a/src/libmsc/msc_a.c +++ b/src/libmsc/msc_a.c @@ -1638,6 +1638,8 @@ int msc_tx_common_id(struct msc_a *msc_a, enum msc_role to_role) { struct vlr_subscr *vsub = msc_a_vsub(msc_a); + if (vsub == NULL) + return -ENODEV; struct ran_msg msg = { .msg_type = RAN_MSG_COMMON_ID, .common_id = { -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24575 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Iebdd6399e819a03258398e6b7b453bda37e45a20 Gerrit-Change-Number: 24575 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 14:50:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 14:50:46 +0000 Subject: Change in osmo-bts[master]: [VAMOS] trx_sched_init_ts(): assign names to per-timeslot counters In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24592 ) Change subject: [VAMOS] trx_sched_init_ts(): assign names to per-timeslot counters ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24592/2/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/24592/2/src/common/scheduler.c at 625 PS2, Line 625: osmo_talloc_replace_string_fmt(l1ts->ctrs, &l1ts->ctrs->name, isn't there an API to set the field? Why aren't you simply using talloc_snprintf or alike and passing it to the proper API? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24592 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie872ab37661fa5d44f219f59c7daaa1033113289 Gerrit-Change-Number: 24592 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 14:50:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 14:59:39 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Jun 2021 14:59:39 +0000 Subject: Change in osmo-bts[master]: [VAMOS] trx_sched_init_ts(): assign names to per-timeslot counters In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24592 ) Change subject: [VAMOS] trx_sched_init_ts(): assign names to per-timeslot counters ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24592/2/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/24592/2/src/common/scheduler.c at 625 PS2, Line 625: osmo_talloc_replace_string_fmt(l1ts->ctrs, &l1ts->ctrs->name, > isn't there an API to set the field? There is rate_ctr_group_set_name() which accepts a constant string. I need a format string. That's why I introduced rate_ctr_group_set_name_fmt(). Then I was recommended to introduce a generic function for that, and this is what I did. > Why aren't you simply using talloc_snprintf or alike and passing it to the proper API? Again, because your API _duplicates_ the given string using talloc_strdup(), so I would need to allocate a string, pass it to rate_ctr_group_set_name() and then free() it. This looks ugly to me. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24592 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie872ab37661fa5d44f219f59c7daaa1033113289 Gerrit-Change-Number: 24592 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 14:59:39 +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 Jun 7 15:01:34 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Jun 2021 15:01:34 +0000 Subject: Change in libosmocore[master]: utils: introduce osmo_talloc_replace_string_fmt() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24598 ) Change subject: utils: introduce osmo_talloc_replace_string_fmt() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24598/1/include/osmocom/core/utils.h File include/osmocom/core/utils.h: https://gerrit.osmocom.org/c/libosmocore/+/24598/1/include/osmocom/core/utils.h at 120 PS1, Line 120: static inline void osmo_talloc_replace_string_fmt(void *ctx, char **dst, > Not sure whether having all this chunk with variable params as a static inline is a good idea. [?] What's wrong with having it here? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24598 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6b84fa0525555a98c531fc558e5dc1298fec00c1 Gerrit-Change-Number: 24598 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 15:01:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 15:18:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 15:18:46 +0000 Subject: Change in osmo-bts[master]: [VAMOS] trx_sched_init_ts(): assign names to per-timeslot counters In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24592 ) Change subject: [VAMOS] trx_sched_init_ts(): assign names to per-timeslot counters ...................................................................... Patch Set 2: Given that's done seldomly afaict, I'd welcome an extra alloc+free from time to time using APIs rather than acessing struct fields and causing potential ABI breakages in the future. We are even using that osmo_main_ctx thing allocating buffers in lots of places where a simple stack alloc would suffice, only for coding comodity... -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24592 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie872ab37661fa5d44f219f59c7daaa1033113289 Gerrit-Change-Number: 24592 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 15:18:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 16:18:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 16:18:42 +0000 Subject: Change in osmo-pcu[master]: pdch: Log pdch_ulc reason upon rx of pkt ctrl ack References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24599 ) Change subject: pdch: Log pdch_ulc reason upon rx of pkt ctrl ack ...................................................................... pdch: Log pdch_ulc reason upon rx of pkt ctrl ack Change-Id: I7c7a421b1e9189e2814e9a28698d66655fc9ba60 --- M src/pdch.cpp M src/pdch_ul_controller.c M src/pdch_ul_controller.h M tests/tbf/TbfTest.err 4 files changed, 30 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/99/24599/1 diff --git a/src/pdch.cpp b/src/pdch.cpp index cab81df..8e0a24a 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -333,7 +333,8 @@ tbf->update_ms(tlli, GPRS_RLCMAC_UL_TBF); - LOGPTBF(tbf, LOGL_DEBUG, "RX: [PCU <- BTS] Packet Control Ack\n"); + LOGPTBF(tbf, LOGL_DEBUG, "FN=%" PRIu32 " Rx Packet Control Ack (reason=%s)\n", + fn, get_value_string(pdch_ulc_tbf_poll_reason_names, reason)); pdch_ulc_release_fn(ulc, fn); /* check if this control ack belongs to packet uplink ack */ @@ -420,8 +421,9 @@ */ return; } - LOGPDCH(this, DRLCMAC, LOGL_ERROR, - "Error: received PACET CONTROL ACK at no request\n"); + LOGPDCH(this, DRLCMAC, LOGL_ERROR, "FN=%" PRIu32 " " + "Error: received PACKET CONTROL ACK at no request (reason=%s)\n", fn, + get_value_string(pdch_ulc_tbf_poll_reason_names, reason)); } void gprs_rlcmac_pdch::rcv_control_dl_ack_nack(Packet_Downlink_Ack_Nack_t *ack_nack, uint32_t fn, struct pcu_l1_meas *meas) diff --git a/src/pdch_ul_controller.c b/src/pdch_ul_controller.c index f8089ff..e7a721c 100644 --- a/src/pdch_ul_controller.c +++ b/src/pdch_ul_controller.c @@ -38,6 +38,15 @@ { 0, NULL } }; +const struct value_string pdch_ulc_tbf_poll_reason_names[] = { + { PDCH_ULC_POLL_UL_ASS, "UL_ASS" }, + { PDCH_ULC_POLL_DL_ASS, "DL_ASS" }, + { PDCH_ULC_POLL_UL_ACK, "UL_ACK" }, + { PDCH_ULC_POLL_DL_ACK, "DL_ACK" }, + { PDCH_ULC_POLL_CELL_CHG_CONTINUE, "CELL_CHG_CONTINUE" }, + { 0, NULL } +}; + #define GSM_MAX_FN_THRESH (GSM_MAX_FN >> 1) /* 0: equal, -1: fn1 BEFORE fn2, 1: fn1 AFTER fn2 */ static inline int fn_cmp(uint32_t fn1, uint32_t fn2) diff --git a/src/pdch_ul_controller.h b/src/pdch_ul_controller.h index 776f5ba..c56945f 100644 --- a/src/pdch_ul_controller.h +++ b/src/pdch_ul_controller.h @@ -59,6 +59,7 @@ PDCH_ULC_POLL_DL_ACK, /* Expect DL ACK/NACK requested by RRBP */ PDCH_ULC_POLL_CELL_CHG_CONTINUE, /* Expect CTRL ACK for Pkt cell Change Continue we transmit */ }; +extern const struct value_string pdch_ulc_tbf_poll_reason_names[]; struct pdch_ulc_node { struct rb_node node; /*! entry in pdch_ulc->tree_root */ diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index c2bcb57..0306562 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1602,7 +1602,7 @@ Detected FN jump! 2654270 -> 2654283 PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack +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}: state_chg to FLOW @@ -1686,7 +1686,7 @@ Detected FN jump! 2654270 -> 2654283 PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack +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}: state_chg to FLOW @@ -1737,7 +1737,7 @@ Detected FN jump! 2654275 -> 2654288 PDCH(bts=0,trx=0,ts=7) FN=2654288 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654288 ------------------------- RX : Uplink Control Block ------------------------- -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) RX: [PCU <- BTS] Packet Control Ack +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}: state_chg to FLOW @@ -1840,7 +1840,7 @@ Detected FN jump! 2654348 -> 2654361 PDCH(bts=0,trx=0,ts=7) FN=2654361 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654361 ------------------------- RX : Uplink Control Block ------------------------- -TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack +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}: state_chg to FLOW @@ -1917,7 +1917,7 @@ Detected FN jump! 2654270 -> 2654283 PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack +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}: state_chg to FLOW @@ -2003,7 +2003,7 @@ Detected FN jump! 2654327 -> 2654340 PDCH(bts=0,trx=0,ts=7) FN=2654340 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654340 ------------------------- RX : Uplink Control Block ------------------------- -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack +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}: state_chg to FLOW @@ -2062,7 +2062,7 @@ Detected FN jump! 2654270 -> 2654283 PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack +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}: state_chg to FLOW @@ -2210,7 +2210,7 @@ Detected FN jump! 2654270 -> 2654283 PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack +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}: state_chg to FLOW @@ -2301,7 +2301,7 @@ Detected FN jump! 2654275 -> 2654288 PDCH(bts=0,trx=0,ts=7) FN=2654288 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654288 ------------------------- RX : Uplink Control Block ------------------------- -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) RX: [PCU <- BTS] Packet Control Ack +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}: state_chg to FLOW @@ -2969,7 +2969,7 @@ Detected FN jump! 2654379 -> 2654409 PDCH(bts=0,trx=0,ts=7) FN=2654409 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654409 ------------------------- RX : Uplink Control Block ------------------------- -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) RX: [PCU <- BTS] Packet Control Ack +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) FN=2654409 Rx Packet Control Ack (reason=DL_ACK) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) [UPLINK] DOWNLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(DL-TFI_0){WAIT_RELEASE}: state_chg to RELEASING @@ -3347,7 +3347,7 @@ Detected FN jump! 2654270 -> 2654283 PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack +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}: state_chg to FLOW @@ -3439,7 +3439,7 @@ Detected FN jump! 2654270 -> 2654283 PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack +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}: state_chg to FLOW @@ -6062,7 +6062,7 @@ Detected FN jump! 2654270 -> 2654283 PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack +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}: state_chg to FLOW @@ -6227,7 +6227,7 @@ Detected FN jump! 2654270 -> 2654283 PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack +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}: state_chg to FLOW @@ -6562,7 +6562,7 @@ Detected FN jump! 2654270 -> 2654283 PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack +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}: state_chg to FLOW -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24599 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I7c7a421b1e9189e2814e9a28698d66655fc9ba60 Gerrit-Change-Number: 24599 Gerrit-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 Jun 7 17:48:09 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Jun 2021 17:48:09 +0000 Subject: Change in osmo-bts[master]: osmo-bts-octphy: drop talloc_replace(), use osmo_talloc_replace_string() 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/+/24597 to look at the new patch set (#3). Change subject: osmo-bts-octphy: drop talloc_replace(), use osmo_talloc_replace_string() ...................................................................... osmo-bts-octphy: drop talloc_replace(), use osmo_talloc_replace_string() Change-Id: Ied39cc594fedc712d751ab1c7b636bbbff527bd6 --- M src/osmo-bts-octphy/l1_oml.c 1 file changed, 10 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/97/24597/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24597 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ied39cc594fedc712d751ab1c7b636bbbff527bd6 Gerrit-Change-Number: 24597 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 18:04:05 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Jun 2021 18:04:05 +0000 Subject: Change in osmo-pcu[master]: pdch: Log pdch_ulc reason upon rx of pkt ctrl ack In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24599 ) Change subject: pdch: Log pdch_ulc reason upon rx of pkt ctrl ack ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24599 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I7c7a421b1e9189e2814e9a28698d66655fc9ba60 Gerrit-Change-Number: 24599 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 07 Jun 2021 18:04: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 Jun 7 18:28:15 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 7 Jun 2021 18:28:15 +0000 Subject: Change in osmo-bsc[master]: handover_ctrl: add control interface for handover settings References: Message-ID: dexter has uploaded this change for review. ( 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 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, 206 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/00/24600/1 diff --git a/doc/manuals/chapters/control.adoc b/doc/manuals/chapters/control.adoc index 6b1609a..ec87a72 100644 --- a/doc/manuals/chapters/control.adoc +++ b/doc/manuals/chapters/control.adoc @@ -38,6 +38,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. +|handover_ho_active|RW|No|"0","1","default"|Enable/disable handover. +|handover_algorithm|RW|No|"1","2","default"|Choose algorithm for handover decision (hodec1 or hodec2). +|handover_hodec1_rxlev_avg_win|RW|No|<1-10>,"default"|How many RxLev measurements to use for averaging. +|handover_hodec1_rxqual_avg_win|RW|No|<1-10>,"default"|How many RxQual measurements to use for averaging. +|handover_hodec1_rxlev_neigh_avg_win|RW|No|<1-10>,"default"|How many Neighbor RxLev measurements to use for averaging. +|handover_hodec1_pwr_interval|RW|No|<1-99>,"default"|How often to check for a better cell (SACCH frames). +|handover_hodec1_pwr_hysteresis|RW|No|<0-999>,"default"|How many dB stronger must a neighbor be to become a HO candidate. +|handover_hodec1_max_distance|RW|No|<0-9999>,"default"|Maximum Timing-Advance value (i.e. MS distance) before triggering HO. +|handover_hodec2_rxlev_avg_win|RW|No|<1-10>,"default"|How many RxLev measurements to use for averaging. +|handover_hodec2_rxqual_avg_win|RW|No|<1-10>,"default"|How many RxQual measurements to use for averaging. +|handover_hodec2_rxlev_neigh_avg_win|RW|No|<1-10>,"default"|window rxlev neighbor averaging. +|handover_hodec2_pwr_interval|RW|No|<1-99>,"default"|How many dB stronger must a neighbor be to become a HO candidate. +|handover_hodec2_pwr_hysteresis|RW|No|<0-999>,"default"|How many dB stronger must a neighbor be to become a HO candidate. +|handover_hodec2_max_distance|RW|No|<0-9999>,"default"|Maximum Timing-Advance value (i.e. MS distance) before triggering HO. +|handover_hodec2_as_active|RW|No|"0","1","default"|Enable or disable in-call channel re-assignment within the same cell. +|handover_hodec2_full_tdma|RW|No|"full","subset","default"|Define measurement set of TDMA frames. +|handover_hodec2_min_rxlev|RW|No|<-110--50>,"default"|How weak may RxLev of an MS become before triggering HO. +|handover_hodec2_min_rxqual|RW|No|<0-7>,"default"|How bad may RxQual of an MS become before triggering HO. +|handover_hodec2_afs_bias_rxlev|RW|No|<0-20>,"default"|RxLev improvement bias for AFS over other codecs. +|handover_hodec2_afs_bias_rxqual|RW|No|<0-7>,"default"|RxQual improvement bias for AFS over other codecs. +|handover_hodec2_tchf_min_slots|RW|No|<0-9999>,"default"|Minimum free TCH/F timeslots before cell is considered congested. +|handover_hodec2_tchh_min_slots|RW|No|<0-9999>,"default"|Minimum free TCH/H timeslots before cell is considered congested. +|handover_hodec2_ho_max|RW|No|<1-9999>,"default"|Maximum number of concurrent handovers allowed per cell. +|handover_hodec2_penalty_max_dist|RW|No|<0-99999>,"default"|ime to suspend handover for a subscriber after leaving this cell due to exceeding max distance. +|handover_hodec2_penalty_failed_ho|RW|No|<0-99999>,"default"|Time to suspend handover for a subscriber after a failed handover into this cell. +|handover_hodec2_penalty_failed_as|RW|No|<0-99999>,"default"|Time to suspend handover for a subscriber after a failed re-assignment within this cell. +|handover_hodec2_retries|RW|No|<0-9>,"default"|Number of times to immediately retry a failed handover/assignment, before a penalty time is applied. +|handover_congestion_check_interval|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 be27dae..f157071 100644 --- a/include/osmocom/bsc/Makefile.am +++ b/include/osmocom/bsc/Makefile.am @@ -22,6 +22,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..75d0933 --- /dev/null +++ b/include/osmocom/bsc/handover_ctrl.h @@ -0,0 +1,3 @@ +#pragma once + +int bsc_ho_ctrl_cmds_install(void); diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am index f91c6bf..b2913c1 100644 --- a/src/osmo-bsc/Makefile.am +++ b/src/osmo-bsc/Makefile.am @@ -60,6 +60,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..0c42236 --- /dev/null +++ b/src/osmo-bsc/handover_ctrl.c @@ -0,0 +1,168 @@ +/* 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 + +/* Verify a VTY command argument against its value specification, the value + * specification may be in the form of "" or "A|B|C|..." */ +bool verify_vty_cmd_arg(void *ctx, const char *range, const char *value) +{ + bool success; + int range_from; + int range_to; + int value_int; + char *range_tok; + char *valid_val; + int rc; + + /* "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] == '<') { + rc = sscanf(range, "<%i-%i>", &range_from, &range_to); + if (rc == 2) { + rc = sscanf(value, "%i", &value_int); + if (rc != 1) + return false; + if (value_int < range_from) + return false; + if (value_int > range_to) + return false; + return true; + } + } + + /* 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; +} + +#define HO_CFG_ONE_MEMBER(TYPE, NAME, DEFAULT_VAL, VTY0, VTY_CMD, VTY_CMD_ARG, VTY_ARG_EVAL, VTY_WRITE_FMT, VTY_WRITE_CONV, VTY6) \ +CTRL_CMD_DEFINE(NAME, "handover_"#NAME); \ +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; \ +} \ + +/* 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, "handover_congestion_check_interval"); +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 CTRL_CMD_REPLY; +} + +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; +} + +int bsc_ho_ctrl_cmds_install(void) +{ + int rc = 0; + +#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, &cmd_##NAME);\ + +HO_CFG_ALL_MEMBERS +#undef HO_CFG_ONE_MEMBER + rc |= ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_congestion_check_interval); + + return rc; +} diff --git a/src/osmo-bsc/osmo_bsc_ctrl.c b/src/osmo-bsc/osmo_bsc_ctrl.c index 05bc86c..5ecee36 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(); + 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 f0b2e7a..e8ebb56 100644 --- a/tests/handover/Makefile.am +++ b/tests/handover/Makefile.am @@ -49,6 +49,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: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 19:06:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Jun 2021 19:06:51 +0000 Subject: Change in osmo-bts[master]: osmo-bts-octphy: drop talloc_replace(), use osmo_talloc_replace_string() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24597 ) Change subject: osmo-bts-octphy: drop talloc_replace(), use osmo_talloc_replace_string() ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24597 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ied39cc594fedc712d751ab1c7b636bbbff527bd6 Gerrit-Change-Number: 24597 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 19:06:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 19:28:45 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Jun 2021 19:28:45 +0000 Subject: Change in osmo-bsc[master]: add missing AMR config for RTP activation after mode modify In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24466 ) Change subject: add missing AMR config for RTP activation after mode modify ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I842fe7a14a91d1ec123cb4a3f52afe34456c03e3 Gerrit-Change-Number: 24466 Gerrit-PatchSet: 7 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 19:28: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 Jun 7 19:39:42 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Jun 2021 19:39:42 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24374 ) Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... Patch Set 18: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 18 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 19:39:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 19:43:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Jun 2021 19:43:24 +0000 Subject: Change in osmo-bsc[master]: implement CHANnel ACTIVate to VAMOS mode In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24375 ) Change subject: implement CHANnel ACTIVate to VAMOS mode ...................................................................... Patch Set 18: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec Gerrit-Change-Number: 24375 Gerrit-PatchSet: 18 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 19:43:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 19:44:27 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Jun 2021 19:44:27 +0000 Subject: Change in osmo-bsc[master]: RR Assignment for VAMOS: send TSC Set In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24376 ) Change subject: RR Assignment for VAMOS: send TSC Set ...................................................................... Patch Set 18: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf3b6d276fadf724c16a5225c03e96a27a056153 Gerrit-Change-Number: 24376 Gerrit-PatchSet: 18 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 19:44:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 20:00:07 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Jun 2021 20:00:07 +0000 Subject: Change in osmo-bsc[master]: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24430 ) Change subject: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans ...................................................................... Patch Set 15: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24430/15/src/osmo-bsc/bts_trx.c File src/osmo-bsc/bts_trx.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24430/15/src/osmo-bsc/bts_trx.c at 167 PS15, Line 167: switch (cbits) { You could use RSL_CHAN_OSMO_VAMOS_MASK here: switch (cbits) { case ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Bm_ACCHs: case ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Lm_ACCHs(0): case ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Lm_ACCHs(1): cbits &= ~RSL_CHAN_OSMO_VAMOS_MASK; vamos = true; break; } or even simpler (you may not like this solution): if (cbits & RSL_CHAN_OSMO_VAMOS_MASK) { cbits &= ~RSL_CHAN_OSMO_VAMOS_MASK; vamos = true; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 Gerrit-Change-Number: 24430 Gerrit-PatchSet: 15 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 07 Jun 2021 20:00:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 20:04:34 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Jun 2021 20:04:34 +0000 Subject: Change in osmo-bsc[master]: VTY: add lchan re-assignment command In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24381 ) Change subject: VTY: add lchan re-assignment command ...................................................................... Patch Set 25: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If006f5caaf83b07675f57e5665cfa79328da55e6 Gerrit-Change-Number: 24381 Gerrit-PatchSet: 25 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 07 Jun 2021 20:04:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 20:13:39 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 7 Jun 2021 20:13:39 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: refactor MGCP_DUMMY_LOAD In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24315 ) Change subject: mgcp_network: refactor MGCP_DUMMY_LOAD ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24315/2/include/osmocom/mgcp/mgcp_network.h File include/osmocom/mgcp/mgcp_network.h: https://gerrit.osmocom.org/c/osmo-mgw/+/24315/2/include/osmocom/mgcp/mgcp_network.h at 19 PS2, Line 19: memcmp(msgb_data(msg), rtp_dummy_payload, sizeof(rtp_dummy_payload)) == 0)) > how many hundreds of thousands of time are we executing this per second to care about optimizing awa [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I21d96cefeeb647958bfa1e22a0ea030884746fad Gerrit-Change-Number: 24315 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Mon, 07 Jun 2021 20:13:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels 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 Mon Jun 7 20:14:35 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 7 Jun 2021 20:14:35 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: refactor MGCP_DUMMY_LOAD In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24315 ) Change subject: mgcp_network: refactor MGCP_DUMMY_LOAD ...................................................................... mgcp_network: refactor MGCP_DUMMY_LOAD The constant MGCP_DUMMY_LOAD is used ambigously. Sometimes it is used as initalizer for an array, sometimes it is used as a single byte. Also the name is not very expressive. Lets refactor this. Change-Id: I21d96cefeeb647958bfa1e22a0ea030884746fad Related: OS#4005 --- M include/osmocom/mgcp/mgcp_network.h M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_osmux.c M tests/mgcp/mgcp_test.c 4 files changed, 59 insertions(+), 13 deletions(-) Approvals: fixeria: 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 6e1e52c..1766f4a 100644 --- a/include/osmocom/mgcp/mgcp_network.h +++ b/include/osmocom/mgcp/mgcp_network.h @@ -7,7 +7,16 @@ #include -#define MGCP_DUMMY_LOAD 0x23 +/* The following constant defines an RTP dummy payload that is used for + * "UDP Hole Punching" (NAT) */ +static const char rtp_dummy_payload[] = { 0x23 }; + +/* Check if the data in a given message buffer matches the rtp dummy payload + * defined above */ +#define mgcp_is_rtp_dummy_payload(msg) \ + (msgb_length(msg) == sizeof(rtp_dummy_payload) && \ + memcmp(msgb_data(msg), rtp_dummy_payload, sizeof(rtp_dummy_payload)) == 0) + #define RTP_BUF_SIZE 4096 struct mgcp_rtp_stream_state { diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 79ddf8a..1b7c3bd 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -205,7 +205,6 @@ * \returns bytes sent, -1 on error. */ int mgcp_send_dummy(struct mgcp_endpoint *endp, struct mgcp_conn_rtp *conn) { - static char buf[] = { MGCP_DUMMY_LOAD }; int rc; int was_rtcp = 0; @@ -216,7 +215,7 @@ mgcp_conn_dump(conn->conn)); rc = mgcp_udp_send(conn->end.rtp.fd, &conn->end.addr, - conn->end.rtp_port, buf, 1); + conn->end.rtp_port, rtp_dummy_payload, sizeof(rtp_dummy_payload)); if (rc == -1) goto failed; @@ -226,7 +225,7 @@ was_rtcp = 1; rc = mgcp_udp_send(conn->end.rtcp.fd, &conn->end.addr, - conn->end.rtcp_port, buf, 1); + conn->end.rtcp_port, rtp_dummy_payload, sizeof(rtp_dummy_payload)); if (rc >= 0) return rc; @@ -1398,11 +1397,6 @@ mgcp_cleanup_rtp_bridge_cb(endp, conn); } -static bool is_dummy_msg(enum rtp_proto proto, struct msgb *msg) -{ - return msgb_length(msg) == 1 && msgb_data(msg)[0] == MGCP_DUMMY_LOAD; -} - /* Handle incoming RTP data from NET */ static int rtp_data_net(struct osmo_fd *fd, unsigned int what) { @@ -1453,7 +1447,7 @@ goto out; } - if (is_dummy_msg(proto, msg)) { + if (mgcp_is_rtp_dummy_payload(msg)) { LOG_CONN_RTP(conn_src, LOGL_DEBUG, "rx dummy packet (dropped)\n"); rc = 0; goto out; diff --git a/src/libosmo-mgcp/mgcp_osmux.c b/src/libosmo-mgcp/mgcp_osmux.c index bb85735..8f0a906 100644 --- a/src/libosmo-mgcp/mgcp_osmux.c +++ b/src/libosmo-mgcp/mgcp_osmux.c @@ -375,7 +375,7 @@ } /* not any further processing dummy messages */ - if (msg->data[0] == MGCP_DUMMY_LOAD) + if (mgcp_is_rtp_dummy_payload(msg)) return osmux_handle_dummy(cfg, &addr, msg); rem = msg->len; diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index 74ecfe8..2ca0b4c 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include @@ -616,7 +617,6 @@ return MGCP_POLICY_CONT; } -#define MGCP_DUMMY_LOAD 0x23 static int dummy_packets = 0; /* override and forward */ ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, @@ -626,7 +626,8 @@ htonl(((struct sockaddr_in *)dest_addr)->sin_addr.s_addr); int dest_port = htons(((struct sockaddr_in *)dest_addr)->sin_port); - if (len == 1 && ((const char *)buf)[0] == MGCP_DUMMY_LOAD) { + if (len == sizeof(rtp_dummy_payload) + && memcmp(buf, rtp_dummy_payload, sizeof(rtp_dummy_payload)) == 0) { fprintf(stderr, "Dummy packet to 0x%08x:%d, msg length %zu\n%s\n\n", dest_host, dest_port, len, osmo_hexdump(buf, len)); @@ -2161,6 +2162,47 @@ return; } +void test_mgcp_is_rtp_dummy_payload() +{ + /* realistic rtp packet */ + static const char rtp_payload[] = + { 0x80, 0x03, 0xca, 0xd7, 0x62, 0x12, 0x75, 0xc4, 0x43, 0x4b, 0x3e, + 0x72, 0xd2, 0x57, 0x7a, 0x1c, 0xda, 0x50, 0x00, 0x49, 0x24, 0x92, + 0x49, 0x24, 0x50, 0x00, 0x49, 0x24, 0x92, 0x49, 0x24, 0x50, 0x00, + 0x49, 0x24, 0x92, 0x49, 0x24, 0x50, 0x00, 0x49, 0x23, 0x92, 0x49, + 0x24 }; + + struct msgb *msg_dummy = msgb_alloc(RTP_BUF_SIZE, "RTP-msg_dummy"); + struct msgb *msg_rtp = msgb_alloc(RTP_BUF_SIZE, "RTP-msg_rtp"); + struct msgb *msg_dummy_rtp = + msgb_alloc(RTP_BUF_SIZE, "RTP-msg_dummy_rtp"); + + uint8_t *buf; + + /* Dummy RTP packet */ + buf = msgb_put(msg_dummy, ARRAY_SIZE(rtp_dummy_payload)); + memcpy(buf, rtp_dummy_payload, ARRAY_SIZE(rtp_dummy_payload)); + + /* Normal RTP packet */ + buf = msgb_put(msg_rtp, ARRAY_SIZE(rtp_payload)); + memcpy(buf, rtp_payload, ARRAY_SIZE(rtp_payload)); + + /* Dummy RTP packet with normal RTP packet attached, this must not be + * recognized as Dummy RTP packet */ + buf = msgb_put(msg_dummy_rtp, ARRAY_SIZE(rtp_dummy_payload)); + memcpy(buf, rtp_dummy_payload, ARRAY_SIZE(rtp_dummy_payload)); + buf = msgb_put(msg_dummy_rtp, ARRAY_SIZE(rtp_payload)); + memcpy(buf, rtp_payload, ARRAY_SIZE(rtp_payload)); + + OSMO_ASSERT(mgcp_is_rtp_dummy_payload(msg_dummy) == true); + OSMO_ASSERT(mgcp_is_rtp_dummy_payload(msg_rtp) == false); + OSMO_ASSERT(mgcp_is_rtp_dummy_payload(msg_dummy_rtp) == false); + + msgb_free(msg_dummy); + msgb_free(msg_rtp); + msgb_free(msg_dummy_rtp); +} + int main(int argc, char **argv) { void *ctx = talloc_named_const(NULL, 0, "mgcp_test"); @@ -2187,6 +2229,7 @@ test_mgcp_codec_pt_translate(); test_conn_id_matching(); test_e1_trunk_nr_from_epname(); + test_mgcp_is_rtp_dummy_payload(); OSMO_ASSERT(talloc_total_size(msgb_ctx) == 0); OSMO_ASSERT(talloc_total_blocks(msgb_ctx) == 1); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I21d96cefeeb647958bfa1e22a0ea030884746fad Gerrit-Change-Number: 24315 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 7 20:29:46 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Jun 2021 20:29:46 +0000 Subject: Change in osmo-bts[master]: l1sap: fix TDMA frame number arithmetic in fn_ms_adj() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24601 ) Change subject: l1sap: fix TDMA frame number arithmetic in fn_ms_adj() ...................................................................... l1sap: fix TDMA frame number arithmetic in fn_ms_adj() Using the normal arithmetic for TDMA frame numbers is wrong. Change-Id: Ie17670d150489014a4a2e140cede42086100bbc0 --- M src/common/l1sap.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/01/24601/1 diff --git a/src/common/l1sap.c b/src/common/l1sap.c index cd2af57..1e302ce 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -139,7 +139,8 @@ /* 12/13 frames usable for audio in TCH, 160 samples per RTP packet, 1 RTP packet per 4 frames */ - samples_passed = (fn - lchan->tch.last_fn) * 12 * 160 / (13 * 4); + samples_passed = GSM_TDMA_FN_SUB(fn, lchan->tch.last_fn); + samples_passed = samples_passed * 12 * 160 / (13 * 4); /* round number of samples to the nearest multiple of GSM_RTP_DURATION */ r = samples_passed + GSM_RTP_DURATION / 2; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie17670d150489014a4a2e140cede42086100bbc0 Gerrit-Change-Number: 24601 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 Jun 7 20:40:45 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 7 Jun 2021 20:40:45 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: do not crash when lco/sdp can not be generated 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/+/24182 to look at the new patch set (#3). Change subject: mgcp_client: do not crash when lco/sdp can not be generated ...................................................................... mgcp_client: do not crash when lco/sdp can not be generated The functions add_lco and add_sdp assert when the codec string can not be generated. This is the case when an unexpected codec is addressed in the input parameter mgcp_msg for mgcp_msg_gen(). Even though the API user is expected only to use the codec identifiers in mgcp_client.h the check should not be done with an assert. Instead mgcp_msg_gen() should just return NULL. Change-Id: Ibb788343e0bec9c0eaf33e6e4727d4d36c100017 Related: OS#5119 --- M src/libosmo-mgcp-client/mgcp_client.c 1 file changed, 16 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/82/24182/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb788343e0bec9c0eaf33e6e4727d4d36c100017 Gerrit-Change-Number: 24182 Gerrit-PatchSet: 3 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 Mon Jun 7 20:40:45 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 7 Jun 2021 20:40:45 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: drop nunnecessary else statement References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24602 ) Change subject: mgcp_client: drop nunnecessary else statement ...................................................................... mgcp_client: drop nunnecessary else statement There is an elarly return statement, so there is no need for an else branch. Change-Id: I96d0d468ccab302f9add206164f4d5b1b768bb48 --- M src/libosmo-mgcp-client/mgcp_client.c 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/02/24602/1 diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index fbc4cf5..7367b40 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -1390,8 +1390,7 @@ rc_sdp = add_sdp(msg, mgcp_msg, mgcp); if (rc_sdp == -2) return NULL; - else - rc += rc_sdp; + rc += rc_sdp; } if (rc != 0) { -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I96d0d468ccab302f9add206164f4d5b1b768bb48 Gerrit-Change-Number: 24602 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 Jun 7 20:41:03 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 7 Jun 2021 20:41:03 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: do not crash when lco/sdp can not be generated In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24182 ) Change subject: mgcp_client: do not crash when lco/sdp can not be generated ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/24182/2/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24182/2/src/libosmo-mgcp-client/mgcp_client.c at 1236 PS2, Line 1236: } else > no need for else here, there's early return. [?] Done https://gerrit.osmocom.org/c/osmo-mgw/+/24182/2/src/libosmo-mgcp-client/mgcp_client.c at 1353 PS2, Line 1353: else > same here, no need for else. Done -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb788343e0bec9c0eaf33e6e4727d4d36c100017 Gerrit-Change-Number: 24182 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Jun 2021 20:41:03 +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 Jun 8 00:02:10 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Jun 2021 00:02:10 +0000 Subject: Change in osmo-bts[master]: conf_lchans_as_pchan(): fix GSM_LCHAN_{CCCH->CBCH} regression References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24603 ) Change subject: conf_lchans_as_pchan(): fix GSM_LCHAN_{CCCH->CBCH} regression ...................................................................... conf_lchans_as_pchan(): fix GSM_LCHAN_{CCCH->CBCH} regression This regression was introduced (by me) in [1] and broke CCCH. Change-Id: I403ad06574a8505b69dd06781f7fe0f7cabf416f Fixes: [1] I1c5a033e89d9ca5fb01ebe9ffb521fd67d159bee Related: SYS#4895, OS#4941 --- M src/common/oml.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/03/24603/1 diff --git a/src/common/oml.c b/src/common/oml.c index 0e7fbd5..6acc6b1 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -834,7 +834,7 @@ ts->lchan[2].type = GSM_LCHAN_CBCH; /* fallthrough */ case GSM_PCHAN_CCCH: - ts->lchan[CCCH_LCHAN].type = GSM_LCHAN_CBCH; + ts->lchan[CCCH_LCHAN].type = GSM_LCHAN_CCCH; break; case GSM_PCHAN_TCH_F: if (ts->vamos.peer != NULL) { /* VAMOS: enable shadow lchans */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24603 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I403ad06574a8505b69dd06781f7fe0f7cabf416f Gerrit-Change-Number: 24603 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 Jun 8 00:02:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Jun 2021 00:02:26 +0000 Subject: Change in osmo-bts[master]: conf_lchans_as_pchan(): initialize all lchans with GSM_LCHAN_NONE References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24604 ) Change subject: conf_lchans_as_pchan(): initialize all lchans with GSM_LCHAN_NONE ...................................................................... conf_lchans_as_pchan(): initialize all lchans with GSM_LCHAN_NONE This function is called during the OML bootstrapping and when a dynamic timeslot switches between PDCH and TCH/{F,H}. In the later case, while changing from TCH/{F,H} to PDCH, some lchans would still have the old type assigned after this function. Let's ensure that all logical channels are properly updated. Change-Id: I44726f2bfb979c2fa2f5f30c5b11700cf4b3399d Related: SYS#5313, OS#1569 --- M src/common/oml.c 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/04/24604/1 diff --git a/src/common/oml.c b/src/common/oml.c index 6acc6b1..8b84f85 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -826,6 +826,9 @@ int conf_lchans_as_pchan(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config pchan) { + /* Initialize all lchans with GSM_LCHAN_NONE first */ + lchans_type_set(ts, GSM_LCHAN_NONE, ARRAY_SIZE(ts->lchan)); + switch (pchan) { case GSM_PCHAN_CCCH_SDCCH4_CBCH: case GSM_PCHAN_CCCH_SDCCH4: -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I44726f2bfb979c2fa2f5f30c5b11700cf4b3399d Gerrit-Change-Number: 24604 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 Jun 8 00:06:43 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Jun 2021 00:06:43 +0000 Subject: Change in osmo-bts[master]: conf_lchans_as_pchan(): initialize all lchans with GSM_LCHAN_NONE In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bts/+/24604 ) Change subject: conf_lchans_as_pchan(): initialize all lchans with GSM_LCHAN_NONE ...................................................................... conf_lchans_as_pchan(): initialize all lchans with GSM_LCHAN_NONE This function is called during the OML bootstrapping, and also when a dynamic timeslot switches between PDCH and TCH/{F,H}. In the later case, after switching from TCH/{F,H} to PDCH, some lchans might still have the old type assigned. Let's ensure that all logical channels are properly updated. Change-Id: I44726f2bfb979c2fa2f5f30c5b11700cf4b3399d Related: SYS#5313, OS#1569 --- M src/common/oml.c 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/04/24604/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I44726f2bfb979c2fa2f5f30c5b11700cf4b3399d Gerrit-Change-Number: 24604 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 8 00:51:05 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Jun 2021 00:51:05 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: do not crash when lco/sdp can not be generated In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24182 ) Change subject: mgcp_client: do not crash when lco/sdp can not be generated ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24182/3/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24182/3/src/libosmo-mgcp-client/mgcp_client.c at 1352 PS3, Line 1352: rc_lco == -2 Is there anything special about -2? I would just check if it's negative. Not critical. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb788343e0bec9c0eaf33e6e4727d4d36c100017 Gerrit-Change-Number: 24182 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 00:51: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 Tue Jun 8 00:52:01 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Jun 2021 00:52:01 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: drop nunnecessary else statement In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24602 ) Change subject: mgcp_client: drop nunnecessary else statement ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I96d0d468ccab302f9add206164f4d5b1b768bb48 Gerrit-Change-Number: 24602 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 00:52: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 Jun 8 01:04:25 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 8 Jun 2021 01:04:25 +0000 Subject: Change in osmo-bsc[master]: hodec2: add handover_test cases for upgrade of TCH/H -> TCH/F In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24571 to look at the new patch set (#4). Change subject: hodec2: add handover_test cases for upgrade of TCH/H -> TCH/F ...................................................................... hodec2: add handover_test cases for upgrade of TCH/H -> TCH/F Add test_amr_tch_h_and_afs_bias.ho_vty test_amr_tch_h_to_f_rxlev.ho_vty test_amr_tch_h_to_f_rxlev_congested.ho_vty test_amr_tch_h_to_f_rxqual.ho_vty test_amr_tch_h_to_f_rxqual_congested.ho_vty Related: SYS#5198 SYS#5365 Change-Id: Ib88f7e00d8bd77e2b02a7242a0fab4dd79333037 --- M tests/handover/handover_tests.ok A tests/handover/test_amr_tch_h_and_afs_bias.ho_vty A tests/handover/test_amr_tch_h_to_f_rxlev.ho_vty A tests/handover/test_amr_tch_h_to_f_rxlev_congested.ho_vty A tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty A tests/handover/test_amr_tch_h_to_f_rxqual_congested.ho_vty 6 files changed, 210 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/71/24571/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib88f7e00d8bd77e2b02a7242a0fab4dd79333037 Gerrit-Change-Number: 24571 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 8 01:04:26 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 8 Jun 2021 01:04:26 +0000 Subject: Change in osmo-bsc[master]: cosmetic prep: hodec2: move is_upgrade_to_tchf() further up References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24605 ) Change subject: cosmetic prep: hodec2: move is_upgrade_to_tchf() further up ...................................................................... cosmetic prep: hodec2: move is_upgrade_to_tchf() further up Preparation for Id40d1cf8b58410c7d4eb87407fe8b8106e352438 Related: SYS#5198 SYS#5365 Change-Id: I3fd0e257e033c573017ce62e3efc19b094acf73c --- M src/osmo-bsc/handover_decision_2.c 1 file changed, 7 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/05/24605/1 diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index b2027d9..3e86a92 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -167,6 +167,13 @@ static void congestion_check_cb(void *arg); +static bool is_upgrade_to_tchf(const struct ho_candidate *c, uint8_t for_requirement) +{ + return c->current.lchan + && (c->current.lchan->type == GSM_LCHAN_TCH_H) + && ((c->requirements & for_requirement) & (REQUIREMENT_B_TCHF | REQUIREMENT_C_TCHF)); +} + static unsigned int ts_usage_count(struct gsm_bts_trx_ts *ts) { struct gsm_lchan *lchan; @@ -1535,13 +1542,6 @@ || lchan->ts->pchan_on_init == GSM_PCHAN_TCH_F_PDCH; } -static bool is_upgrade_to_tchf(const struct ho_candidate *c, uint8_t for_requirement) -{ - return c->current.lchan - && (c->current.lchan->type == GSM_LCHAN_TCH_H) - && ((c->requirements & for_requirement) & (REQUIREMENT_B_TCHF | REQUIREMENT_C_TCHF)); -} - /* Given two candidates, pick the one that should rather be moved during handover. * Return the better candidate in out-parameters best_cand and best_avg_db. */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3fd0e257e033c573017ce62e3efc19b094acf73c Gerrit-Change-Number: 24605 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 Jun 8 01:04:27 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 8 Jun 2021 01:04:27 +0000 Subject: Change in osmo-bsc[master]: hodec2: fix is_upgrade_to_tchf() for requirement A References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24606 ) Change subject: hodec2: fix is_upgrade_to_tchf() for requirement A ...................................................................... hodec2: fix is_upgrade_to_tchf() for requirement A Add missing REQUIREMENT_A_TCHF to form a full REQUIREMENT_TCHF_MASK. That allows detecting TCH/F -> TCH/H upgrades also in the requirement A flags, where we look for any viable lchan. Prepares for upcoming patch Id40d1cf8b58410c7d4eb87407fe8b8106e352438 which implements TCH/H to TCH/F upgrades within the same cell. Related: SYS#5198 SYS#5365 Change-Id: Ic44615b314782423bab0ceef5810311776f92754 --- M src/osmo-bsc/handover_decision_2.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/06/24606/1 diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 3e86a92..a866293 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -171,7 +171,7 @@ { return c->current.lchan && (c->current.lchan->type == GSM_LCHAN_TCH_H) - && ((c->requirements & for_requirement) & (REQUIREMENT_B_TCHF | REQUIREMENT_C_TCHF)); + && ((c->requirements & for_requirement) & REQUIREMENT_TCHF_MASK); } static unsigned int ts_usage_count(struct gsm_bts_trx_ts *ts) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24606 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic44615b314782423bab0ceef5810311776f92754 Gerrit-Change-Number: 24606 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 Jun 8 01:04:27 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 8 Jun 2021 01:04:27 +0000 Subject: Change in osmo-bsc[master]: hodec2: implement upgrade TCH/H -> TCH/F (without AFS bias) References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24607 ) Change subject: hodec2: implement upgrade TCH/H -> TCH/F (without AFS bias) ...................................................................... hodec2: implement upgrade TCH/H -> TCH/F (without AFS bias) Pass flag into find_alternative_lchan() indicating that a TCH/H channel has low ratings (rxqual or rxlev, doesn't matter). Heed this flag in the last round, the requirement A check, and allow candidates that have equal rxlev, if they result in an upgrade from TCH/H to TCH/F. This allows intra-cell upgrades to TCH/F. An important point is that this patch allows upgrade to TCH/F *without* the AFS bias setting. See also I315f24123ae016887ab91666870ce252e096f90f. Related: SYS#5198 SYS#5365 Change-Id: Id40d1cf8b58410c7d4eb87407fe8b8106e352438 --- M src/osmo-bsc/handover_decision_2.c M tests/handover/test_amr_tch_h_to_f_rxlev.ho_vty M tests/handover/test_amr_tch_h_to_f_rxlev_congested.ho_vty M tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty M tests/handover/test_amr_tch_h_to_f_rxqual_congested.ho_vty 5 files changed, 34 insertions(+), 54 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/07/24607/1 diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index a866293..9d4f1e9 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -1251,7 +1251,7 @@ * If minimum RXLEV, minimum RXQUAL or maximum TA are exceeded, the caller should pass * include_weaker_rxlev=true so that handover is performed despite congestion. */ -static int find_alternative_lchan(struct gsm_lchan *lchan, bool include_weaker_rxlev) +static int find_alternative_lchan(struct gsm_lchan *lchan, bool include_weaker_rxlev, bool request_upgrade_to_tch_f) { struct gsm_bts *bts = lchan->ts->trx->bts; int ahs = (gsm48_chan_mode_to_non_vamos(lchan->current_ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR @@ -1372,7 +1372,11 @@ && clist[i].target.bts) afs_bias = ho_get_hodec2_afs_bias_rxlev(clist[i].target.bts->ho); better += afs_bias; - if (better > best_better_db) { + if (better > best_better_db + || (better >= best_better_db /* Upgrade from TCH/H to TCH/F: allow for equal rxlev */ + && request_upgrade_to_tch_f + && is_upgrade_to_tchf(&clist[i], REQUIREMENT_A_MASK))) { + best_cand = &clist[i]; best_better_db = better; best_applied_afs_bias = afs_bias? true : false; @@ -1494,7 +1498,7 @@ global_ho_reason = HO_REASON_BAD_QUALITY; LOGPHOLCHAN(lchan, LOGL_INFO, "Trying handover/assignment due to bad quality\n"); } - find_alternative_lchan(lchan, true); + find_alternative_lchan(lchan, true, true); return; } @@ -1503,7 +1507,7 @@ global_ho_reason = HO_REASON_LOW_RXLEVEL; LOGPHOLCHAN(lchan, LOGL_NOTICE, "RX level is TOO LOW: %d < %d\n", rxlev2dbm(av_rxlev), ho_get_hodec2_min_rxlev(bts->ho)); - find_alternative_lchan(lchan, true); + find_alternative_lchan(lchan, true, true); return; } @@ -1521,7 +1525,7 @@ gsm_bts_cell_id(&bts_id, bts); penalty_timers_add(lchan->conn, &lchan->conn->hodec2.penalty_timers, &bts_id, ho_get_hodec2_penalty_max_dist(bts->ho)); - find_alternative_lchan(lchan, true); + find_alternative_lchan(lchan, true, false); return; } @@ -1532,7 +1536,7 @@ /* try handover to a better cell */ if (av_rxlev >= 0 && (mr->nr % pwr_interval) == 0) { global_ho_reason = HO_REASON_BETTER_CELL; - find_alternative_lchan(lchan, false); + find_alternative_lchan(lchan, false, false); } } diff --git a/tests/handover/test_amr_tch_h_to_f_rxlev.ho_vty b/tests/handover/test_amr_tch_h_to_f_rxlev.ho_vty index 34fb5e6..a22ad6d 100644 --- a/tests/handover/test_amr_tch_h_to_f_rxlev.ho_vty +++ b/tests/handover/test_amr_tch_h_to_f_rxlev.ho_vty @@ -12,7 +12,5 @@ expect-no-chan meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 # average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev -#expect-as from lchan 0 0 4 0 to lchan 0 0 1 0 -#expect-ts-use trx 0 0 states * TCH/F - - - - - * -# FAIL: osmo-bsc does not move to TCH/F from bad rxlev -expect-no-chan +expect-as from lchan 0 0 4 0 to lchan 0 0 1 0 +expect-ts-use trx 0 0 states * TCH/F - - - - - * diff --git a/tests/handover/test_amr_tch_h_to_f_rxlev_congested.ho_vty b/tests/handover/test_amr_tch_h_to_f_rxlev_congested.ho_vty index a463387..776b093 100644 --- a/tests/handover/test_amr_tch_h_to_f_rxlev_congested.ho_vty +++ b/tests/handover/test_amr_tch_h_to_f_rxlev_congested.ho_vty @@ -14,10 +14,8 @@ expect-no-chan meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 # average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev -#expect-as from lchan 0 0 4 0 to lchan 0 0 1 0 -#expect-ts-use trx 0 0 states * TCH/F - - TCH/-H TCH/HH * * -# FAIL: osmo-bsc does not move to TCH/F from bad rxlev -expect-no-chan +expect-as from lchan 0 0 4 0 to lchan 0 0 1 0 +expect-ts-use trx 0 0 states * TCH/F - - TCH/-H TCH/HH * * # This situation actually balances congestion @@ -27,10 +25,8 @@ expect-no-chan meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 # average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev -#expect-as from lchan 0 0 4 0 to lchan 0 0 2 0 -#expect-ts-use trx 0 0 states * TCH/F TCH/F - TCH/-H TCH/HH * * -# FAIL: osmo-bsc does not move to TCH/F from bad rxlev -expect-no-chan +expect-as from lchan 0 0 4 0 to lchan 0 0 2 0 +expect-ts-use trx 0 0 states * TCH/F TCH/F - TCH/-H TCH/HH * * # This situation moves congestion from TCH/H to TCH/F (TCH/H was 100% congested, then makes TCH/F 100% congested) # The congestion requirements would normally forbid this, but since this is an "RxQual emergency", we should reassign. @@ -40,10 +36,8 @@ expect-no-chan meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 # average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev -#expect-as from lchan 0 0 4 0 to lchan 0 0 3 0 -#expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F TCH/-H TCH/HH * * -# FAIL: osmo-bsc does not move to TCH/F from bad rxlev -expect-no-chan +expect-as from lchan 0 0 4 0 to lchan 0 0 3 0 +expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F TCH/-H TCH/HH * * # This situation worsens congestion (TCH/H was 50% congested, then makes TCH/F 100% congested) # The congestion requirements would normally forbid this, but since this is an "RxQual emergency", we should reassign. @@ -53,10 +47,8 @@ expect-no-chan meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 # average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev -#expect-as from lchan 0 0 4 0 to lchan 0 0 3 0 -#expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F - TCH/HH * * -# FAIL: osmo-bsc does not move to TCH/F from bad rxlev -expect-no-chan +expect-as from lchan 0 0 4 0 to lchan 0 0 3 0 +expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F - TCH/HH * * # This situation creates congestion (TCH/H was not congested, then makes TCH/F 50% congested) @@ -67,7 +59,5 @@ expect-no-chan meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 # average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev -#expect-as from lchan 0 0 4 0 to lchan 0 0 2 0 -#expect-ts-use trx 0 0 states * TCH/F TCH/F - - - * * -# FAIL: osmo-bsc does not move to TCH/F from bad rxlev -expect-no-chan +expect-as from lchan 0 0 4 0 to lchan 0 0 2 0 +expect-ts-use trx 0 0 states * TCH/F TCH/F - - - * * 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 414a5fd..10db404 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 @@ -12,7 +12,5 @@ expect-no-chan meas-rep lchan 0 0 4 0 rxlev 30 rxqual 6 ta 0 # 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 - - - - - * -# FAIL: osmo-bsc does not move to TCH/F from bad rxqual -expect-no-chan +expect-as from lchan 0 0 4 0 to lchan 0 0 1 0 +expect-ts-use trx 0 0 states * TCH/F - - - - - * diff --git a/tests/handover/test_amr_tch_h_to_f_rxqual_congested.ho_vty b/tests/handover/test_amr_tch_h_to_f_rxqual_congested.ho_vty index 30c2c67..79ff0a7 100644 --- a/tests/handover/test_amr_tch_h_to_f_rxqual_congested.ho_vty +++ b/tests/handover/test_amr_tch_h_to_f_rxqual_congested.ho_vty @@ -17,10 +17,8 @@ expect-no-chan meas-rep lchan 0 0 4 0 rxlev 50 rxqual 6 ta 0 # 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 - - TCH/-H TCH/HH * * -# FAIL: osmo-bsc does not move to TCH/F from bad rxqual -expect-no-chan +expect-as from lchan 0 0 4 0 to lchan 0 0 1 0 +expect-ts-use trx 0 0 states * TCH/F - - TCH/-H TCH/HH * * # This situation actually balances congestion @@ -30,10 +28,8 @@ expect-no-chan meas-rep lchan 0 0 4 0 rxlev 50 rxqual 6 ta 0 # 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 2 0 -#expect-ts-use trx 0 0 states * TCH/F TCH/F - TCH/-H TCH/HH * * -# FAIL: osmo-bsc does not move to TCH/F from bad rxqual -expect-no-chan +expect-as from lchan 0 0 4 0 to lchan 0 0 2 0 +expect-ts-use trx 0 0 states * TCH/F TCH/F - TCH/-H TCH/HH * * # This situation moves congestion from TCH/H to TCH/F (TCH/H was 100% congested, then makes TCH/F 100% congested) @@ -44,10 +40,8 @@ expect-no-chan meas-rep lchan 0 0 4 0 rxlev 50 rxqual 6 ta 0 # 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 3 0 -#expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F TCH/-H TCH/HH * * -# FAIL: osmo-bsc does not move to TCH/F from bad rxqual -expect-no-chan +expect-as from lchan 0 0 4 0 to lchan 0 0 3 0 +expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F TCH/-H TCH/HH * * # This situation worsens congestion (TCH/H was 50% congested, then makes TCH/F 100% congested) @@ -58,10 +52,8 @@ expect-no-chan meas-rep lchan 0 0 4 0 rxlev 50 rxqual 6 ta 0 # 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 3 0 -#expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F - TCH/HH * * -# FAIL: osmo-bsc does not move to TCH/F from bad rxqual -expect-no-chan +expect-as from lchan 0 0 4 0 to lchan 0 0 3 0 +expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F - TCH/HH * * # This situation creates congestion (TCH/H was not congested, then makes TCH/F 50% congested) @@ -72,7 +64,5 @@ expect-no-chan meas-rep lchan 0 0 4 0 rxlev 50 rxqual 6 ta 0 # 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 2 0 -#expect-ts-use trx 0 0 states * TCH/F TCH/F - - - * * -# FAIL: osmo-bsc does not move to TCH/F from bad rxqual -expect-no-chan +expect-as from lchan 0 0 4 0 to lchan 0 0 2 0 +expect-ts-use trx 0 0 states * TCH/F TCH/F - - - * * -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24607 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id40d1cf8b58410c7d4eb87407fe8b8106e352438 Gerrit-Change-Number: 24607 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 Jun 8 01:04:28 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 8 Jun 2021 01:04:28 +0000 Subject: Change in osmo-bsc[master]: hodec2: don't apply AFS bias to same-cell lchans References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24608 ) Change subject: hodec2: don't apply AFS bias to same-cell lchans ...................................................................... hodec2: don't apply AFS bias to same-cell lchans The AFS bias actually should not apply to local cell lchans, because it makes no sense for intra-cell considerations: - same-cell lchans obviously have identical rxlev; - any nonzero AFS bias thus always raises the TCH/F above the TCH/H; - for intra-cell reassignment, the power budget hysteresis is, naturally, not applied. So, before this patch, setting AFS bias even to only 1 would unconditionally move all (AMR) TCH/H lchans over to free TCH/F lchans in the same cell. Recent patch Id40d1cf8b58410c7d4eb87407fe8b8106e352438 implements explicit upgrade from TCH/H to TCH/F *if* the TCH/H is experiencing low rxqual or low rxlev, as a proper replacement for intra-cell AFS bias. Related: SYS#5198 SYS#5365 Change-Id: I315f24123ae016887ab91666870ce252e096f90f --- M src/osmo-bsc/handover_decision_2.c M tests/handover/test_amr_tch_h_and_afs_bias.ho_vty 2 files changed, 9 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/08/24608/1 diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 9d4f1e9..d4ebc41 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -1295,9 +1295,10 @@ continue; better = clist[i].target.rxlev - clist[i].current.rxlev; - /* Apply AFS bias? */ + /* Apply AFS bias? Skip AFS bias for all intra-cell candidates. */ afs_bias = 0; - if (ahs && (clist[i].requirements & REQUIREMENT_B_TCHF)) + if (clist[i].target.bts != bts + && ahs && (clist[i].requirements & REQUIREMENT_B_TCHF)) afs_bias = ho_get_hodec2_afs_bias_rxlev(clist[i].target.bts->ho); better += afs_bias; if (better > best_better_db) { @@ -1328,9 +1329,10 @@ continue; better = clist[i].target.rxlev - clist[i].current.rxlev; - /* Apply AFS bias? */ + /* Apply AFS bias? Skip AFS bias for all intra-cell candidates. */ afs_bias = 0; - if (ahs && (clist[i].requirements & REQUIREMENT_C_TCHF)) + if (clist[i].target.bts != bts + && ahs && (clist[i].requirements & REQUIREMENT_C_TCHF)) afs_bias = ho_get_hodec2_afs_bias_rxlev(clist[i].target.bts->ho); better += afs_bias; if (better > best_better_db) { @@ -1365,11 +1367,11 @@ continue; better = clist[i].target.rxlev - clist[i].current.rxlev; - /* Apply AFS bias? + /* Apply AFS bias? Skip AFS bias for all intra-cell candidates. * (never to remote-BSS neighbors, since we will not change the lchan type for those.) */ afs_bias = 0; if (ahs && (clist[i].requirements & REQUIREMENT_A_TCHF) - && clist[i].target.bts) + && clist[i].target.bts && clist[i].target.bts != bts) afs_bias = ho_get_hodec2_afs_bias_rxlev(clist[i].target.bts->ho); better += afs_bias; if (better > best_better_db diff --git a/tests/handover/test_amr_tch_h_and_afs_bias.ho_vty b/tests/handover/test_amr_tch_h_and_afs_bias.ho_vty index 127727f..462cb0d 100644 --- a/tests/handover/test_amr_tch_h_and_afs_bias.ho_vty +++ b/tests/handover/test_amr_tch_h_and_afs_bias.ho_vty @@ -10,9 +10,4 @@ set-ts-use trx 0 0 states * - - - TCH/H- - - * meas-rep lchan 0 0 4 0 rxlev 50 rxqual 1 ta 0 # The TCH/H should stay where it is, because its levels are fine. -#expect-no-chan -# FAIL: osmo-bsc applies AFS bias to the intra-cell move from TCH/H to TCH/F. -# but intra-cell re-assignment does not employ a bower budget hysteresis. -# So in the presence of afs-bias, all TCH/H *always* move over to TCH/F. -# That should only happen when rxlev or rxqual ratings are too low. -expect-as from lchan 0 0 4 0 to lchan 0 0 1 0 +expect-no-chan -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I315f24123ae016887ab91666870ce252e096f90f Gerrit-Change-Number: 24608 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 Jun 8 08:19:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Jun 2021 08:19:58 +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 1: (3 comments) 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) that's not used for vty here right? I guess it can be static. https://gerrit.osmocom.org/c/osmo-bsc/+/24600/1/src/osmo-bsc/handover_ctrl.c at 88 PS1, Line 88: cmd->reply = talloc_asprintf(cmd, VTY_WRITE_FMT, VTY_WRITE_CONV(val)); \ why are we using VTY stuff here? Are these fmts safe for ctrl interface? Where are VTY_WRITE_FMT and VTY_WRITE_CONV declared? I cannot find them. https://gerrit.osmocom.org/c/osmo-bsc/+/24600/1/src/osmo-bsc/handover_ctrl.c at 163 PS1, Line 163: HO_CFG_ALL_MEMBERS For improved readability it may make sense to move HO_CFG_ALL_MEMBERS at the end of the list here. Same with functions/defines above. -- 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: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 08:19: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 Tue Jun 8 08:22:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Jun 2021 08:22:49 +0000 Subject: Change in osmo-bts[master]: l1sap: fix TDMA frame number arithmetic in fn_ms_adj() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24601 ) Change subject: l1sap: fix TDMA frame number arithmetic in fn_ms_adj() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24601/1/src/common/l1sap.c File src/common/l1sap.c: https://gerrit.osmocom.org/c/osmo-bts/+/24601/1/src/common/l1sap.c at 142 PS1, Line 142: samples_passed = GSM_TDMA_FN_SUB(fn, lchan->tch.last_fn); splitting it into 2 assignments is imho confusing, since in this line you store a FN into a function called "samples_passed". -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie17670d150489014a4a2e140cede42086100bbc0 Gerrit-Change-Number: 24601 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 08: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 Tue Jun 8 08:23:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Jun 2021 08:23:27 +0000 Subject: Change in osmo-bts[master]: conf_lchans_as_pchan(): fix GSM_LCHAN_{CCCH->CBCH} regression In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24603 ) Change subject: conf_lchans_as_pchan(): fix GSM_LCHAN_{CCCH->CBCH} regression ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24603 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I403ad06574a8505b69dd06781f7fe0f7cabf416f Gerrit-Change-Number: 24603 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 08:23: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 Jun 8 08:24:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Jun 2021 08:24:34 +0000 Subject: Change in osmo-bts[master]: conf_lchans_as_pchan(): initialize all lchans with GSM_LCHAN_NONE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24604 ) Change subject: conf_lchans_as_pchan(): initialize all lchans with GSM_LCHAN_NONE ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I44726f2bfb979c2fa2f5f30c5b11700cf4b3399d Gerrit-Change-Number: 24604 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 08:24: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 Jun 8 08:25:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Jun 2021 08:25:34 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: do not crash when lco/sdp can not be generated In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24182 ) Change subject: mgcp_client: do not crash when lco/sdp can not be generated ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24182/3/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24182/3/src/libosmo-mgcp-client/mgcp_client.c at 1352 PS3, Line 1352: rc_lco == -2 > Is there anything special about -2? I would just check if it's negative. Not critical. Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb788343e0bec9c0eaf33e6e4727d4d36c100017 Gerrit-Change-Number: 24182 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 08:25:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes 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 Jun 8 08:26:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Jun 2021 08:26:10 +0000 Subject: Change in osmo-bsc[master]: hodec2: add handover_test cases for upgrade of TCH/H -> TCH/F In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24571 ) Change subject: hodec2: add handover_test cases for upgrade of TCH/H -> TCH/F ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib88f7e00d8bd77e2b02a7242a0fab4dd79333037 Gerrit-Change-Number: 24571 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 08:26: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 Jun 8 08:26:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Jun 2021 08:26:33 +0000 Subject: Change in osmo-bsc[master]: cosmetic prep: hodec2: move is_upgrade_to_tchf() further up In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24605 ) Change subject: cosmetic prep: hodec2: move is_upgrade_to_tchf() further up ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3fd0e257e033c573017ce62e3efc19b094acf73c Gerrit-Change-Number: 24605 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 08: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 Tue Jun 8 08:27:12 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Jun 2021 08:27:12 +0000 Subject: Change in osmo-bsc[master]: hodec2: fix is_upgrade_to_tchf() for requirement A In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24606 ) Change subject: hodec2: fix is_upgrade_to_tchf() for requirement A ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24606 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic44615b314782423bab0ceef5810311776f92754 Gerrit-Change-Number: 24606 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 08:27: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 Jun 8 08:30:12 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Jun 2021 08:30:12 +0000 Subject: Change in osmo-bsc[master]: hodec2: implement upgrade TCH/H -> TCH/F (without AFS bias) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24607 ) Change subject: hodec2: implement upgrade TCH/H -> TCH/F (without AFS bias) ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24607 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id40d1cf8b58410c7d4eb87407fe8b8106e352438 Gerrit-Change-Number: 24607 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 08:30: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 Jun 8 08:33:12 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Jun 2021 08:33:12 +0000 Subject: Change in osmo-bsc[master]: hodec2: don't apply AFS bias to same-cell lchans In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24608 ) Change subject: hodec2: don't apply AFS bias to same-cell lchans ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24608/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/24608/1//COMMIT_MSG at 12 PS1, Line 12: - same-cell lchans obviously have identical rxlev; are you sure about this? IIUC different TRX (different frequencies) can have different rxlev due to noise/interference and propagation and so on? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I315f24123ae016887ab91666870ce252e096f90f Gerrit-Change-Number: 24608 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 08:33:12 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 8 08:36:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Jun 2021 08:36:26 +0000 Subject: Change in osmo-bts[master]: conf_lchans_as_pchan(): fix GSM_LCHAN_{CCCH->CBCH} regression In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24603 ) Change subject: conf_lchans_as_pchan(): fix GSM_LCHAN_{CCCH->CBCH} regression ...................................................................... conf_lchans_as_pchan(): fix GSM_LCHAN_{CCCH->CBCH} regression This regression was introduced (by me) in [1] and broke CCCH. Change-Id: I403ad06574a8505b69dd06781f7fe0f7cabf416f Fixes: [1] I1c5a033e89d9ca5fb01ebe9ffb521fd67d159bee Related: SYS#4895, OS#4941 --- M src/common/oml.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/common/oml.c b/src/common/oml.c index 0e7fbd5..6acc6b1 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -834,7 +834,7 @@ ts->lchan[2].type = GSM_LCHAN_CBCH; /* fallthrough */ case GSM_PCHAN_CCCH: - ts->lchan[CCCH_LCHAN].type = GSM_LCHAN_CBCH; + ts->lchan[CCCH_LCHAN].type = GSM_LCHAN_CCCH; break; case GSM_PCHAN_TCH_F: if (ts->vamos.peer != NULL) { /* VAMOS: enable shadow lchans */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24603 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I403ad06574a8505b69dd06781f7fe0f7cabf416f Gerrit-Change-Number: 24603 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 8 09:12:23 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Jun 2021 09:12:23 +0000 Subject: Change in osmo-bsc[master]: hodec2: add handover_test cases for upgrade of TCH/H -> TCH/F In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24571 ) Change subject: hodec2: add handover_test cases for upgrade of TCH/H -> TCH/F ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib88f7e00d8bd77e2b02a7242a0fab4dd79333037 Gerrit-Change-Number: 24571 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 09:12:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 8 09:12:51 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Jun 2021 09:12:51 +0000 Subject: Change in osmo-bsc[master]: cosmetic prep: hodec2: move is_upgrade_to_tchf() further up In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24605 ) Change subject: cosmetic prep: hodec2: move is_upgrade_to_tchf() further up ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3fd0e257e033c573017ce62e3efc19b094acf73c Gerrit-Change-Number: 24605 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 09:12:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 8 09:16:29 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Jun 2021 09:16:29 +0000 Subject: Change in osmo-bsc[master]: hodec2: fix is_upgrade_to_tchf() for requirement A In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24606 ) Change subject: hodec2: fix is_upgrade_to_tchf() for requirement A ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24606 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic44615b314782423bab0ceef5810311776f92754 Gerrit-Change-Number: 24606 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 09: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 Tue Jun 8 10:15:57 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 8 Jun 2021 10:15:57 +0000 Subject: Change in osmo-bsc[master]: hodec2: fix is_upgrade_to_tchf() for requirement A In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24606 ) Change subject: hodec2: fix is_upgrade_to_tchf() for requirement A ...................................................................... Patch Set 1: Code-Review+1 I have checked #define REQUIREMENT_TCHF_MASK(REQUIREMENT_A_TCHF | REQUIREMENT_B_TCHF | REQUIREMENT_C_TCHF). REQUIREMENT_A_TCHF is indeed missing in the original source - looks correct to me. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24606 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic44615b314782423bab0ceef5810311776f92754 Gerrit-Change-Number: 24606 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 10:15:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 8 10:16:31 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 8 Jun 2021 10:16:31 +0000 Subject: Change in osmo-bsc[master]: cosmetic prep: hodec2: move is_upgrade_to_tchf() further up In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24605 ) Change subject: cosmetic prep: hodec2: move is_upgrade_to_tchf() further up ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3fd0e257e033c573017ce62e3efc19b094acf73c Gerrit-Change-Number: 24605 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 10:16: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 Jun 8 10:24:33 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 8 Jun 2021 10:24:33 +0000 Subject: Change in osmo-bsc[master]: hodec2: don't apply AFS bias to same-cell lchans In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24608 ) Change subject: hodec2: don't apply AFS bias to same-cell lchans ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24608/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/24608/1//COMMIT_MSG at 12 PS1, Line 12: - same-cell lchans obviously have identical rxlev; > are you sure about this? IIUC different TRX (different frequencies) can have different rxlev due to [?] This is true (same trx, same rxlev behavior) for single TRX cells, but for a cell with multiple TRX this may be of course different. In theory it could also be different on even one TRX. Think of transient interference caused by other MS on a different cell. Unfortunately this corner case may also be negligible. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I315f24123ae016887ab91666870ce252e096f90f Gerrit-Change-Number: 24608 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: dexter Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 10:24:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 8 10:35:58 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 8 Jun 2021 10:35:58 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: do not crash when lco/sdp can not be generated In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24182 ) Change subject: mgcp_client: do not crash when lco/sdp can not be generated ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24182/3/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24182/3/src/libosmo-mgcp-client/mgcp_client.c at 1352 PS3, Line 1352: rc_lco == -2 > Ack Yes, it indicates a problem with the input data (aborted, msgb freed). msgb_printf() returns -EINVAL which is a different value and allows us to detect buffer size problems. If we see a return code -2, we return NULL immediately, otherwise we add up all the return codes (msgb_printf returns 0 on success). If the final return code is different from zero, we know there were problems with the buffer size (too small) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb788343e0bec9c0eaf33e6e4727d4d36c100017 Gerrit-Change-Number: 24182 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 10:35:58 +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 Jun 8 11:42:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Jun 2021 11:42:01 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: do not crash when lco/sdp can not be generated In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24182 ) Change subject: mgcp_client: do not crash when lco/sdp can not be generated ...................................................................... Patch Set 3: -Code-Review (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24182/3/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24182/3/src/libosmo-mgcp-client/mgcp_client.c at 1352 PS3, Line 1352: rc_lco == -2 > Yes, it indicates a problem with the input data (aborted, msgb freed). [?] You cannot guarantee EINVAL is different that a given negative value, since errno numbers can change per platform IIRC. So I'd better return a different errno rather than a fixed value. It would also be more descriptive. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb788343e0bec9c0eaf33e6e4727d4d36c100017 Gerrit-Change-Number: 24182 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 11:42:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria 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 Jun 8 12:18:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Jun 2021 12:18:13 +0000 Subject: Change in osmo-bsc[master]: vty: Drop unused old node enum fields References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24609 ) Change subject: vty: Drop unused old node enum fields ...................................................................... vty: Drop unused old node enum fields Change-Id: Ifccd1e477c36bee976a61760b0fedc395f675c1f --- M include/osmocom/bsc/vty.h 1 file changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/09/24609/1 diff --git a/include/osmocom/bsc/vty.h b/include/osmocom/bsc/vty.h index 92f7932..30094fa 100644 --- a/include/osmocom/bsc/vty.h +++ b/include/osmocom/bsc/vty.h @@ -18,8 +18,6 @@ TRX_NODE, TS_NODE, OML_NODE, - NAT_NODE, - NAT_BSC_NODE, MSC_NODE, OM2K_NODE, OM2K_CON_GROUP_NODE, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24609 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifccd1e477c36bee976a61760b0fedc395f675c1f Gerrit-Change-Number: 24609 Gerrit-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 Jun 8 12:26:06 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 8 Jun 2021 12:26:06 +0000 Subject: Change in osmo-ci[master]: repo-install-test: debian blacklist: add 2x -doc References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24610 ) Change subject: repo-install-test: debian blacklist: add 2x -doc ...................................................................... repo-install-test: debian blacklist: add 2x -doc Prevent repo-install-debian9 and 10 from failing. The packages osmo-sip-connector-doc and osmo-smlc-doc are outdated for arm, and since they are placed in the shared "all" dir in the repository, apt considers them for x86_64 as well and fails (see related issue). Unfortunately this has been the case for over a week now. This blocks the test from discovering more serious issues with the repository, so blacklist the two packages for now. Related: OS#5165 Change-Id: I86d12a88bf5a00bafb6623635a702bae57813c47 --- M scripts/repo-install-test/blacklist_debian10.txt M scripts/repo-install-test/blacklist_debian9.txt 2 files changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/10/24610/1 diff --git a/scripts/repo-install-test/blacklist_debian10.txt b/scripts/repo-install-test/blacklist_debian10.txt index 6570de6..fe89e15 100644 --- a/scripts/repo-install-test/blacklist_debian10.txt +++ b/scripts/repo-install-test/blacklist_debian10.txt @@ -61,3 +61,7 @@ open5gs-udr-dbgsym open5gs-upf open5gs-upf-dbgsym + +# nightly fails for x86_64, because of old arm pkgs in shared "all" dir (OS#5165) +osmo-sip-connector-doc +osmo-smlc-doc diff --git a/scripts/repo-install-test/blacklist_debian9.txt b/scripts/repo-install-test/blacklist_debian9.txt index cb7db6a..bbeb2a2 100644 --- a/scripts/repo-install-test/blacklist_debian9.txt +++ b/scripts/repo-install-test/blacklist_debian9.txt @@ -25,3 +25,7 @@ soapysdr0.6-module-lms7-dbgsym soapysdr0.7-module-lms7 soapysdr0.7-module-lms7-dbgsym + +# nightly fails for x86_64, because of old arm pkgs in shared "all" dir (OS#5165) +osmo-sip-connector-doc +osmo-smlc-doc -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24610 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I86d12a88bf5a00bafb6623635a702bae57813c47 Gerrit-Change-Number: 24610 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 Jun 8 12:27:01 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Jun 2021 12:27:01 +0000 Subject: Change in osmo-bts[master]: l1sap: fix TDMA frame number arithmetic in fn_ms_adj() In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24601 to look at the new patch set (#2). Change subject: l1sap: fix TDMA frame number arithmetic in fn_ms_adj() ...................................................................... l1sap: fix TDMA frame number arithmetic in fn_ms_adj() Using the normal arithmetic for TDMA frame numbers is wrong. Change-Id: Ie17670d150489014a4a2e140cede42086100bbc0 --- M src/common/l1sap.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/01/24601/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie17670d150489014a4a2e140cede42086100bbc0 Gerrit-Change-Number: 24601 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 8 12:27:23 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Jun 2021 12:27:23 +0000 Subject: Change in osmo-bts[master]: l1sap: fix TDMA frame number arithmetic in fn_ms_adj() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24601 ) Change subject: l1sap: fix TDMA frame number arithmetic in fn_ms_adj() ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24601/1/src/common/l1sap.c File src/common/l1sap.c: https://gerrit.osmocom.org/c/osmo-bts/+/24601/1/src/common/l1sap.c at 142 PS1, Line 142: samples_passed = GSM_TDMA_FN_SUB(fn, lchan->tch.last_fn); > splitting it into 2 assignments is imho confusing, since in this line you store a FN into a function [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie17670d150489014a4a2e140cede42086100bbc0 Gerrit-Change-Number: 24601 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 12:27:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 8 12:28:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Jun 2021 12:28:53 +0000 Subject: Change in osmo-bts[master]: l1sap: fix TDMA frame number arithmetic in fn_ms_adj() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24601 ) Change subject: l1sap: fix TDMA frame number arithmetic in fn_ms_adj() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie17670d150489014a4a2e140cede42086100bbc0 Gerrit-Change-Number: 24601 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 12:28:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 8 12:29:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Jun 2021 12:29:51 +0000 Subject: Change in osmo-ci[master]: repo-install-test: debian blacklist: add 2x -doc In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24610 ) Change subject: repo-install-test: debian blacklist: add 2x -doc ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24610 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I86d12a88bf5a00bafb6623635a702bae57813c47 Gerrit-Change-Number: 24610 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 12:29:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 8 13:14:18 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Jun 2021 13:14:18 +0000 Subject: Change in osmo-bsc[master]: vty: Drop unused old node enum fields In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24609 ) Change subject: vty: Drop unused old node enum fields ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24609 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifccd1e477c36bee976a61760b0fedc395f675c1f Gerrit-Change-Number: 24609 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 08 Jun 2021 13:14:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 8 13:22:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 8 Jun 2021 13:22:59 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: introduce lchan.activate.ch_mode_rate to allow tweaking In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24458 ) Change subject: lchan_fsm: introduce lchan.activate.ch_mode_rate to allow tweaking ...................................................................... Patch Set 8: Code-Review+2 combine votes -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icc9cc7481b3984fdca34eef49ea91ad3388c06fe Gerrit-Change-Number: 24458 Gerrit-PatchSet: 8 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 13:22: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 Jun 8 14:34:37 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 8 Jun 2021 14:34:37 +0000 Subject: Change in osmo-bsc[master]: gsm_data.h: add comments about immutable activ/modif/assign request info References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24611 ) Change subject: gsm_data.h: add comments about immutable activ/modif/assign request info ...................................................................... gsm_data.h: add comments about immutable activ/modif/assign request info Change-Id: I7997b802d997073ae6a05db2f40e82cb8e83764f --- M include/osmocom/bsc/gsm_data.h 1 file changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/11/24611/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index dccf5a1..d3d5b7d 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -177,7 +177,13 @@ * currently used lchan and gscon unmodified until the outcome of an Assignment is known. If the Assignment fails, this * state is simply discarded, and the gscon carries on with the original lchan remaining unchanged. */ struct assignment_fsm_data { + /* The request as made by the caller, see GSCON_EV_ASSIGNMENT_START or reassignment_request_to_lchan() / + * reassignment_request_to_chan_type(). + * conn->assignment.req is treated immutable: remains unchanged throughout the Assignment. The mutable fields + * are below: choices and automatic adjustments are stored in conn->assignment.*, not conn->assignment.req. + */ struct assignment_request req; + bool requires_voice_stream; struct channel_mode_and_rate selected_ch_mode_rate; @@ -647,7 +653,13 @@ struct osmo_mgcpc_ep_ci *mgw_endpoint_ci_bts; struct { + /* The request as made by the caller, see lchan_activate(). + * lchan->activate.info is treated immutable: remains unchanged throughout the Activation. + * The mutable versions are below: some values need automatic adjustments, in which case they are copied + * from immutable lchan->activate.info.* to lchan->activate.*, for example lchan->activate.ch_mode_rate + * is initially a copy of lchan->activate.info.ch_mode_rate, and is possibly adjusted afterwards. */ struct lchan_activate_info info; + struct channel_mode_and_rate ch_mode_rate; struct gsm48_multi_rate_conf mr_conf_filtered; bool activ_ack; /*< true as soon as RSL Chan Activ Ack is received */ @@ -662,7 +674,13 @@ } activate; struct { + /* The request as made by the caller, see lchan_mode_modify(). + * lchan->modify.info is treated immutable: remains unchanged throughout the Mode Modify. + * The mutable versions are below: some values need automatic adjustments, in which case they are copied + * from immutable lchan->modify.info.* to lchan->modify.*, for example lchan->modify.ch_mode_rate + * is initially a copy of lchan->modify.info.ch_mode_rate, and is possibly adjusted afterwards. */ struct lchan_modify_info info; + struct channel_mode_and_rate ch_mode_rate; struct gsm48_multi_rate_conf mr_conf_filtered; int tsc_set; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24611 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7997b802d997073ae6a05db2f40e82cb8e83764f Gerrit-Change-Number: 24611 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 Jun 8 14:34:56 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 8 Jun 2021 14:34:56 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: introduce lchan.activate.ch_mode_rate to allow tweaking In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24458 ) Change subject: lchan_fsm: introduce lchan.activate.ch_mode_rate to allow tweaking ...................................................................... Patch Set 9: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24458/8/include/osmocom/bsc/gsm_data.h File include/osmocom/bsc/gsm_data.h: https://gerrit.osmocom.org/c/osmo-bsc/+/24458/8/include/osmocom/bsc/gsm_data.h at 648 PS8, Line 648: struct channel_mode_and_rate ch_mode_rate; > It would be good to clarify it here (in a comment) why do we habe another 'ch_mode_rate' outside of [?] adding comments in https://gerrit.osmocom.org/c/osmo-bsc/+/24611 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icc9cc7481b3984fdca34eef49ea91ad3388c06fe Gerrit-Change-Number: 24458 Gerrit-PatchSet: 9 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 14:34:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 8 14:37:11 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 8 Jun 2021 14:37:11 +0000 Subject: Change in osmo-bsc[master]: implement CHANnel ACTIVate to VAMOS mode In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24375 ) Change subject: implement CHANnel ACTIVate to VAMOS mode ...................................................................... Patch Set 19: Code-Review+2 combine votes -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec Gerrit-Change-Number: 24375 Gerrit-PatchSet: 19 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 14:37: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 Jun 8 14:44:45 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 8 Jun 2021 14:44:45 +0000 Subject: Change in osmo-bsc[master]: RSL: rx and tx VAMOS Channel Number cbits for VAMOS 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/+/24430 to look at the new patch set (#17). Change subject: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans ...................................................................... RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans Add the Osmocom-specific extension to indicate VAMOS shadow lchans in RSL, in lchan lookup and RSL message transmission. Note that RR messages containing cbits (Assignment Command, Handover Command, ...) must *not* send Osmocom specific cbits to the MS. Only the RSL messages directed to the BTS send Osmocom specific bits. Related: SYS#5315 OS#4940 Depends: If33c1695922d110c0d2c60d5c0136caf2587194e (libosmocore) Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bts_trx.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lcs_loc_req.c M tests/handover/handover_test.c 7 files changed, 83 insertions(+), 42 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/30/24430/17 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 Gerrit-Change-Number: 24430 Gerrit-PatchSet: 17 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 8 14:51:34 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Tue, 8 Jun 2021 14:51:34 +0000 Subject: Change in osmo-gsm-tester[master]: ms-srs: change the cpu governor before launching the ms. In-Reply-To: References: Message-ID: alealcon has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24270 ) Change subject: ms-srs: change the cpu governor before launching the ms. ...................................................................... Patch Set 1: Hi Pau, I don't know if we agreed about this feature. Do you think fine to keep this commit to let OGT control the change of the cpu governor or should I abandon this commit and use a pre-init script to configure it (OGT will have less control with this solution)? Thanks, Alex -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I86ec4fbba8a965e60103b30e2aa60cd2c3f348c9 Gerrit-Change-Number: 24270 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: srs_andre Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 14:51: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 Jun 8 14:53:06 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Jun 2021 14:53:06 +0000 Subject: Change in osmo-bsc[master]: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24430 ) Change subject: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans ...................................................................... Patch Set 17: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 Gerrit-Change-Number: 24430 Gerrit-PatchSet: 17 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 08 Jun 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 Jun 8 15:54:32 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 8 Jun 2021 15:54:32 +0000 Subject: Change in osmo-bsc[master]: RSL chan_nr: replace OSMO_ASSERT with error handling In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24524 ) Change subject: RSL chan_nr: replace OSMO_ASSERT with error handling ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71ed6437c403a3f9336e17a94b4948fca295d853 Gerrit-Change-Number: 24524 Gerrit-PatchSet: 7 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 15:54: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 Jun 8 16:01:50 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Jun 2021 16:01:50 +0000 Subject: Change in osmo-bts[master]: Report interference levels in RSL RF RESource INDication References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24612 ) Change subject: Report interference levels in RSL RF RESource INDication ...................................................................... Report interference levels in RSL RF RESource INDication This change implements general interference averaging logic for the higher layers. In l1sap_info_time_ind(), where we receive TDMA time updates from BTS model, call rsl_tx_rf_res() for each transceiver according to the interval defined by the Intave parameter received from the BSC. In rsl_tx_rf_res() perform the actual averaging for each inactive logical channel, and then send everything to the BSC over the A-bis/RSL. The BTS model specific code needs to report the measurements for each logical channel every 104 TDMA frames (SACCH period) by calling gsm_lchan_interf_meas_push(). Change-Id: Id80fdbef087de625149755165c025c0a9563dc85 Related: SYS#5313, OS#1569 --- M README.md M doc/manuals/abis/oml.adoc M include/osmo-bts/gsm_data.h M src/common/gsm_data.c M src/common/l1sap.c M src/common/rsl.c 6 files changed, 116 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/12/24612/1 diff --git a/README.md b/README.md index 5527ef1..51aa276 100644 --- a/README.md +++ b/README.md @@ -96,7 +96,6 @@ * System Information limited to 1,2,2bis,2ter,2quater,3,4,5,6,9,13 * No RATSCCH in AMR * Will reject TS 12.21 STARTING TIME in SET BTS ATTR / SET CHAN ATTR - * No reporting of interference levels as part of TS 08.58 RF RES IND * No support of TS 08.58 MultiRate Control * No support of TS 08.58 Supported Codec Types * No support of Bter frame / ENHANCED MEASUREMENT REPORT diff --git a/doc/manuals/abis/oml.adoc b/doc/manuals/abis/oml.adoc index 984ab8c..b77894c 100644 --- a/doc/manuals/abis/oml.adoc +++ b/doc/manuals/abis/oml.adoc @@ -394,8 +394,8 @@ | 0x13 | 9.4.19 | File Version | | _ignored_ | 0x14 | 9.4.20 | GSM Time | | _ignored_ | 0x16 | 9.4.22 | HW Configuration | | _ignored_ -| 0x18 | 9.4.24 | Intave Parameter | <- | _ignored_ -| 0x19 | 9.4.25 | Interference level Boundaries | <- | _ignored_ +| 0x18 | 9.4.24 | Intave Parameter | <- | +| 0x19 | 9.4.25 | Interference level Boundaries | <- | | 0x1a | 9.4.26 | List of Required Attributes | | _ignored_ | 0x1c | 9.4.28 | Manufacturer Dependent State | | _ignored_ | 0x1d | 9.4.29 | Manufacturer Dependent Thresholds | | _ignored_ diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index 6ce5c3b..9bc2e5b 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -337,6 +337,9 @@ /* standard deviation of toa256 value during measurement period */ uint16_t toa256_std_dev; } ext; + /* Interference levels reported by PHY (in -x dBm) */ + uint8_t interf_meas_dbm[64]; + uint8_t interf_meas_num; } meas; struct { struct amr_multirate_conf amr_mr; @@ -537,6 +540,9 @@ uint8_t gsm_lchan_as_pchan2chan_nr(const struct gsm_lchan *lchan, enum gsm_phys_chan_config as_pchan); +void gsm_lchan_interf_meas_push(struct gsm_lchan *lchan, int dbm); +int gsm_lchan_interf_meas_calc_band(struct gsm_lchan *lchan); + #define BSIC2BCC(bsic) ((bsic) & 0x07) #define BTS_TSC(bts) BSIC2BCC((bts)->bsic) @@ -558,4 +564,16 @@ bool ts_is_pdch(const struct gsm_bts_trx_ts *ts); +static inline bool lchan_is_dcch(const struct gsm_lchan *lchan) +{ + switch (lchan->type) { + case GSM_LCHAN_SDCCH: + case GSM_LCHAN_TCH_F: + case GSM_LCHAN_TCH_H: + return true; + default: + return false; + } +} + #endif /* _GSM_DATA_H */ diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index 09664e2..cf1b379 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -280,6 +280,54 @@ return gsm_pchan2chan_nr(as_pchan, lchan->ts->nr, lchan->nr); } +/* Called by the model specific code every 104 TDMA frames (SACCH period) */ +void gsm_lchan_interf_meas_push(struct gsm_lchan *lchan, int dbm) +{ + const uint8_t meas_num = lchan->meas.interf_meas_num; + + if (meas_num >= ARRAY_SIZE(lchan->meas.interf_meas_dbm)) { + LOGPLCHAN(lchan, DL1C, LOGL_ERROR, "Not enough room " + "to store interference report (%ddBm)\n", dbm); + return; + } + + lchan->meas.interf_meas_dbm[meas_num] = abs(dbm); + lchan->meas.interf_meas_num++; +} + +/* Called by the higher layers every Intave * 104 TDMA frames */ +int gsm_lchan_interf_meas_calc_band(struct gsm_lchan *lchan) +{ + const uint8_t meas_num = lchan->meas.interf_meas_num; + const struct gsm_bts *bts = lchan->ts->trx->bts; + unsigned int b, meas_avg, meas_sum = 0; + + /* There must be at least one sample */ + if (meas_num == 0) + return -EAGAIN; + + /* Calculate the sum of all collected samples (in -x dBm) */ + while (lchan->meas.interf_meas_num) { + uint8_t i = lchan->meas.interf_meas_num--; + meas_sum += lchan->meas.interf_meas_dbm[i]; + } + + /* Calculate the average of all collected samples */ + meas_avg = meas_sum / meas_num; + + /* Determine the band using interference boundaries from BSC */ + for (b = 0; b < ARRAY_SIZE(bts->interference.boundary); b++) { + if (meas_avg < bts->interference.boundary[b]) + break; /* Current 'b' is the band value */ + } + + LOGPLCHAN(lchan, DL1C, LOGL_DEBUG, + "Interference AVG: -%udBm (band %d)\n", + meas_avg, b); + + return b; +} + /* determine logical channel based on TRX and channel number IE */ struct gsm_lchan *rsl_lchan_lookup(struct gsm_bts_trx *trx, uint8_t chan_nr, int *rc) diff --git a/src/common/l1sap.c b/src/common/l1sap.c index cd2af57..33c7e2a 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -587,6 +587,20 @@ return rach_frames_expired; } +static void l1sap_interf_meas_report(struct gsm_bts *bts) +{ + const uint32_t period = bts->interference.intave * 104; + struct gsm_bts_trx *trx; + + if (bts->interference.intave == 0) + return; + if (bts->gsm_time.fn % period != 0) + return; + + llist_for_each_entry(trx, &bts->trx_list, list) + rsl_tx_rf_res(trx); +} + /* time information received from bts model */ static int l1sap_info_time_ind(struct gsm_bts *bts, struct osmo_phsap_prim *l1sap, @@ -619,6 +633,9 @@ bts->load.rach.total += calc_exprd_rach_frames(bts, fn); } + /* Report interference levels to the BSC */ + l1sap_interf_meas_report(bts); + return 0; } diff --git a/src/common/rsl.c b/src/common/rsl.c index 516e609..565ff14 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -427,6 +427,7 @@ /* 8.6.1 sending RF RESOURCE INDICATION */ int rsl_tx_rf_res(struct gsm_bts_trx *trx) { + unsigned int tn, ln; struct msgb *nmsg; LOGP(DRSL, LOGL_INFO, "Tx RSL RF RESource INDication\n"); @@ -434,8 +435,36 @@ nmsg = rsl_msgb_alloc(sizeof(struct abis_rsl_common_hdr)); if (!nmsg) return -ENOMEM; - // FIXME: add interference levels of TRX - msgb_tlv_put(nmsg, RSL_IE_RESOURCE_INFO, 0, NULL); + + /* Add interference levels for each logical channel */ + uint8_t *len = msgb_tl_put(nmsg, RSL_IE_RESOURCE_INFO); + + for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { + struct gsm_bts_trx_ts *ts = &trx->ts[tn]; + + for (ln = 0; ln < ARRAY_SIZE(ts->lchan); ln++) { + struct gsm_lchan *lchan = &ts->lchan[ln]; + + /* We're not interested in active lchans */ + if (lchan->state == LCHAN_S_ACTIVE) + continue; + /* Only for GSM_LCHAN_{SDCCH,TCH_F,TCH_H} */ + if (!lchan_is_dcch(lchan)) + continue; + + /* Average all collected samples */ + int band = gsm_lchan_interf_meas_calc_band(lchan); + if (band < 0) + continue; + + msgb_v_put(nmsg, gsm_lchan2chan_nr(lchan)); + msgb_v_put(nmsg, (band & 0x07) << 5); + } + } + + /* Calculate length of the V part */ + *len = msgb_l3len(nmsg) - 2; + rsl_trx_push_hdr(nmsg, RSL_MT_RF_RES_IND); nmsg->trx = trx; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24612 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id80fdbef087de625149755165c025c0a9563dc85 Gerrit-Change-Number: 24612 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 Jun 8 16:01:51 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Jun 2021 16:01:51 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: report interference levels to the upper layers References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24613 ) Change subject: osmo-bts-trx: report interference levels to the upper layers ...................................................................... osmo-bts-trx: report interference levels to the upper layers In trx_sched_ul_burst(), treat all BURST.ind and NOPE.ind mapped to inactive logical channels as interference. Average the RSSI values on the fly using a sliding average with constant a=0.5. Report averaged values for each logical channel every 104 TDMA frames (SACCH period) by calling gsm_lchan_interf_meas_push(). Change-Id: I4686448e42a40df56c1d27a14fd0a4d43fd144a5 Related: I78b6d8beffa5228a28231b75728e7aebdd3cb23c Related: SYS#5313, OS#1569 --- M include/osmo-bts/scheduler.h M src/common/scheduler.c M src/osmo-bts-trx/scheduler_trx.c 3 files changed, 100 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/13/24613/1 diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index 86bfdf9..7b3daa3 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -132,10 +132,14 @@ uint8_t ul_encr_key[MAX_A5_KEY_LEN]; uint8_t dl_encr_key[MAX_A5_KEY_LEN]; - /* Simple ring buffer (up to 8 unique measurements) */ + /* Uplink measurements */ struct { - struct l1sched_meas_set buf[8]; + /* Active channel measurements (simple ring buffer) */ + struct l1sched_meas_set buf[8]; /* up to 8 entries */ unsigned int current; /* current position */ + + /* Interference measurements */ + int interf_avg; /* sliding average */ } meas; /* handover */ diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 3ab94a2..f74688c 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -1438,6 +1438,31 @@ return 0; } +/* Process a single noise measurement for an inactive timeslot. */ +static void trx_sched_noise_meas(struct l1sched_chan_state *l1cs, + const struct trx_ul_burst_ind *bi) +{ + int *Avg = &l1cs->meas.interf_avg; + + /* EWMA (Exponentially Weighted Moving Average): + * + * Avg[n] = a * Val[n] + (1 - a) * Avg[n - 1] + * + * Implemented using the '+=' operator: + * + * Avg += a * Val - a * Avg + * Avg += a * (Val - Avg) + * + * We use constant 'a' = 0.5, what is equal to: + * + * Avg += (Val - Avg) / 2 + * + * We don't really need precisity here, so no scaling. + */ + + *Avg += (bi->rssi - *Avg) / 2; +} + /* Process an Uplink burst indication */ int trx_sched_ul_burst(struct l1sched_ts *l1ts, struct trx_ul_burst_ind *bi) { @@ -1463,15 +1488,13 @@ l1cs = &l1ts->chan_state[bi->chan]; func = trx_chan_desc[bi->chan].ul_fn; - /* TODO: handle noise measurements */ - if (bi->chan == TRXC_IDLE && bi->flags & TRX_BI_F_NOPE_IND) { - LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Rx noise measurement (%d)\n", bi->rssi); - return -ENOTSUP; - } - /* check if channel is active */ - if (!TRX_CHAN_IS_ACTIVE(l1cs, bi->chan)) - return -EINVAL; + if (!TRX_CHAN_IS_ACTIVE(l1cs, bi->chan)) { + /* handle noise measurements */ + if (bi->chan >= TRXC_TCHF) + trx_sched_noise_meas(l1cs, bi); + return 0; + } /* omit bursts which have no handler, like IDLE bursts */ if (!func) diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 1a4f03f..0a2052c 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -60,6 +60,65 @@ return 0; } +static void ts_report_interf_meas(const struct gsm_bts_trx_ts *ts) +{ + const struct l1sched_ts *l1ts = ts->priv; + unsigned int ln; + + for (ln = 0; ln < ARRAY_SIZE(ts->lchan); ln++) { + const struct gsm_lchan *lchan = &ts->lchan[ln]; + enum trx_chan_type dcch, acch; + int interf_avg; + + /* We're not interested in active channels */ + if (lchan->state == LCHAN_S_ACTIVE) + continue; + + switch (lchan->type) { + case GSM_LCHAN_SDCCH: + if (ts->pchan == GSM_PCHAN_CCCH_SDCCH4 || + ts->pchan == GSM_PCHAN_CCCH_SDCCH4_CBCH) { + dcch = TRXC_SDCCH4_0 + ln; + acch = TRXC_SACCH4_0 + ln; + } else { /* SDCCH/8 otherwise */ + dcch = TRXC_SDCCH8_0 + ln; + acch = TRXC_SACCH8_0 + ln; + } + break; + case GSM_LCHAN_TCH_F: + dcch = TRXC_TCHF; + acch = TRXC_SACCHTF; + break; + case GSM_LCHAN_TCH_H: + dcch = TRXC_TCHH_0 + ln; + acch = TRXC_SACCHTH_0 + ln; + break; + default: + /* Skip other lchan types */ + continue; + } + + OSMO_ASSERT(dcch < ARRAY_SIZE(l1ts->chan_state)); + OSMO_ASSERT(acch < ARRAY_SIZE(l1ts->chan_state)); + + interf_avg = (l1ts->chan_state[dcch].meas.interf_avg + + l1ts->chan_state[acch].meas.interf_avg) / 2; + + gsm_lchan_interf_meas_push((struct gsm_lchan *) lchan, interf_avg); + } +} + +static void bts_report_interf_meas(const struct gsm_bts *bts) +{ + const struct gsm_bts_trx *trx; + unsigned int tn; + + llist_for_each_entry(trx, &bts->trx_list, list) { + for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) + ts_report_interf_meas(&trx->ts[tn]); + } +} + /* Find a route (PHY instance) for a given Downlink burst request */ static struct phy_instance *dlfh_route_br(const struct trx_dl_burst_req *br, struct gsm_bts_trx_ts *ts) @@ -189,6 +248,10 @@ struct gsm_bts_trx *trx; unsigned int tn; + /* Report interference measurements */ + if (fn % 104 == 0) /* SACCH period */ + bts_report_interf_meas(bts); + /* send time indication */ l1if_mph_time_ind(bts, fn); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4686448e42a40df56c1d27a14fd0a4d43fd144a5 Gerrit-Change-Number: 24613 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 Jun 8 16:12:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Jun 2021 16:12:51 +0000 Subject: Change in osmo-gsm-tester[master]: ms-srs: change the cpu governor before launching the ms. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24270 ) Change subject: ms-srs: change the cpu governor before launching the ms. ...................................................................... Patch Set 1: As discussed, I see several issues with this approach or some stuff which needs to be clarified: * Having this done per object may end up creating unexpected results (one object on one test stopping while the other one is running, may turn off the cpu_governor). * Is this specific to specific target hosts, like the BBU? If that's the case, I guess you can assume the hardware (hence the resource) is going to be used at most by 1 OGT instance/test at a time, and hence I'd move the code to be in the so called "BBU" class running special stuff to configure it, to not pollute srsue code by default. Does that make sense to you? What do you think? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I86ec4fbba8a965e60103b30e2aa60cd2c3f348c9 Gerrit-Change-Number: 24270 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: srs_andre Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 16:12:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 8 16:31:08 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 8 Jun 2021 16:31:08 +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 1: (3 comments) 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 261 PS1, Line 261: if ((vendor_id < 0 || product_id < 0)) { why ((? 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 https://gerrit.osmocom.org/c/simtrace2/+/24574/1/host/src/simtrace2-tool.c at 322 PS1, Line 322: 1 Doesn't make much difference, but I'm wondering: why not pass rc here? -- 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: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Tue, 08 Jun 2021 16:31: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 Tue Jun 8 16:39:20 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Tue, 8 Jun 2021 16:39:20 +0000 Subject: Change in osmo-gsm-tester[master]: ms-srs: change the cpu governor before launching the ms. In-Reply-To: References: Message-ID: alealcon has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24270 ) Change subject: ms-srs: change the cpu governor before launching the ms. ...................................................................... Patch Set 1: Answering your questions: - True. I didn't remember that problem. We should find a solution for this. It would be nice if it can be configured at the test setup, for every resource that it is using, going back to normal at the test teardown. Is that possible in a safe way (maybe setting a lock on the run_node while the test is executing that forces other OGT instances to wait for the lock release)? - It isn't related to specific hosts. It can be any host that it's running under Linux (we currently use it for the ms-srs). It's a nice feature to allow the device to "full performance" during the test and going back to normal after the test is finished. I think it suits more to be a "run_node" property rather than a binary (enb-srs, ms-amarisoft, epc-srs...). If it's too hard, we can start with the easiest solution that is to set the governor to performance as the default. What do you think, Andre? In the future we can try to solve it, so we can get this feature. I think it's a cool one ? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I86ec4fbba8a965e60103b30e2aa60cd2c3f348c9 Gerrit-Change-Number: 24270 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: srs_andre Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 16:39:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 8 22:11:06 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 8 Jun 2021 22:11:06 +0000 Subject: Change in osmo-bsc[master]: hodec2: don't apply AFS bias to same-cell lchans In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24608 ) Change subject: hodec2: don't apply AFS bias to same-cell lchans ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24608/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/24608/1//COMMIT_MSG at 12 PS1, Line 12: - same-cell lchans obviously have identical rxlev; > This is true (same trx, same rxlev behavior) for single TRX cells, but for a cell with multiple TRX [?] last two times i asked myself the same questions, the answer was that the BCCH is only transmitted on trx 0, and thus the rxlev reports from MS can only reflect the trx 0 dl reception. It is assumed that all trx of the same cell have similar reception characteristics (I am told). -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I315f24123ae016887ab91666870ce252e096f90f Gerrit-Change-Number: 24608 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: dexter Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 22:11:06 +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 Tue Jun 8 22:11:35 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 8 Jun 2021 22:11:35 +0000 Subject: Change in osmo-bsc[master]: hodec2: fix is_upgrade_to_tchf() for requirement A In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24606 ) Change subject: hodec2: fix is_upgrade_to_tchf() for requirement A ...................................................................... Patch Set 1: Code-Review+2 combine votes -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24606 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic44615b314782423bab0ceef5810311776f92754 Gerrit-Change-Number: 24606 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 22:11:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 8 22:12:11 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 8 Jun 2021 22:12:11 +0000 Subject: Change in osmo-bsc[master]: hodec2: add handover_test cases for upgrade of TCH/H -> TCH/F In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24571 ) Change subject: hodec2: add handover_test cases for upgrade of TCH/H -> TCH/F ...................................................................... hodec2: add handover_test cases for upgrade of TCH/H -> TCH/F Add test_amr_tch_h_and_afs_bias.ho_vty test_amr_tch_h_to_f_rxlev.ho_vty test_amr_tch_h_to_f_rxlev_congested.ho_vty test_amr_tch_h_to_f_rxqual.ho_vty test_amr_tch_h_to_f_rxqual_congested.ho_vty Related: SYS#5198 SYS#5365 Change-Id: Ib88f7e00d8bd77e2b02a7242a0fab4dd79333037 --- M tests/handover/handover_tests.ok A tests/handover/test_amr_tch_h_and_afs_bias.ho_vty A tests/handover/test_amr_tch_h_to_f_rxlev.ho_vty A tests/handover/test_amr_tch_h_to_f_rxlev_congested.ho_vty A tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty A tests/handover/test_amr_tch_h_to_f_rxqual_congested.ho_vty 6 files changed, 210 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/tests/handover/handover_tests.ok b/tests/handover/handover_tests.ok index 4a4a924..d0ce163 100644 --- a/tests/handover/handover_tests.ok +++ b/tests/handover/handover_tests.ok @@ -4,8 +4,13 @@ pass test_amr_tch_f_to_h_congestion_assignment.ho_vty pass test_amr_tch_f_to_h_congestion_assignment_2.ho_vty pass test_amr_tch_f_to_h_congestion_assignment_3.ho_vty +pass test_amr_tch_h_and_afs_bias.ho_vty pass test_amr_tch_h_to_f_congestion.ho_vty pass test_amr_tch_h_to_f_congestion_two_cells.ho_vty +pass test_amr_tch_h_to_f_rxlev.ho_vty +pass test_amr_tch_h_to_f_rxlev_congested.ho_vty +pass test_amr_tch_h_to_f_rxqual.ho_vty +pass test_amr_tch_h_to_f_rxqual_congested.ho_vty pass test_balance_congestion.ho_vty pass test_balance_congestion_2.ho_vty pass test_balance_congestion_by_percentage.ho_vty diff --git a/tests/handover/test_amr_tch_h_and_afs_bias.ho_vty b/tests/handover/test_amr_tch_h_and_afs_bias.ho_vty new file mode 100644 index 0000000..127727f --- /dev/null +++ b/tests/handover/test_amr_tch_h_and_afs_bias.ho_vty @@ -0,0 +1,18 @@ +# TCH/H has good RxLev and RxQual, AFS bias should not move it to TCH/F + +network + handover2 power budget hysteresis 3 + handover2 min rxlev -90 + handover2 min rxqual 5 + handover2 afs-bias rxlev 1 + +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/H- - - * +meas-rep lchan 0 0 4 0 rxlev 50 rxqual 1 ta 0 +# The TCH/H should stay where it is, because its levels are fine. +#expect-no-chan +# FAIL: osmo-bsc applies AFS bias to the intra-cell move from TCH/H to TCH/F. +# but intra-cell re-assignment does not employ a bower budget hysteresis. +# So in the presence of afs-bias, all TCH/H *always* move over to TCH/F. +# That should only happen when rxlev or rxqual ratings are too low. +expect-as from lchan 0 0 4 0 to lchan 0 0 1 0 diff --git a/tests/handover/test_amr_tch_h_to_f_rxlev.ho_vty b/tests/handover/test_amr_tch_h_to_f_rxlev.ho_vty new file mode 100644 index 0000000..34fb5e6 --- /dev/null +++ b/tests/handover/test_amr_tch_h_to_f_rxlev.ho_vty @@ -0,0 +1,18 @@ +# Low RxLev causes upgrade of TCH/H to TCH/F + +network + handover2 afs-bias rxlev 0 + handover2 min rxlev -80 + handover2 window rxlev averaging 10 + +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/H- - - * +meas-rep repeat 9 lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 +# not enough values for rxlev averaging +expect-no-chan +meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 +# average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev +#expect-as from lchan 0 0 4 0 to lchan 0 0 1 0 +#expect-ts-use trx 0 0 states * TCH/F - - - - - * +# FAIL: osmo-bsc does not move to TCH/F from bad rxlev +expect-no-chan diff --git a/tests/handover/test_amr_tch_h_to_f_rxlev_congested.ho_vty b/tests/handover/test_amr_tch_h_to_f_rxlev_congested.ho_vty new file mode 100644 index 0000000..a463387 --- /dev/null +++ b/tests/handover/test_amr_tch_h_to_f_rxlev_congested.ho_vty @@ -0,0 +1,73 @@ +# Low RxLev causes upgrade of TCH/H to TCH/F + +network + handover2 afs-bias rxlev 0 + handover2 min rxlev -80 + handover2 window rxlev averaging 10 + +create-bts trx-count 1 timeslots c+s4 TCH/F TCH/F TCH/F TCH/H TCH/H PDCH PDCH + + +set-ts-use trx 0 0 states * - - - TCH/HH TCH/HH * * +meas-rep repeat 9 lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 +# not enough values for rxlev averaging +expect-no-chan +meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 +# average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev +#expect-as from lchan 0 0 4 0 to lchan 0 0 1 0 +#expect-ts-use trx 0 0 states * TCH/F - - TCH/-H TCH/HH * * +# FAIL: osmo-bsc does not move to TCH/F from bad rxlev +expect-no-chan + + +# This situation actually balances congestion +set-ts-use trx 0 0 states * TCH/F - - TCH/HH TCH/HH * * +meas-rep repeat 9 lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 +# not enough values for rxlev averaging +expect-no-chan +meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 +# average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev +#expect-as from lchan 0 0 4 0 to lchan 0 0 2 0 +#expect-ts-use trx 0 0 states * TCH/F TCH/F - TCH/-H TCH/HH * * +# FAIL: osmo-bsc does not move to TCH/F from bad rxlev +expect-no-chan + +# This situation moves congestion from TCH/H to TCH/F (TCH/H was 100% congested, then makes TCH/F 100% congested) +# The congestion requirements would normally forbid this, but since this is an "RxQual emergency", we should reassign. +set-ts-use trx 0 0 states * TCH/F TCH/F - TCH/HH TCH/HH * * +meas-rep repeat 9 lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 +# not enough values for rxlev averaging +expect-no-chan +meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 +# average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev +#expect-as from lchan 0 0 4 0 to lchan 0 0 3 0 +#expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F TCH/-H TCH/HH * * +# FAIL: osmo-bsc does not move to TCH/F from bad rxlev +expect-no-chan + +# This situation worsens congestion (TCH/H was 50% congested, then makes TCH/F 100% congested) +# The congestion requirements would normally forbid this, but since this is an "RxQual emergency", we should reassign. +set-ts-use trx 0 0 states * TCH/F TCH/F - TCH/H- TCH/HH * * +meas-rep repeat 9 lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 +# not enough values for rxlev averaging +expect-no-chan +meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 +# average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev +#expect-as from lchan 0 0 4 0 to lchan 0 0 3 0 +#expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F - TCH/HH * * +# FAIL: osmo-bsc does not move to TCH/F from bad rxlev +expect-no-chan + + +# This situation creates congestion (TCH/H was not congested, then makes TCH/F 50% congested) +# The congestion requirements would normally forbid this, but since this is an "RxQual emergency", we should reassign. +set-ts-use trx 0 0 states * TCH/F - - TCH/H- - * * +meas-rep repeat 9 lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 +# not enough values for rxlev averaging +expect-no-chan +meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 +# average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev +#expect-as from lchan 0 0 4 0 to lchan 0 0 2 0 +#expect-ts-use trx 0 0 states * TCH/F TCH/F - - - * * +# FAIL: osmo-bsc does not move to TCH/F from bad rxlev +expect-no-chan 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 new file mode 100644 index 0000000..414a5fd --- /dev/null +++ b/tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty @@ -0,0 +1,18 @@ +# Low RxQual causes upgrade of TCH/H to TCH/F + +network + handover2 afs-bias rxlev 0 + handover2 min rxqual 5 + handover2 window rxqual averaging 2 + +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/H- - - * +meas-rep lchan 0 0 4 0 rxlev 30 rxqual 6 ta 0 +# not enough valus for rxqual averaging +expect-no-chan +meas-rep lchan 0 0 4 0 rxlev 30 rxqual 6 ta 0 +# 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 - - - - - * +# FAIL: osmo-bsc does not move to TCH/F from bad rxqual +expect-no-chan diff --git a/tests/handover/test_amr_tch_h_to_f_rxqual_congested.ho_vty b/tests/handover/test_amr_tch_h_to_f_rxqual_congested.ho_vty new file mode 100644 index 0000000..30c2c67 --- /dev/null +++ b/tests/handover/test_amr_tch_h_to_f_rxqual_congested.ho_vty @@ -0,0 +1,78 @@ +# Low RxQual causes upgrade of TCH/H to TCH/F, also when the cell is congested + +network + handover2 afs-bias rxlev 0 + handover2 min rxqual 5 + handover2 min rxlev -90 + handover2 window rxqual averaging 2 + handover2 min-free-slots tch/f 2 + handover2 min-free-slots tch/h 2 + +create-bts trx-count 1 timeslots c+s4 TCH/F TCH/F TCH/F TCH/H TCH/H PDCH PDCH + +# This situation actually reduces congestion +set-ts-use trx 0 0 states * - - - TCH/HH TCH/HH * * +meas-rep lchan 0 0 4 0 rxlev 50 rxqual 6 ta 0 +# not enough values for rxqual averaging +expect-no-chan +meas-rep lchan 0 0 4 0 rxlev 50 rxqual 6 ta 0 +# 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 - - TCH/-H TCH/HH * * +# FAIL: osmo-bsc does not move to TCH/F from bad rxqual +expect-no-chan + + +# This situation actually balances congestion +set-ts-use trx 0 0 states * TCH/F - - TCH/HH TCH/HH * * +meas-rep lchan 0 0 4 0 rxlev 50 rxqual 6 ta 0 +# not enough values for rxqual averaging +expect-no-chan +meas-rep lchan 0 0 4 0 rxlev 50 rxqual 6 ta 0 +# 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 2 0 +#expect-ts-use trx 0 0 states * TCH/F TCH/F - TCH/-H TCH/HH * * +# FAIL: osmo-bsc does not move to TCH/F from bad rxqual +expect-no-chan + + +# This situation moves congestion from TCH/H to TCH/F (TCH/H was 100% congested, then makes TCH/F 100% congested) +# The congestion requirements would normally forbid this, but since this is an "RxQual emergency", we should reassign. +set-ts-use trx 0 0 states * TCH/F TCH/F - TCH/HH TCH/HH * * +meas-rep lchan 0 0 4 0 rxlev 50 rxqual 6 ta 0 +# not enough values for rxqual averaging +expect-no-chan +meas-rep lchan 0 0 4 0 rxlev 50 rxqual 6 ta 0 +# 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 3 0 +#expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F TCH/-H TCH/HH * * +# FAIL: osmo-bsc does not move to TCH/F from bad rxqual +expect-no-chan + + +# This situation worsens congestion (TCH/H was 50% congested, then makes TCH/F 100% congested) +# The congestion requirements would normally forbid this, but since this is an "RxQual emergency", we should reassign. +set-ts-use trx 0 0 states * TCH/F TCH/F - TCH/H- TCH/HH * * +meas-rep lchan 0 0 4 0 rxlev 50 rxqual 6 ta 0 +# not enough values for rxqual averaging +expect-no-chan +meas-rep lchan 0 0 4 0 rxlev 50 rxqual 6 ta 0 +# 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 3 0 +#expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F - TCH/HH * * +# FAIL: osmo-bsc does not move to TCH/F from bad rxqual +expect-no-chan + + +# This situation creates congestion (TCH/H was not congested, then makes TCH/F 50% congested) +# The congestion requirements would normally forbid this, but since this is an "RxQual emergency", we should reassign. +set-ts-use trx 0 0 states * TCH/F - - TCH/H- - * * +meas-rep lchan 0 0 4 0 rxlev 50 rxqual 6 ta 0 +# not enough values for rxqual averaging +expect-no-chan +meas-rep lchan 0 0 4 0 rxlev 50 rxqual 6 ta 0 +# 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 2 0 +#expect-ts-use trx 0 0 states * TCH/F TCH/F - - - * * +# FAIL: osmo-bsc does not move to TCH/F from bad rxqual +expect-no-chan -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib88f7e00d8bd77e2b02a7242a0fab4dd79333037 Gerrit-Change-Number: 24571 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 8 22:12:12 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 8 Jun 2021 22:12:12 +0000 Subject: Change in osmo-bsc[master]: cosmetic prep: hodec2: move is_upgrade_to_tchf() further up In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24605 ) Change subject: cosmetic prep: hodec2: move is_upgrade_to_tchf() further up ...................................................................... cosmetic prep: hodec2: move is_upgrade_to_tchf() further up Preparation for Id40d1cf8b58410c7d4eb87407fe8b8106e352438 Related: SYS#5198 SYS#5365 Change-Id: I3fd0e257e033c573017ce62e3efc19b094acf73c --- M src/osmo-bsc/handover_decision_2.c 1 file changed, 7 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved fixeria: Looks good to me, but someone else must approve dexter: Looks good to me, approved diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index b2027d9..3e86a92 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -167,6 +167,13 @@ static void congestion_check_cb(void *arg); +static bool is_upgrade_to_tchf(const struct ho_candidate *c, uint8_t for_requirement) +{ + return c->current.lchan + && (c->current.lchan->type == GSM_LCHAN_TCH_H) + && ((c->requirements & for_requirement) & (REQUIREMENT_B_TCHF | REQUIREMENT_C_TCHF)); +} + static unsigned int ts_usage_count(struct gsm_bts_trx_ts *ts) { struct gsm_lchan *lchan; @@ -1535,13 +1542,6 @@ || lchan->ts->pchan_on_init == GSM_PCHAN_TCH_F_PDCH; } -static bool is_upgrade_to_tchf(const struct ho_candidate *c, uint8_t for_requirement) -{ - return c->current.lchan - && (c->current.lchan->type == GSM_LCHAN_TCH_H) - && ((c->requirements & for_requirement) & (REQUIREMENT_B_TCHF | REQUIREMENT_C_TCHF)); -} - /* Given two candidates, pick the one that should rather be moved during handover. * Return the better candidate in out-parameters best_cand and best_avg_db. */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3fd0e257e033c573017ce62e3efc19b094acf73c Gerrit-Change-Number: 24605 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 8 22:12:12 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 8 Jun 2021 22:12:12 +0000 Subject: Change in osmo-bsc[master]: hodec2: fix is_upgrade_to_tchf() for requirement A In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24606 ) Change subject: hodec2: fix is_upgrade_to_tchf() for requirement A ...................................................................... hodec2: fix is_upgrade_to_tchf() for requirement A Add missing REQUIREMENT_A_TCHF to form a full REQUIREMENT_TCHF_MASK. That allows detecting TCH/F -> TCH/H upgrades also in the requirement A flags, where we look for any viable lchan. Prepares for upcoming patch Id40d1cf8b58410c7d4eb87407fe8b8106e352438 which implements TCH/H to TCH/F upgrades within the same cell. Related: SYS#5198 SYS#5365 Change-Id: Ic44615b314782423bab0ceef5810311776f92754 --- M src/osmo-bsc/handover_decision_2.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: 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/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 3e86a92..a866293 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -171,7 +171,7 @@ { return c->current.lchan && (c->current.lchan->type == GSM_LCHAN_TCH_H) - && ((c->requirements & for_requirement) & (REQUIREMENT_B_TCHF | REQUIREMENT_C_TCHF)); + && ((c->requirements & for_requirement) & REQUIREMENT_TCHF_MASK); } static unsigned int ts_usage_count(struct gsm_bts_trx_ts *ts) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24606 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic44615b314782423bab0ceef5810311776f92754 Gerrit-Change-Number: 24606 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 8 22:27:37 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Jun 2021 22:27:37 +0000 Subject: Change in osmo-bsc[master]: hodec2: implement upgrade TCH/H -> TCH/F (without AFS bias) In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24607 ) Change subject: hodec2: implement upgrade TCH/H -> TCH/F (without AFS bias) ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24607 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id40d1cf8b58410c7d4eb87407fe8b8106e352438 Gerrit-Change-Number: 24607 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 22: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 Jun 8 22:57:07 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Jun 2021 22:57:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: ignore other RSL messages in function f_TC_paging() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24623 ) Change subject: BTS: ignore other RSL messages in function f_TC_paging() ...................................................................... BTS: ignore other RSL messages in function f_TC_paging() Recent changes [1] to osmo-bts make it periodically send the RF RESource INDication messages for each transceiver over the A-bis/RSL. These messages block the queue of 'RSL_CCHAN' port and make the paging related test cases fail. Ignore them. Change-Id: I18b879235c6eefb2dd89a3f4502b0830efeac6bb Related: [1] Id80fdbef087de625149755165c025c0a9563dc85 Related: SYS#5313, OS#1569 --- M bts/BTS_Tests.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/23/24623/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index ee5258c..1d41be6 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -3597,6 +3597,8 @@ /* FIXME: analyze/verify interval + contents */ repeat; } + /* ignore other RSL messages like RF RESource INDication */ + [] RSL_CCHAN.receive { repeat; } /* check if paging requests arrive on Um side */ [] as_l1_count_paging(st.num_paging_rcv_msgs, st.num_paging_rcv_ids, cfg); [] L1CTL.receive { repeat; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24623 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I18b879235c6eefb2dd89a3f4502b0830efeac6bb Gerrit-Change-Number: 24623 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 Jun 8 23:11:41 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Jun 2021 23:11:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: ignore other RSL messages in function f_TC_paging() 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/+/24623 to look at the new patch set (#2). Change subject: BTS: ignore other RSL messages in function f_TC_paging() ...................................................................... BTS: ignore other RSL messages in function f_TC_paging() Recent changes [1] to osmo-bts make it periodically send the RF RESource INDication messages for each transceiver over the A-bis/RSL. These messages block the queue of 'RSL_CCHAN' port and make the paging related test cases fail. Ignore them. Change-Id: I18b879235c6eefb2dd89a3f4502b0830efeac6bb Related: [1] Id80fdbef087de625149755165c025c0a9563dc85 Related: SYS#5313, OS#1569 --- M bts/BTS_Tests.ttcn 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/23/24623/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24623 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I18b879235c6eefb2dd89a3f4502b0830efeac6bb Gerrit-Change-Number: 24623 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 8 23:18:56 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 8 Jun 2021 23:18:56 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 to look at the new patch set (#20). Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... implement Channel Mode Modify to VAMOS mode Put a (primary) lchan in VAMOS speech mode. This is not yet about activating shadow lchans, this merely puts any lchan in a VAMOS capable channel- and speech mode. Protocol: In RR Channel Mode Modify, send a spec conforming VAMOS channel mode as well as an Extended TSC Set, wich adds the TSC Set to the training sequence code value. In RSL MODE MODIFY, send Osmocom specific extensions to indicate the TSC Set and TSC, as well as the VAMOS channel mode; only to OsmoBTS type cells. - Set the Channel Mode's Channel Rate to Osmocom specific RSL_CMOD_CRT_OSMO_TCH_VAMOS_Bm / RSL_CMOD_CRT_OSMO_TCH_VAMOS_Lm - Add the Osmocom specific Training Sequence IE containing both TSC Set and TSC. (These are documented in the Abis manual.) Implementation: The internal API to request a Mode Modify is lchan_modify(info). Add to this info the 'vamos' bool, set to true when the modification should put the lchan in VAMOS channel mode or not. When info.vamos == true, make sure the channel mode value is a VAMOS one: in the copy of info->ch_mode_rate at lchan->modify.ch_mode_rate, convert to the right VAMOS/non-VAMOS equivalent channel mode. When the modification is through, set lchan->vamos.enabled appropriately. This patch also builds on Ic665125255d7354f5499d10dda1dd866ab243d24 'allow explixit TSC Set and TSC on chan activ / modif / assignment' placing tsc_set and tsc values in the TSC related IEs. Related: SYS#5315 OS#4940 Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/lchan_fsm.c 4 files changed, 54 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/74/24374/20 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 20 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 Jun 8 23:18:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 8 Jun 2021 23:18:59 +0000 Subject: Change in osmo-bsc[master]: allow mode modify when RTP stream is active References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24624 ) Change subject: allow mode modify when RTP stream is active ...................................................................... allow mode modify when RTP stream is active Get rid of this artificial barrier, because Modify with active voice stream is supported since commit "lchan and assignment FSMs: make Channel Mode Modify more sane" d5cb0eb8fda3ade89c7b2e23a626b68dfda96f46 I4986844f839b1c9672c61d916eb3d33d0042d747 Change-Id: I25f4a881fa32a07f97d7d6e6b812f8afc699d951 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 0 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/24/24624/1 diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index c06735f..ded4129 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -1111,15 +1111,6 @@ return; case LCHAN_EV_REQUEST_MODE_MODIFY: - - /* FIXME: Add missing implementation to handle an already existing RTP voice stream on MODE MODIFY. - * there may be transitions from VOICE to SIGNALLING and also from VOICE to VOICE with a different - * codec. */ - if (lchan->fi_rtp) { - lchan_fail("MODE MODIFY not implemented when RTP voice stream is already active (VOICE => SIGNALLING, VOICE/CODEC_A => VOICE/CODEC_B)\n"); - return; - } - modif_info = data; lchan->modify.info = *modif_info; lchan->modify.concluded = false; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24624 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I25f4a881fa32a07f97d7d6e6b812f8afc699d951 Gerrit-Change-Number: 24624 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 Jun 8 23:18:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 8 Jun 2021 23:18:59 +0000 Subject: Change in osmo-bsc[master]: vty: add lchan modify '(vamos|non-vamos)' command References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24625 ) Change subject: vty: add lchan modify '(vamos|non-vamos)' command ...................................................................... vty: add lchan modify '(vamos|non-vamos)' command Change-Id: If44c3483d4d3d86f5822c5ad882aaeeaff27e3af --- M src/osmo-bsc/bsc_vty.c M tests/osmo-bsc.vty 2 files changed, 113 insertions(+), 28 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/25/24625/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 724a3b0..79026a1 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -102,6 +102,12 @@ BTS_NR_TRX_TS_STR2 \ "Sub-slot for manual command\n" SS_NR_STR +#define TSC_ARGS_OPT "[tsc] [<1-4>] [<0-7>]" +#define TSC_ARGS_DOC \ + "Provide specific TSC Set and Training Sequence Code\n" \ + "TSC Set\n" \ + "Training Sequence Code\n" + /* FIXME: this should go to some common file */ static const struct value_string gprs_ns_timer_strs[] = { { 0, "tns-block" }, @@ -192,6 +198,34 @@ return CMD_SUCCESS; } +/* resolve a gsm_bts_trx_ts basd on the given numeric identifiers */ +static struct gsm_bts_trx_ts *vty_get_ts(struct vty *vty, const char *bts_str, const char *trx_str, + const char *ts_str) +{ + int bts_nr = atoi(bts_str); + int trx_nr = atoi(trx_str); + int ts_nr = atoi(ts_str); + struct gsm_bts *bts; + struct gsm_bts_trx *trx; + struct gsm_bts_trx_ts *ts; + + 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 NULL; + } + + trx = gsm_bts_trx_num(bts, trx_nr); + if (!trx) { + vty_out(vty, "%% No such TRX (%d)%s", trx_nr, VTY_NEWLINE); + return NULL; + } + + ts = &trx->ts[ts_nr]; + + return ts; +} + static void net_dump_nmstate(struct vty *vty, struct gsm_nm_state *nms) { vty_out(vty,"Oper '%s', Admin '%s', Avail '%s'%s", @@ -1975,6 +2009,21 @@ return CMD_WARNING; } +static int trigger_vamos_mode_modify(struct vty *vty, struct gsm_lchan *lchan, bool vamos, int tsc_set, int tsc) +{ + struct lchan_modify_info info = { + .modify_for = MODIFY_FOR_VTY, + .ch_mode_rate = lchan->current_ch_mode_rate, + .requires_voice_stream = (lchan->fi_rtp != NULL), + .vamos = vamos, + .tsc_set = tsc_set, + .tsc = tsc, + }; + + lchan_mode_modify(lchan, &info); + return CMD_SUCCESS; +} + #define MANUAL_HANDOVER_STR "Manually trigger handover (for debugging)\n" #define MANUAL_ASSIGNMENT_STR "Manually trigger assignment (for debugging)\n" @@ -6023,34 +6072,6 @@ return CMD_SUCCESS; } -/* resolve a gsm_bts_trx_ts basd on the given numeric identifiers */ -static struct gsm_bts_trx_ts *vty_get_ts(struct vty *vty, const char *bts_str, const char *trx_str, - const char *ts_str) -{ - int bts_nr = atoi(bts_str); - int trx_nr = atoi(trx_str); - int ts_nr = atoi(ts_str); - struct gsm_bts *bts; - struct gsm_bts_trx *trx; - struct gsm_bts_trx_ts *ts; - - 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 NULL; - } - - trx = gsm_bts_trx_num(bts, trx_nr); - if (!trx) { - vty_out(vty, "%% No such TRX (%d)%s", trx_nr, VTY_NEWLINE); - return NULL; - } - - ts = &trx->ts[ts_nr]; - - return ts; -} - DEFUN(pdch_act, pdch_act_cmd, "bts <0-255> trx <0-255> timeslot <0-7> pdch (activate|deactivate)", BTS_NR_TRX_TS_STR2 @@ -6421,6 +6442,40 @@ return CMD_SUCCESS; } +DEFUN(vamos_modify_lchan, vamos_modify_lchan_cmd, + "bts <0-255> trx <0-255> timeslot <0-7> sub-slot <0-7> modify (vamos|non-vamos) " TSC_ARGS_OPT, + BTS_NR_TRX_TS_SS_STR2 + "Manually send Channel Mode Modify (for debugging)\n" + "Enable VAMOS channel mode\n" "Disable VAMOS channel mode\n" + TSC_ARGS_DOC) +{ + struct gsm_bts_trx_ts *ts; + struct gsm_lchan *lchan; + int ss_nr = atoi(argv[3]); + const char *vamos_str = argv[4]; + /* argv[5] is the "tsc" string from TSC_ARGS_OPT */ + int tsc_set = (argc > 6) ? atoi(argv[6]) : -1; + int tsc = (argc > 7) ? atoi(argv[7]) : -1; + + ts = vty_get_ts(vty, argv[0], argv[1], argv[2]); + if (!ts) + return CMD_WARNING; + + if (ss_nr >= ts->max_primary_lchans) { + vty_out(vty, "%% Invalid sub-slot number for this timeslot type%s", VTY_NEWLINE); + return CMD_WARNING; + } + + if (!osmo_bts_has_feature(&ts->trx->bts->features, BTS_FEAT_VAMOS)) { + vty_out(vty, "%% BTS does not support VAMOS%s", VTY_NEWLINE); + return CMD_WARNING; + } + + lchan = &ts->lchan[ss_nr]; + + return trigger_vamos_mode_modify(vty, lchan, strcmp(vamos_str, "vamos") == 0, tsc_set, tsc); +} + /* Debug command to send lchans from state LCHAN_ST_UNUSED to state * LCHAN_ST_BORKEN and vice versa. */ DEFUN_HIDDEN(lchan_set_borken, lchan_set_borken_cmd, @@ -7982,6 +8037,7 @@ 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); + install_element(ENABLE_NODE, &vamos_modify_lchan_cmd); install_element(ENABLE_NODE, &lchan_mdcx_cmd); install_element(ENABLE_NODE, &lchan_set_borken_cmd); diff --git a/tests/osmo-bsc.vty b/tests/osmo-bsc.vty index 560fb36..e03ed03 100644 --- a/tests/osmo-bsc.vty +++ b/tests/osmo-bsc.vty @@ -1,5 +1,34 @@ OsmoBSC> enable +OsmoBSC# list +... + bts <0-255> trx <0-255> timeslot <0-7> sub-slot <0-7> modify (vamos|non-vamos) [tsc] [<1-4>] [<0-7>] +... + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 ? + activate Manual Channel Activation (e.g. for BER test) + deactivate Manual Channel Deactivation (e.g. for BER test) + modify Manually send Channel Mode Modify (for debugging) + mdcx Modify RTP Connection + handover Manually trigger handover (for debugging) + assignment Manually trigger assignment (for debugging) + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 modify ? + vamos Enable VAMOS channel mode + non-vamos Disable VAMOS channel mode + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 modify vamos ? + [tsc] Provide specific TSC Set and Training Sequence Code + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 modify vamos tsc ? + [<1-4>] TSC Set + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 modify vamos tsc 1 ? + [<0-7>] Training Sequence Code + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 modify vamos tsc 1 0 ? + + OsmoBSC# configure terminal OsmoBSC(config)# network OsmoBSC(config-net)# list -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24625 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If44c3483d4d3d86f5822c5ad882aaeeaff27e3af Gerrit-Change-Number: 24625 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 Jun 8 23:19:00 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 8 Jun 2021 23:19:00 +0000 Subject: Change in osmo-bsc[master]: add lchan->vamos.is_secondary flag References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24626 ) Change subject: add lchan->vamos.is_secondary flag ...................................................................... add lchan->vamos.is_secondary flag VAMOS shadow lchans do not exist yet, but add the indicator flag that tells whether an lchan pointer is a primary or a shadow lchan. In Mode Modify: based on the flag, choose a different default TSC Set for shadow lchans; do BTS type compat checking for shadow lchan use. Actual lchans with vamos.is_secondary == true will be introduced by patch: 'add VAMOS secondary lchans to timeslot struct' I928af99498bba488d317693f3144d4fccbbe9af3 Change-Id: I4072fc7703c592df699fe8e27c02df09acde0909 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/lchan_fsm.c 2 files changed, 9 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/26/24626/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 7e90579..0670232 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -745,6 +745,10 @@ uint8_t tsc; struct { + /* Whether this lchan represents a secondary "shadow" lchan to multiplex a second MS onto a primary + * "normal" lchan */ + bool is_secondary; + /* Whether this lchan is activated/modified into a mode that allows VAMOS multiplexing at this moment */ bool enabled; } vamos; diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 0613fcb..b486b40 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -382,7 +382,8 @@ { OSMO_ASSERT(lchan && info); - if (info->vamos && !osmo_bts_has_feature(&lchan->ts->trx->bts->features, BTS_FEAT_VAMOS)) { + if ((info->vamos || lchan->vamos.is_secondary) + && !osmo_bts_has_feature(&lchan->ts->trx->bts->features, BTS_FEAT_VAMOS)) { lchan->last_error = talloc_strdup(lchan->ts->trx, "VAMOS related Channel Mode Modify requested," " but BTS does not support VAMOS"); LOG_LCHAN(lchan, LOGL_ERROR, @@ -1145,10 +1146,12 @@ } } + /* If enabling VAMOS mode and no specific TSC Set was selected, make sure to select a sane TSC Set by + * default: Set 1 for the primary and Set 2 for the shadow lchan. For non-VAMOS lchans, TSC Set 1. */ if (lchan->modify.info.tsc_set > 0) lchan->modify.tsc_set = lchan->modify.info.tsc_set; else - lchan->modify.tsc_set = 1; + lchan->modify.tsc_set = lchan->vamos.is_secondary ? 2 : 1; /* Use the TSC provided in the modification request, if any. Otherwise use the timeslot's configured * TSC. */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4072fc7703c592df699fe8e27c02df09acde0909 Gerrit-Change-Number: 24626 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 Jun 8 23:20:02 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Jun 2021 23:20:02 +0000 Subject: Change in osmo-bsc[master]: allow mode modify when RTP stream is active In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24624 ) Change subject: allow mode modify when RTP stream is active ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24624 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I25f4a881fa32a07f97d7d6e6b812f8afc699d951 Gerrit-Change-Number: 24624 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: fixeria Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 08 Jun 2021 23:20:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 8 23:20:09 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 8 Jun 2021 23:20:09 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24374 ) Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... Patch Set 20: since this patch set seems to be hard to review, i pulled it apart a little bit now, and gave a proper description. maybe it's a nicer review experience now -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 20 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 23:20:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 8 23:20:44 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Jun 2021 23:20:44 +0000 Subject: Change in osmo-bsc[master]: allow mode modify when RTP stream is active In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24624 ) Change subject: allow mode modify when RTP stream is active ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24624 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I25f4a881fa32a07f97d7d6e6b812f8afc699d951 Gerrit-Change-Number: 24624 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: fixeria Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 08 Jun 2021 23:20:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 8 23:24:16 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Jun 2021 23:24:16 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24374 ) Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... Patch Set 20: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 20 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Jun 2021 23:24:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 8 23:34:10 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Jun 2021 23:34:10 +0000 Subject: Change in osmo-bsc[master]: vty: add lchan modify '(vamos|non-vamos)' command In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24625 ) Change subject: vty: add lchan modify '(vamos|non-vamos)' command ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24625 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If44c3483d4d3d86f5822c5ad882aaeeaff27e3af Gerrit-Change-Number: 24625 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: fixeria Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 08 Jun 2021 23:34: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 Jun 8 23:34:37 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Jun 2021 23:34:37 +0000 Subject: Change in osmo-bsc[master]: add lchan->vamos.is_secondary flag In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24626 ) Change subject: add lchan->vamos.is_secondary flag ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4072fc7703c592df699fe8e27c02df09acde0909 Gerrit-Change-Number: 24626 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 08 Jun 2021 23: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 Jun 9 00:01:35 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Jun 2021 00:01:35 +0000 Subject: Change in osmocom-bb[master]: host/layer23/ccch_scan: skip CCCH frames with wrong length References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24627 ) Change subject: host/layer23/ccch_scan: skip CCCH frames with wrong length ...................................................................... host/layer23/ccch_scan: skip CCCH frames with wrong length It's not clear why do we get frames with unexpected length, but we definitely should not crash. Just ignore them. Change-Id: I85392becbffdb3ba7365decfd8f3769abe3c02c7 Related: OS#5171 --- M src/host/layer23/src/misc/app_ccch_scan.c 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/27/24627/1 diff --git a/src/host/layer23/src/misc/app_ccch_scan.c b/src/host/layer23/src/misc/app_ccch_scan.c index be2d9ae..c5017be 100644 --- a/src/host/layer23/src/misc/app_ccch_scan.c +++ b/src/host/layer23/src/misc/app_ccch_scan.c @@ -409,6 +409,13 @@ struct gsm48_system_information_type_header *sih = msgb_l3(msg); int rc = 0; + /* Skip frames with wrong length */ + if (msgb_l3len(msg) != GSM_MACBLOCK_LEN) { + LOGP(DRR, LOGL_ERROR, "Rx CCCH message with odd length=%u", + msgb_l3len(msg)); + return -EINVAL; + } + /* Skip dummy (fill) frames */ if (is_fill_frame(msg)) return 0; -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24627 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I85392becbffdb3ba7365decfd8f3769abe3c02c7 Gerrit-Change-Number: 24627 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 00:04:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Jun 2021 00:04:26 +0000 Subject: Change in osmocom-bb[master]: host/layer23/ccch_scan: skip CCCH frames with wrong length In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmocom-bb/+/24627 ) Change subject: host/layer23/ccch_scan: skip CCCH frames with wrong length ...................................................................... host/layer23/ccch_scan: skip CCCH frames with wrong length It's not clear why do we get frames with unexpected length, but we definitely should not crash. Just ignore them. Change-Id: I85392becbffdb3ba7365decfd8f3769abe3c02c7 Related: OS#5171 --- M src/host/layer23/src/misc/app_ccch_scan.c 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/27/24627/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24627 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I85392becbffdb3ba7365decfd8f3769abe3c02c7 Gerrit-Change-Number: 24627 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 Wed Jun 9 00:06:01 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 9 Jun 2021 00:06:01 +0000 Subject: Change in osmo-bsc[master]: allow mode modify when RTP stream is active In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24624 ) Change subject: allow mode modify when RTP stream is active ...................................................................... allow mode modify when RTP stream is active Get rid of this artificial barrier, because Modify with active voice stream is supported since commit "lchan and assignment FSMs: make Channel Mode Modify more sane" d5cb0eb8fda3ade89c7b2e23a626b68dfda96f46 I4986844f839b1c9672c61d916eb3d33d0042d747 Change-Id: I25f4a881fa32a07f97d7d6e6b812f8afc699d951 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 0 insertions(+), 9 deletions(-) Approvals: fixeria: 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 c06735f..ded4129 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -1111,15 +1111,6 @@ return; case LCHAN_EV_REQUEST_MODE_MODIFY: - - /* FIXME: Add missing implementation to handle an already existing RTP voice stream on MODE MODIFY. - * there may be transitions from VOICE to SIGNALLING and also from VOICE to VOICE with a different - * codec. */ - if (lchan->fi_rtp) { - lchan_fail("MODE MODIFY not implemented when RTP voice stream is already active (VOICE => SIGNALLING, VOICE/CODEC_A => VOICE/CODEC_B)\n"); - return; - } - modif_info = data; lchan->modify.info = *modif_info; lchan->modify.concluded = false; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24624 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I25f4a881fa32a07f97d7d6e6b812f8afc699d951 Gerrit-Change-Number: 24624 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 Wed Jun 9 01:27:13 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 9 Jun 2021 01:27:13 +0000 Subject: Change in libosmocore[master]: kdf: add key derivation functions 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/libosmocore/+/24291 to look at the new patch set (#8). Change subject: kdf: add key derivation functions ...................................................................... kdf: add key derivation functions generic sha code from git://w1.fi/hostap.git commit 5ea93947ca67ba83529798b806a15b247cdb2e93 which also happens to be the source of our milenage code. Related: SYS#5324 Change-Id: Ibf2e49edada944d91ceba62bd0d6b6ce69261fcd --- M TODO-RELEASE M include/Makefile.am A include/osmocom/crypt/kdf.h M src/gsm/Makefile.am A src/gsm/kdf.c A src/gsm/kdf/common.h A src/gsm/kdf/crypto.h A src/gsm/kdf/sha1-internal.c A src/gsm/kdf/sha1.c A src/gsm/kdf/sha1.h A src/gsm/kdf/sha1_i.h A src/gsm/kdf/sha256-internal.c A src/gsm/kdf/sha256.c A src/gsm/kdf/sha256.h A src/gsm/kdf/sha256_i.h M src/gsm/libosmogsm.map 16 files changed, 1,752 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/91/24291/8 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibf2e49edada944d91ceba62bd0d6b6ce69261fcd Gerrit-Change-Number: 24291 Gerrit-PatchSet: 8 Gerrit-Owner: Hoernchen 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 Jun 9 01:27:14 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 9 Jun 2021 01:27:14 +0000 Subject: Change in libosmocore[master]: [WIP] a54 libfuncs References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24628 ) Change subject: [WIP] a54 libfuncs ...................................................................... [WIP] a54 libfuncs Change-Id: I0fc25c6f23e76d210cbb9822b7e0a8184144ec42 Related: SYS#5324 --- M include/osmocom/gsm/gsm0808.h M src/gsm/gsm0808.c 2 files changed, 13 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/28/24628/1 diff --git a/include/osmocom/gsm/gsm0808.h b/include/osmocom/gsm/gsm0808.h index dc3610f..0cbe787 100644 --- a/include/osmocom/gsm/gsm0808.h +++ b/include/osmocom/gsm/gsm0808.h @@ -52,8 +52,8 @@ struct msgb *gsm0808_create_clear_command(uint8_t cause); struct msgb *gsm0808_create_clear_command2(uint8_t cause, bool csfb_ind); struct msgb *gsm0808_create_clear_complete(void); -struct msgb *gsm0808_create_cipher(const struct gsm0808_encrypt_info *ei, - const uint8_t *cipher_response_mode); +struct msgb *gsm0808_create_cipher(const struct gsm0808_encrypt_info *ei, uint8_t *kc128, + const uint8_t *cipher_response_mode); struct msgb *gsm0808_create_cipher_complete(struct msgb *layer3, uint8_t alg_id); struct msgb *gsm0808_create_cipher_reject(enum gsm0808_cause cause); struct msgb *gsm0808_create_cipher_reject_ext(enum gsm0808_cause_class class, uint8_t ext); @@ -165,6 +165,7 @@ struct gsm0808_handover_request { struct gsm0808_channel_type channel_type; struct gsm0808_encrypt_info encryption_information; + uint8_t kc128[16]; struct osmo_gsm48_classmark classmark_information; struct gsm0808_cell_id cell_identifier_serving; struct gsm0808_cell_id cell_identifier_target; @@ -200,7 +201,7 @@ /* more items are defined in the spec and may be added later */ bool more_items; /*!< always set this to false */ }; -struct msgb *gsm0808_create_handover_request(const struct gsm0808_handover_request *params); +struct msgb *gsm0808_create_handover_request(const struct gsm0808_handover_request *params, uint8_t *kc128); struct msgb *gsm0808_create_handover_request_ack(const uint8_t *l3_info, uint8_t l3_info_len, uint8_t chosen_channel, uint8_t chosen_encr_alg, diff --git a/src/gsm/gsm0808.c b/src/gsm/gsm0808.c index 3a39fd1..4b2a786 100644 --- a/src/gsm/gsm0808.c +++ b/src/gsm/gsm0808.c @@ -230,9 +230,10 @@ /*! Create BSSMAP Cipher Mode Command message * \param[in] ei Mandatory Encryption Information + * \param[in] kc128 optional kc128 key for A5/4 * \param[in] cipher_response_mode optional 1-byte Cipher Response Mode * \returns callee-allocated msgb with BSSMAP Cipher Mode Command message */ -struct msgb *gsm0808_create_cipher(const struct gsm0808_encrypt_info *ei, +struct msgb *gsm0808_create_cipher(const struct gsm0808_encrypt_info *ei, uint8_t* kc128, const uint8_t *cipher_response_mode) { /* See also: 3GPP TS 48.008 3.2.1.30 CIPHER MODE COMMAND */ @@ -258,6 +259,9 @@ msgb_tv_put(msg, GSM0808_IE_CIPHER_RESPONSE_MODE, *cipher_response_mode); + if(kc128) + msgb_tv_fixed_put(msg, GSM0808_IE_KC_128, 16, kc128); + /* pre-pend the header */ msg->l3h = msgb_tv_push(msg, BSSAP_MSG_BSS_MANAGEMENT, msgb_length(msg)); @@ -905,7 +909,7 @@ * Sent from the MSC to the potential new target cell during inter-BSC handover, or to the target MSC during inter-MSC * handover. */ -struct msgb *gsm0808_create_handover_request(const struct gsm0808_handover_request *params) +struct msgb *gsm0808_create_handover_request(const struct gsm0808_handover_request *params, uint8_t* kc128) { struct msgb *msg; @@ -991,6 +995,9 @@ msgb_tv_fixed_put(msg, GSM0808_IE_CALL_ID, 4, val); } + if(kc128) + msgb_tv_fixed_put(msg, GSM0808_IE_KC_128, 16, kc128); + if (params->global_call_reference && params->global_call_reference_len) { msgb_tlv_put(msg, GSM0808_IE_GLOBAL_CALL_REF, params->global_call_reference_len, params->global_call_reference); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24628 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0fc25c6f23e76d210cbb9822b7e0a8184144ec42 Gerrit-Change-Number: 24628 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 Jun 9 01:27:37 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 9 Jun 2021 01:27:37 +0000 Subject: Change in libosmocore[master]: [WIP] a54 libfuncs In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24628 ) Change subject: [WIP] a54 libfuncs ...................................................................... Patch Set 1: Code-Review-1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24628 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0fc25c6f23e76d210cbb9822b7e0a8184144ec42 Gerrit-Change-Number: 24628 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 09 Jun 2021 01: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 Wed Jun 9 01:28:35 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 9 Jun 2021 01:28:35 +0000 Subject: Change in libosmocore[master]: kdf: add key derivation functions In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24291 ) Change subject: kdf: add key derivation functions ...................................................................... Patch Set 8: crypto code updated to the commit predating license change to BSD -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibf2e49edada944d91ceba62bd0d6b6ce69261fcd Gerrit-Change-Number: 24291 Gerrit-PatchSet: 8 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Jun 2021 01:28:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 01:52:44 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 9 Jun 2021 01:52:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sgsn a54 tests References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24629 ) Change subject: sgsn a54 tests ...................................................................... sgsn a54 tests Change-Id: Iad65cbf9840aa883cb34e53554b94a4142c82638 Related: SYS#5324 --- M sgsn/SGSN_Tests.ttcn M sgsn/expected-results.xml 2 files changed, 127 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/29/24629/1 diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index d760e58..0047ba8 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -2833,6 +2833,123 @@ f_cleanup(); } +private function f_TC_attach_usim_crypt(OCT1 netcap_a2345, BIT3 auth_req_ciph) runs on BSSGP_ConnHdlr { + var RoutingAreaIdentificationV old_ra := f_random_RAI(); + + var template PDU_L3_MS_SGSN attach_req := ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit); + attach_req.msgs.gprs_mm.attachRequest.msNetworkCapability.msNetworkCapabilityV.spare_octets := netcap_a2345; /* GEA2345... */ + + /* send Attach Request */ + /* indicate R99 capability of the MS to enable UMTS AKA in presence of + * 3G auth vectors */ + attach_req.msgs.gprs_mm.attachRequest.msNetworkCapability.msNetworkCapabilityV.revisionLevelIndicatior := '1'B; + /* The thing is, if the solSACapability is 'omit', then the + * revisionLevelIndicatior is at the wrong place! */ + attach_req.msgs.gprs_mm.attachRequest.msNetworkCapability.msNetworkCapabilityV.solSACapability := '0'B; + f_send_l3(attach_req); + + /* do the auth */ + var PDU_L3_MS_SGSN l3_mo; + var PDU_L3_SGSN_MS l3_mt; + var default di := activate(as_mm_identity()); + + var GSUP_IE auth_tuple; + var template AuthenticationParameterAUTNTLV autn; + + g_pars.vec := f_gen_auth_vec_3g(); + autn := { + elementIdentifier := '28'O, + lengthIndicator := lengthof(g_pars.vec.autn), + autnValue := g_pars.vec.autn + }; + auth_tuple := valueof(ts_GSUP_IE_AuthTuple2G3G(g_pars.vec.rand, + g_pars.vec.sres, + g_pars.vec.kc, + g_pars.vec.ik, + g_pars.vec.ck, + g_pars.vec.autn, + g_pars.vec.res)); + log("GSUP sends 2G and 3G auth tuples", auth_tuple); + GSUP.receive(tr_GSUP_SAI_REQ(g_pars.imsi)); + GSUP.send(ts_GSUP_SAI_RES(g_pars.imsi, auth_tuple)); + + var template PDU_L3_SGSN_MS auth_ciph_req := tr_GMM_AUTH_REQ(g_pars.vec.rand, auth_req_ciph); + auth_ciph_req.msgs.gprs_mm.authenticationAndCipheringRequest.authenticationParameterAUTN := autn; + BSSGP[0].receive(auth_ciph_req) -> value l3_mt; + + setverdict(pass); + deactivate(di); +} + +private function f_TC_attach_usim_a54_a54(charstring id) runs on BSSGP_ConnHdlr { + f_TC_attach_usim_crypt('10'O, '100'B); +} + +private function f_TC_attach_usim_a54_a53(charstring id) runs on BSSGP_ConnHdlr { + f_TC_attach_usim_crypt('20'O, '011'B); +} + +private function f_TC_attach_usim_a53_a54(charstring id) runs on BSSGP_ConnHdlr { + f_TC_attach_usim_crypt('30'O, '011'B); +} + +private function f_TC_attach_usim_a50_a54(charstring id) runs on BSSGP_ConnHdlr { + f_TC_attach_usim_crypt('30'O, '000'B); +} + +private function f_TC_attach_usim_a54_a50(charstring id) runs on BSSGP_ConnHdlr { + f_TC_attach_usim_crypt('00'O, '000'B); +} + +testcase TC_attach_usim_a54_a54() runs on test_CT { + var BSSGP_ConnHdlr vc_conn; + f_init(); + f_sleep(1.0); + f_vty_config(SGSNVTY, "sgsn", "encryption GEA0 GEA3 GEA4"); + vc_conn := f_start_handler(refers(f_TC_attach_usim_a54_a54), testcasename(), g_gb, 40); + vc_conn.done; + f_cleanup(); +} + +testcase TC_attach_usim_a54_a53() runs on test_CT { + var BSSGP_ConnHdlr vc_conn; + f_init(); + f_sleep(1.0); + f_vty_config(SGSNVTY, "sgsn", "encryption GEA0 GEA3 GEA4"); + vc_conn := f_start_handler(refers(f_TC_attach_usim_a54_a53), testcasename(), g_gb, 40); + vc_conn.done; + f_cleanup(); +} + +testcase TC_attach_usim_a53_a54() runs on test_CT { + var BSSGP_ConnHdlr vc_conn; + f_init(); + f_sleep(1.0); + f_vty_config(SGSNVTY, "sgsn", "encryption GEA0 GEA3"); + vc_conn := f_start_handler(refers(f_TC_attach_usim_a53_a54), testcasename(), g_gb, 40); + vc_conn.done; + f_cleanup(); +} + +testcase TC_attach_usim_a50_a54() runs on test_CT { + var BSSGP_ConnHdlr vc_conn; + f_init(); + f_sleep(1.0); + f_vty_config(SGSNVTY, "sgsn", "encryption GEA0"); + vc_conn := f_start_handler(refers(f_TC_attach_usim_a50_a54), testcasename(), g_gb, 40); + vc_conn.done; + f_cleanup(); +} + +testcase TC_attach_usim_a54_a50() runs on test_CT { + var BSSGP_ConnHdlr vc_conn; + f_init(); + f_sleep(1.0); + f_vty_config(SGSNVTY, "sgsn", "encryption GEA0 GEA3 GEA4"); + vc_conn := f_start_handler(refers(f_TC_attach_usim_a54_a50), testcasename(), g_gb, 40); + vc_conn.done; + f_cleanup(); +} /* Send LLC NULL to see if the SGSN survives it (OS#3952) */ private function f_TC_llc_null(charstring id) runs on BSSGP_ConnHdlr { @@ -3506,6 +3623,11 @@ execute( TC_attach_rau_a_a() ); execute( TC_attach_rau_a_b() ); execute( TC_attach_usim_resync() ); + execute( TC_attach_usim_a54_a54() ); + execute( TC_attach_usim_a54_a53() ); + execute( TC_attach_usim_a53_a54() ); + execute( TC_attach_usim_a50_a54() ); + execute( TC_attach_usim_a54_a50() ); execute( TC_detach_unknown_nopoweroff() ); execute( TC_detach_unknown_poweroff() ); execute( TC_detach_nopoweroff() ); diff --git a/sgsn/expected-results.xml b/sgsn/expected-results.xml index 0a36e2e..9997895 100644 --- a/sgsn/expected-results.xml +++ b/sgsn/expected-results.xml @@ -37,6 +37,11 @@ + + + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iad65cbf9840aa883cb34e53554b94a4142c82638 Gerrit-Change-Number: 24629 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 Jun 9 01:53:37 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 9 Jun 2021 01:53:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc a54 tests References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24630 ) Change subject: bsc a54 tests ...................................................................... bsc a54 tests Change-Id: I4940d06b55824936b94f97649401b691339c2e7d Related: SYS#5324 --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M bsc/expected-results.xml M bsc/osmo-bsc.cfg 4 files changed, 53 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/30/24630/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 41deea1..66206ee 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3326,7 +3326,17 @@ vc_conn.done; f_shutdown_helper(); } +testcase TC_ciph_mode_a5_4() runs on test_CT { + var MSC_ConnHdlr vc_conn; + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + pars.encr := valueof(t_EncrParams('10'O, f_rnd_octstring(8), f_rnd_octstring(16))); + f_init(1, true); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_tc_ciph_mode_a5), pars); + vc_conn.done; + f_shutdown_helper(); +} /* establish initial channel, enable ciphering followed by assignment to ciphered channel */ private function f_tc_assignment_aoip_tla_v6(charstring id) runs on MSC_ConnHdlr { var template PDU_BSSAP exp_compl := f_gen_exp_compl(); @@ -3420,13 +3430,11 @@ var template PDU_BSSAP exp_compl := f_gen_exp_compl(); var PDU_BSSAP ass_cmd := f_gen_ass_req(); const OCT8 kc := '0001020304050607'O; - const OCT16 kc128 := kc & kc; + g_pars.encr := valueof(t_EncrParams('10'O, kc, kc & kc)); 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); - f_cipher_mode('10'O, kc, kc128, true); - /* TODO: expect GSM0808_CAUSE_CIPHERING_ALGORITHM_NOT_SUPPORTED cause value */ } testcase TC_assignment_fr_a5_4() runs on test_CT { var MSC_ConnHdlr vc_conn; @@ -3439,6 +3447,30 @@ f_shutdown_helper(); } +private function f_tc_assignment_fr_a5_4_fail(charstring id) runs on MSC_ConnHdlr { + g_pars := f_gen_test_hdlr_pars(); + var template PDU_BSSAP exp_compl := f_gen_exp_compl(); + var PDU_BSSAP ass_cmd := f_gen_ass_req(); + const OCT8 kc := '0001020304050607'O; + + 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); + + g_pars.encr := valueof(t_EncrParams('10'O, kc)); // kc128 missing! + f_cipher_mode(g_pars.encr, true); +} + +testcase TC_assignment_fr_a5_4_fail() runs on test_CT { + var MSC_ConnHdlr vc_conn; + + f_init(1, true); + f_sleep(1.0); + + vc_conn := f_start_handler(refers(f_tc_assignment_fr_a5_4_fail)); + vc_conn.done; + f_shutdown_helper(); +} private function f_tc_assignment_sign(charstring id) runs on MSC_ConnHdlr { g_pars := f_gen_test_hdlr_pars(); @@ -6698,7 +6730,7 @@ /* start ciphering, if requested */ if (ispresent(g_pars.encr)) { f_logp(BSCVTY, "start ciphering"); - f_cipher_mode(g_pars.encr.enc_alg, g_pars.encr.enc_key); + f_cipher_mode(g_pars.encr); } } @@ -8829,9 +8861,11 @@ } execute( TC_assignment_fr_a5_3() ); execute( TC_assignment_fr_a5_4() ); + execute( TC_assignment_fr_a5_4_fail() ); execute( TC_ciph_mode_a5_0() ); execute( TC_ciph_mode_a5_1() ); execute( TC_ciph_mode_a5_3() ); + execute( TC_ciph_mode_a5_4() ); execute( TC_assignment_codec_fr() ); execute( TC_assignment_codec_fr_by_mode_modify() ); diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index c29ccd4..bfb4352 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -544,12 +544,14 @@ type record TestHdlrEncrParams { OCT1 enc_alg, - octetstring enc_key + octetstring enc_key, + octetstring enc_kc128 optional }; -template (value) TestHdlrEncrParams t_EncrParams(OCT1 alg, octetstring key) := { +template (value) TestHdlrEncrParams t_EncrParams(OCT1 alg, octetstring key, template (omit) octetstring kc128 := omit) := { enc_alg := alg, - enc_key := key + enc_key := key, + enc_kc128 := kc128 } type record TestHdlrParamsLcls { @@ -709,25 +711,25 @@ } } -function f_cipher_mode(OCT1 alg, OCT8 key, template OCT16 kc128 := omit, boolean exp_fail := false) +function f_cipher_mode(TestHdlrEncrParams encrp, boolean exp_fail := false) runs on MSC_ConnHdlr { var PDU_BSSAP bssap; var RSL_Message rsl; var RSL_AlgId alg_rsl; - if (isvalue(kc128)) { - BSSAP.send(ts_BSSMAP_CipherModeCmdKc128(alg, key, valueof(kc128))); + if (isvalue(encrp.enc_kc128)) { + BSSAP.send(ts_BSSMAP_CipherModeCmdKc128(encrp.enc_alg, encrp.enc_key, valueof(encrp.enc_kc128))); } else { - BSSAP.send(ts_BSSMAP_CipherModeCmd(alg, key)); + BSSAP.send(ts_BSSMAP_CipherModeCmd(encrp.enc_alg, encrp.enc_key)); } /* RSL uses a different representation of the encryption algorithm, * so we need to convert first */ - alg_rsl := f_chipher_mode_bssmap_to_rsl(alg); + alg_rsl := f_chipher_mode_bssmap_to_rsl(encrp.enc_alg); alt { /* RSL/UE Side */ - [] RSL.receive(tr_RSL_ENCR_CMD(g_chan_nr, ?, alg_rsl, key)) -> value rsl { + [] RSL.receive(tr_RSL_ENCR_CMD(g_chan_nr, ?, alg_rsl, encrp.enc_key)) -> 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); if (ischosen(l3.msgs.rrm.cipheringModeCommand)) { @@ -1145,7 +1147,7 @@ /* start ciphering, if requested */ if (ispresent(g_pars.encr)) { - f_cipher_mode(g_pars.encr.enc_alg, g_pars.encr.enc_key); + f_cipher_mode(g_pars.encr); } /* bail out early if no assignment requested */ diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml index c98d3c7..42bd955 100644 --- a/bsc/expected-results.xml +++ b/bsc/expected-results.xml @@ -48,9 +48,11 @@ + + diff --git a/bsc/osmo-bsc.cfg b/bsc/osmo-bsc.cfg index b64a63d..7b0fa2a 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 + encryption a5 0 1 3 4 neci 1 paging any use tch 0 handover 1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24630 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4940d06b55824936b94f97649401b691339c2e7d Gerrit-Change-Number: 24630 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 Jun 9 01:54:03 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 9 Jun 2021 01:54:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc a54 tests In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24630 ) Change subject: bsc a54 tests ...................................................................... Patch Set 1: Code-Review-1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24630 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4940d06b55824936b94f97649401b691339c2e7d Gerrit-Change-Number: 24630 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 09 Jun 2021 01:54:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 01:54:17 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 9 Jun 2021 01:54:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc a54 tests In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24630 ) Change subject: bsc a54 tests ...................................................................... Patch Set 1: not yet ready for merge due to a54 vty req -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24630 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4940d06b55824936b94f97649401b691339c2e7d Gerrit-Change-Number: 24630 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 09 Jun 2021 01:54: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 Wed Jun 9 01:55:12 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 9 Jun 2021 01:55:12 +0000 Subject: Change in osmo-sgsn[master]: add support for multiple encryption algorithms and a5/4 In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 to look at the new patch set (#3). Change subject: add support for multiple encryption algorithms and a5/4 ...................................................................... add support for multiple encryption algorithms and a5/4 config syntax stays backward compatible. Change-Id: Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Related: SYS#5324 --- M include/osmocom/sgsn/gprs_sgsn.h M include/osmocom/sgsn/sgsn.h M src/sgsn/gprs_gmm.c M src/sgsn/gprs_llc.c M src/sgsn/gprs_sgsn.c M src/sgsn/sgsn_vty.c 6 files changed, 90 insertions(+), 31 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/04/24304/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Gerrit-Change-Number: 24304 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 02:01:56 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 9 Jun 2021 02:01:56 +0000 Subject: Change in osmo-bts[master]: a5/4 support References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24631 ) Change subject: a5/4 support ...................................................................... a5/4 support Change-Id: Ib8e04fe79f30b443a54c38f395a7a3626ff97c45 Related: SYS#5324 --- M src/common/scheduler.c M src/osmo-bts-trx/main.c M tests/cipher/cipher_test.c 3 files changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/31/24631/1 diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 3ab94a2..5dd808d 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -1200,7 +1200,7 @@ /* no algorithm given means a5/0 */ if (algo <= 0) algo = 0; - else if (lchan->encr.key_len != 8) { + else if (lchan->encr.key_len > 16) { LOGPLCHAN(lchan, DL1C, LOGL_ERROR, "Algo A5/%d not supported with given key_len=%u\n", algo, lchan->encr.key_len); diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c index 7134939..7c2fda8 100644 --- a/src/osmo-bts-trx/main.c +++ b/src/osmo-bts-trx/main.c @@ -127,7 +127,7 @@ bts->model_priv = bts_trx; bts->variant = BTS_OSMO_TRX; - bts->support.ciphers = CIPHER_A5(1) | CIPHER_A5(2) | CIPHER_A5(3); + bts->support.ciphers = CIPHER_A5(1) | CIPHER_A5(2) | CIPHER_A5(3) | CIPHER_A5(4); /* The nominal value for each TRX is later overwritten through VTY cmd * 'nominal-tx-power' if present, otherwise through TRXC cmd NOMTXPOWER. diff --git a/tests/cipher/cipher_test.c b/tests/cipher/cipher_test.c index 9d78a88..9303ed2 100644 --- a/tests/cipher/cipher_test.c +++ b/tests/cipher/cipher_test.c @@ -50,14 +50,14 @@ ASSERT_TRUE(bts_supports_cipher(bts, i) == 0); } - /* checking default A5/1 to A5/3 support */ - bts->support.ciphers = CIPHER_A5(1) | CIPHER_A5(2) | CIPHER_A5(3); + /* checking default A5/1 to A5/4 support */ + bts->support.ciphers = CIPHER_A5(1) | CIPHER_A5(2) | CIPHER_A5(3) | CIPHER_A5(4); ASSERT_TRUE(bts_supports_cipher(bts, 0x0) == -ENOTSUP); ASSERT_TRUE(bts_supports_cipher(bts, 0x1) == 1); /* A5/0 */ ASSERT_TRUE(bts_supports_cipher(bts, 0x2) == 1); /* A5/1 */ ASSERT_TRUE(bts_supports_cipher(bts, 0x3) == 1); /* A5/2 */ ASSERT_TRUE(bts_supports_cipher(bts, 0x4) == 1); /* A5/3 */ - ASSERT_TRUE(bts_supports_cipher(bts, 0x5) == 0); /* A5/4 */ + ASSERT_TRUE(bts_supports_cipher(bts, 0x5) == 1); /* A5/4 */ ASSERT_TRUE(bts_supports_cipher(bts, 0x6) == 0); /* A5/5 */ ASSERT_TRUE(bts_supports_cipher(bts, 0x7) == 0); /* A5/6 */ ASSERT_TRUE(bts_supports_cipher(bts, 0x8) == 0); /* A5/7 */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib8e04fe79f30b443a54c38f395a7a3626ff97c45 Gerrit-Change-Number: 24631 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 Jun 9 02:05:03 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 9 Jun 2021 02:05:03 +0000 Subject: Change in osmo-msc[master]: vty: a5/4 support References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/24632 ) Change subject: vty: a5/4 support ...................................................................... vty: a5/4 support Change-Id: I5b46aaa8579f8d069ca39caf996a8795ffe63dd7 Related: SYS#5324 --- M src/libmsc/msc_vty.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/32/24632/1 diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c index 79b4daa..c9ada37 100644 --- a/src/libmsc/msc_vty.c +++ b/src/libmsc/msc_vty.c @@ -151,12 +151,13 @@ DEFUN(cfg_net_encryption, cfg_net_encryption_cmd, - "encryption a5 <0-3> [<0-3>] [<0-3>] [<0-3>]", + "encryption a5 <0-4> [<0-4>] [<0-4>] [<0-4>] [<0-4>]", ENCRYPTION_STR "GSM A5 Air Interface Encryption.\n" "A5/n Algorithm Number\n" "A5/n Algorithm Number\n" "A5/n Algorithm Number\n" + "A5/n Algorithm Number\n" "A5/n Algorithm Number\n") { unsigned int i; -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5b46aaa8579f8d069ca39caf996a8795ffe63dd7 Gerrit-Change-Number: 24632 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 Jun 9 02:05:03 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 9 Jun 2021 02:05:03 +0000 Subject: Change in osmo-msc[master]: [WIP] a5/4 support References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/24633 ) Change subject: [WIP] a5/4 support ...................................................................... [WIP] a5/4 support Change-Id: I1b3136f0b2728013677b62647c033aade2933299 Related: SYS#5324 --- M include/osmocom/msc/msc_common.h M include/osmocom/msc/ran_msg.h M src/libmsc/msc_ho.c M src/libmsc/ran_msg_a.c 4 files changed, 61 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/33/24633/1 diff --git a/include/osmocom/msc/msc_common.h b/include/osmocom/msc/msc_common.h index 8a43e69..20f5d15 100644 --- a/include/osmocom/msc/msc_common.h +++ b/include/osmocom/msc/msc_common.h @@ -32,6 +32,7 @@ uint8_t alg_id; uint8_t key_len; uint8_t key[MAX_A5_KEY_LEN]; + uint8_t kc128[MAX_A5_KEY_LEN]; }; enum complete_layer3_type { diff --git a/include/osmocom/msc/ran_msg.h b/include/osmocom/msc/ran_msg.h index 1303ba3..772d1ec 100644 --- a/include/osmocom/msc/ran_msg.h +++ b/include/osmocom/msc/ran_msg.h @@ -118,6 +118,7 @@ * alg_id == 1 means A5/0 i.e. no encryption, alg_id == 4 means A5/3. * alg_id == 0 means no such IE was present. */ struct geran_encr *chosen_encryption; + bool umts_aka; } geran; struct gsm0808_cell_id cell_id_serving; struct gsm0808_cell_id cell_id_target; diff --git a/src/libmsc/msc_ho.c b/src/libmsc/msc_ho.c index d89a24c..7a8db3f 100644 --- a/src/libmsc/msc_ho.c +++ b/src/libmsc/msc_ho.c @@ -392,6 +392,7 @@ .geran = { .chosen_encryption = &msc_a->geran_encr, .a5_encryption_mask = net->a5_encryption_mask, + .umts_aka = vsub->sec_ctx == VLR_SEC_CTX_UMTS ? true : false, }, .bssap_cause = GSM0808_CAUSE_BETTER_CELL, .current_channel_type_1_present = msc_a->ho.info.current_channel_type_1_present, diff --git a/src/libmsc/ran_msg_a.c b/src/libmsc/ran_msg_a.c index 4cce289..477e5d9 100644 --- a/src/libmsc/ran_msg_a.c +++ b/src/libmsc/ran_msg_a.c @@ -25,6 +25,7 @@ #include #include +#include #include #include @@ -482,6 +483,7 @@ const struct tlv_p_entry *ie_aoip_transp_addr = TLVP_GET(tp, GSM0808_IE_AOIP_TRASP_ADDR); const struct tlv_p_entry *ie_codec_list_msc_preferred = TLVP_GET(tp, GSM0808_IE_SPEECH_CODEC_LIST); const struct tlv_p_entry *ie_call_id = TLVP_GET(tp, GSM0808_IE_CALL_ID); + const struct tlv_p_entry *ie_kc128 = TLVP_GET(tp, GSM0808_IE_KC_128); const struct tlv_p_entry *ie_global_call_ref = TLVP_GET(tp, GSM0808_IE_GLOBAL_CALL_REF); struct gsm0808_channel_type channel_type; @@ -524,6 +526,16 @@ geran_encr.key_len = encr_info.key_len; } + if(r->geran.a5_encryption_mask & (1 << 4)) { + if (ie_kc128) { + memcpy(geran_encr.kc128, ie_kc128->val, 16); + } else { + LOG_RAN_A_DEC_MSG(LOGL_ERROR, "Failed to decode Encryption Information IE:" + " A5/4 supported, but missing kc128 IE!\n"); + return -EINVAL; + } + } + r->geran.chosen_encryption = &geran_encr; } @@ -1019,13 +1031,16 @@ case 3: *dst = GSM0808_ALG_ID_A5_3; return 0; + case 4: + *dst = GSM0808_ALG_ID_A5_4; + return 0; default: return -ENOTSUP; } } static int make_encrypt_info_perm_algo(struct osmo_fsm_inst *fi, struct gsm0808_encrypt_info *ei, - uint8_t a5_encryption_mask, const struct osmo_gsm48_classmark *cm) + uint8_t a5_encryption_mask, const struct osmo_gsm48_classmark *cm, bool umts_aka) { int i; int j = 0; @@ -1036,6 +1051,10 @@ if (!(a5_encryption_mask & (1 << i))) continue; + /* no a5/4 without umts aka */ + if(i > 3 && !umts_aka) + continue; + /* A5/n supported by MS? */ supported = osmo_gsm48_classmark_supports_a5(cm, i); if (supported != 1) @@ -1056,13 +1075,17 @@ */ osmo_static_assert(sizeof(((struct gsm0808_encrypt_info*)0)->key) >= sizeof(((struct osmo_auth_vector*)0)->kc), gsm0808_encrypt_info_key_fits_osmo_auth_vec_kc); + static struct msgb *ran_a_make_cipher_mode_command(struct osmo_fsm_inst *fi, const struct ran_cipher_mode_command *cm) { struct gsm0808_encrypt_info ei = {}; char buf[16 * 2 + 1]; const uint8_t cipher_response_mode = 1; + uint8_t kc128[16]; + bool has_a54 = false; + int i; - if (make_encrypt_info_perm_algo(fi, &ei, cm->geran.a5_encryption_mask, cm->classmark)) + if (make_encrypt_info_perm_algo(fi, &ei, cm->geran.a5_encryption_mask, cm->classmark, cm->geran.umts_aka)) return NULL; if (ei.perm_algo_len == 0) { @@ -1072,13 +1095,23 @@ return NULL; } + for( i= 0; i < ei.perm_algo_len; i++) { + has_a54 = ei.perm_algo[i] == GSM0808_ALG_ID_A5_4; + if (has_a54) + break; + } + /* In case of UMTS AKA, the Kc for ciphering must be derived from the 3G auth * tokens. vec->kc was calculated from the GSM algorithm and is not * necessarily a match for the UMTS AKA tokens. */ - if (cm->geran.umts_aka) + if (cm->geran.umts_aka) { osmo_auth_c3(ei.key, cm->vec->ck, cm->vec->ik); - else + + /* unconditionally derive key if aka, due to HO req */ + osmo_kdf_kc128(cm->vec->ck, cm->vec->ik, kc128); + } else { memcpy(ei.key, cm->vec->kc, sizeof(cm->vec->kc)); + } ei.key_len = sizeof(cm->vec->kc); /* Store chosen GERAN key where the caller asked it to be stored. @@ -1090,12 +1123,16 @@ } memcpy(cm->geran.chosen_key->key, ei.key, ei.key_len); cm->geran.chosen_key->key_len = ei.key_len; + + if (cm->geran.umts_aka) + memcpy(cm->geran.chosen_key->kc128, kc128, 16); } + LOG_RAN_A_ENC(fi, LOGL_DEBUG, "Tx BSSMAP CIPHER MODE COMMAND to BSC, %u ciphers (%s) key %s\n", ei.perm_algo_len, osmo_hexdump_nospc(ei.perm_algo, ei.perm_algo_len), osmo_hexdump_buf(buf, sizeof(buf), ei.key, ei.key_len, NULL, false)); - return gsm0808_create_cipher(&ei, cm->geran.retrieve_imeisv ? &cipher_response_mode : NULL); + return gsm0808_create_cipher(&ei, has_a54 ? kc128 : NULL, cm->geran.retrieve_imeisv ? &cipher_response_mode : NULL); } struct msgb *ran_a_make_handover_request(struct osmo_fsm_inst *log_fi, const struct ran_handover_request *n) @@ -1120,6 +1157,9 @@ .global_call_reference = n->global_call_reference, .global_call_reference_len = n->global_call_reference_len, }; + bool has_a54_in_set = false; + uint8_t kc128[16]; + int i; if (!n->geran.channel_type) { LOG_RAN_A_ENC(log_fi, LOGL_ERROR, "Channel Type required for encoding Handover Request in BSSAP\n"); @@ -1128,7 +1168,15 @@ r.channel_type = *n->geran.channel_type; /* Encryption Information */ - make_encrypt_info_perm_algo(log_fi, &r.encryption_information, n->geran.a5_encryption_mask, n->classmark); + make_encrypt_info_perm_algo(log_fi, &r.encryption_information, n->geran.a5_encryption_mask, n->classmark, n->geran.umts_aka); + + /* kc128 is only included if intersection offers a5/4 */ + for( i= 0; i < r.encryption_information.perm_algo_len; i++) { + has_a54_in_set = r.encryption_information.perm_algo[i] == GSM0808_ALG_ID_A5_4; + if (has_a54_in_set) + break; + } + if (n->geran.chosen_encryption && n->geran.chosen_encryption->key_len) { /* Prevent both source / destination buffer overrun / overflow */ if (n->geran.chosen_encryption->key_len > sizeof(r.encryption_information.key) @@ -1141,6 +1189,9 @@ n->geran.chosen_encryption->key, n->geran.chosen_encryption->key_len); r.encryption_information.key_len = n->geran.chosen_encryption->key_len; r.chosen_encryption_algorithm_serving = n->geran.chosen_encryption->alg_id; + + if (has_a54_in_set) + memcpy(kc128, n->geran.chosen_encryption->kc128, 16); } if (n->classmark) @@ -1156,7 +1207,7 @@ r.aoip_transport_layer = &ss; } - return gsm0808_create_handover_request(&r); + return gsm0808_create_handover_request(&r, has_a54_in_set ? kc128 : NULL); } static struct msgb *ran_a_make_handover_request_ack(struct osmo_fsm_inst *caller_fi, const struct ran_handover_request_ack *r) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24633 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I1b3136f0b2728013677b62647c033aade2933299 Gerrit-Change-Number: 24633 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 Jun 9 02:05:14 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 9 Jun 2021 02:05:14 +0000 Subject: Change in osmo-msc[master]: [WIP] a5/4 support In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24633 ) Change subject: [WIP] a5/4 support ...................................................................... Patch Set 1: Code-Review-1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24633 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I1b3136f0b2728013677b62647c033aade2933299 Gerrit-Change-Number: 24633 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 09 Jun 2021 02:05: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 Jun 9 02:08:03 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 9 Jun 2021 02:08:03 +0000 Subject: Change in osmo-bsc[master]: vty: a5/4 support References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24634 ) Change subject: vty: a5/4 support ...................................................................... vty: a5/4 support Change-Id: Icac06ed554fd61bf7c4bfb1d5c3739a01f2915a4 Related: SYS#5324 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/34/24634/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 724a3b0..6f68d7f 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -6584,7 +6584,7 @@ DEFUN_USRATTR(cfg_net_encryption, cfg_net_encryption_cmd, X(BSC_VTY_ATTR_NEW_LCHAN), - "encryption a5 <0-3> [<0-3>] [<0-3>] [<0-3>]", + "encryption a5 <0-4> [<0-4>] [<0-4>] [<0-4>]", "Encryption options\n" "GSM A5 Air Interface Encryption\n" "A5/n Algorithm Number\n" -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24634 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icac06ed554fd61bf7c4bfb1d5c3739a01f2915a4 Gerrit-Change-Number: 24634 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 Jun 9 02:08:03 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 9 Jun 2021 02:08:03 +0000 Subject: Change in osmo-bsc[master]: [WIP] a5/4 support References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24635 ) Change subject: [WIP] a5/4 support ...................................................................... [WIP] a5/4 support Change-Id: I7c458c8a7350f34ff79531b3c891e1b367614469 Related: SYS#5324 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/osmo_bsc_bssap.c 4 files changed, 41 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/35/24635/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 2515d7e..cc0bbe5 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -234,6 +234,7 @@ struct gsm0808_channel_type ct; struct gsm0808_speech_codec_list scl; struct gsm0808_encrypt_info ei; + uint8_t kc128[16]; struct gsm_classmark classmark; /* chosen_encr_alg reflects the encoded value as in RSL_ENC_ALG_A5(a5_numer): * chosen_encr_alg == 1 means A5/0 i.e. no encryption, chosen_encr_alg == 4 means A5/3. @@ -544,6 +545,7 @@ uint8_t alg_id; uint8_t key_len; uint8_t key[MAX_A5_KEY_LEN]; + uint8_t kc128[16]; }; #define LOGPLCHAN(lchan, ss, level, fmt, args...) \ diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 69052ee..3e3d92e 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -156,8 +156,11 @@ static int build_encr_info(uint8_t *out, struct gsm_lchan *lchan) { *out++ = lchan->encr.alg_id & 0xff; - if (lchan->encr.key_len) + if (lchan->encr.alg_id == GSM0808_ALG_ID_A5_4) + memcpy(out, lchan->encr.kc128, 16); + else if (lchan->encr.key_len) memcpy(out, lchan->encr.key, lchan->encr.key_len); +!!! only one key return lchan->encr.key_len + 1; } diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 8141a5d..e18504e 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -454,6 +454,8 @@ int payload_length; bool aoip = gscon_is_aoip(conn); bool sccplite = gscon_is_sccplite(conn); + bool has_a54 = false; + int i; if ((aoip && sccplite) || !(aoip || sccplite)) { LOG_HO(conn, LOGL_ERROR, "Received BSSMAP Handover Request, but conn is not" @@ -485,6 +487,22 @@ return false; } + for( i= 0; i < req->ei.perm_algo_len; i++) { + has_a54 = req->ei.perm_algo[i] == GSM0808_ALG_ID_A5_4; + if (has_a54) + break; + } + + /* kc128 mandatory for a5/4 */ + if (has_a54) { + if (!(e = TLVP_GET(tp, GSM0808_IE_KC_128)) || e->len != 16) { + LOG_HO(conn, LOGL_ERROR, "Missing kc128 IE\n"); + return false; + } + memcpy(req->kc128, e->val, 16); + } + + if ((e = TLVP_GET(tp, GSM0808_IE_CLASSMARK_INFORMATION_TYPE_1))) { if (e->len != sizeof(req->classmark.classmark1)) { LOG_HO(conn, LOGL_ERROR, "Classmark Information 1 has wrong size\n"); @@ -513,9 +531,9 @@ req->chosen_encr_alg); } - LOG_HO(conn, LOGL_DEBUG, "Handover Request encryption info: chosen=A5/%u key=%s\n", + LOG_HO(conn, LOGL_DEBUG, "Handover Request encryption info: chosen=A5/%u key=%s kc128=%s\n", (req->chosen_encr_alg ? : 1) - 1, req->ei.key_len? - osmo_hexdump_nospc(req->ei.key, req->ei.key_len) : "none"); + osmo_hexdump_nospc(req->ei.key, req->ei.key_len) : "none", has_a54 ? osmo_hexdump_nospc(req->kc128, 16) : "none"); if (TLVP_PRESENT(tp, GSM0808_IE_AOIP_TRASP_ADDR)) { int rc; @@ -718,6 +736,7 @@ } memcpy(info.encr.key, req->ei.key, req->ei.key_len); info.encr.key_len = req->ei.key_len; + memcpy(info.encr.kc128, req->kc128, 16); } if (req->last_eutran_plmn_valid) { diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index da0429b..1b7e537 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -542,6 +542,14 @@ * a5_encryption == 2 --> 0x04 ... */ enc_bits_msc = data[0]; + + /* kc128 mandatory for a5/4 */ + if (enc_bits_msc & 0xf0 && !TLVP_PRESENT(&tp, GSM0808_IE_KC_128)) { + LOGP(DMSC, LOGL_ERROR, "IE kc128 missing.\n"); + reject_cause = GSM0808_CAUSE_INFORMATION_ELEMENT_OR_FIELD_MISSING; + goto reject; + } + /* The bit-mask of permitted ciphers from the MSC (sent in ASSIGNMENT COMMAND) is intersected * with the vty-configured mask a the BSC. Finally, the best (highest) possible cipher is * chosen. */ @@ -553,6 +561,12 @@ goto reject; } + if(chosen_cipher == 4) { + data = TLVP_VAL(&tp, GSM0808_IE_KC_128); + enc_key = &data[0]; + enc_key_len = 16; + } + /* To complete the confusion, gsm0808_cipher_mode again expects the encryption as a number * from 0 to 7. */ if (gsm0808_cipher_mode(conn, chosen_cipher, enc_key, enc_key_len, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24635 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7c458c8a7350f34ff79531b3c891e1b367614469 Gerrit-Change-Number: 24635 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 Jun 9 02:08:15 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 9 Jun 2021 02:08:15 +0000 Subject: Change in osmo-bsc[master]: [WIP] a5/4 support In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24635 ) Change subject: [WIP] a5/4 support ...................................................................... Patch Set 1: Code-Review-1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24635 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7c458c8a7350f34ff79531b3c891e1b367614469 Gerrit-Change-Number: 24635 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 09 Jun 2021 02:08: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 Jun 9 02:11:07 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 9 Jun 2021 02:11:07 +0000 Subject: Change in osmo-bsc[master]: [WIP] a5/4 support In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24635 to look at the new patch set (#2). Change subject: [WIP] a5/4 support ...................................................................... [WIP] a5/4 support Change-Id: I7c458c8a7350f34ff79531b3c891e1b367614469 Related: SYS#5324 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/osmo_bsc_bssap.c 4 files changed, 40 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/35/24635/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24635 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7c458c8a7350f34ff79531b3c891e1b367614469 Gerrit-Change-Number: 24635 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen 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 Jun 9 08:27:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Jun 2021 08:27:26 +0000 Subject: Change in osmo-bts[master]: a5/4 support In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24631 ) Change subject: a5/4 support ...................................................................... Patch Set 1: (2 comments) Looks good in general. https://gerrit.osmocom.org/c/osmo-bts/+/24631/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bts/+/24631/1//COMMIT_MSG at 7 PS1, Line 7: a5/4 support osmo-bts-trx: A5/4 support https://gerrit.osmocom.org/c/osmo-bts/+/24631/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/24631/1/src/common/scheduler.c at 1203 PS1, Line 1203: 16 MAX_A5_KEY_LEN? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib8e04fe79f30b443a54c38f395a7a3626ff97c45 Gerrit-Change-Number: 24631 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 09 Jun 2021 08:27:26 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 08:36:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Jun 2021 08:36:48 +0000 Subject: Change in osmo-bsc[master]: vty: a5/4 support In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24634 ) Change subject: vty: a5/4 support ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24634 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icac06ed554fd61bf7c4bfb1d5c3739a01f2915a4 Gerrit-Change-Number: 24634 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 09 Jun 2021 08:36: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 Jun 9 08:42:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Jun 2021 08:42:25 +0000 Subject: Change in osmo-bsc[master]: [WIP] a5/4 support In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24635 ) Change subject: [WIP] a5/4 support ...................................................................... Patch Set 2: Code-Review-1 (5 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24635/2/include/osmocom/bsc/gsm_data.h File include/osmocom/bsc/gsm_data.h: https://gerrit.osmocom.org/c/osmo-bsc/+/24635/2/include/osmocom/bsc/gsm_data.h at 237 PS2, Line 237: uint8_t kc128[16]; coding style https://gerrit.osmocom.org/c/osmo-bsc/+/24635/2/src/osmo-bsc/handover_fsm.c File src/osmo-bsc/handover_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24635/2/src/osmo-bsc/handover_fsm.c at 490 PS2, Line 490: for( i= 0; i < req->ei.perm_algo_len; i++) { coding style https://gerrit.osmocom.org/c/osmo-bsc/+/24635/2/src/osmo-bsc/handover_fsm.c at 497 PS2, Line 497: if (has_a54) { something is definitely wrong with formatting here https://gerrit.osmocom.org/c/osmo-bsc/+/24635/2/src/osmo-bsc/osmo_bsc_bssap.c File src/osmo-bsc/osmo_bsc_bssap.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24635/2/src/osmo-bsc/osmo_bsc_bssap.c at 546 PS2, Line 546: /* kc128 mandatory for a5/4 */ coding style https://gerrit.osmocom.org/c/osmo-bsc/+/24635/2/src/osmo-bsc/osmo_bsc_bssap.c at 564 PS2, Line 564: if(chosen_cipher == 4) { coding style: if is not a function -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24635 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7c458c8a7350f34ff79531b3c891e1b367614469 Gerrit-Change-Number: 24635 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 09 Jun 2021 08:42: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 Wed Jun 9 09:05:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Jun 2021 09:05:58 +0000 Subject: Change in osmo-bsc[master]: gsm_data.h: add comments about immutable activ/modif/assign request info In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24611 ) Change subject: gsm_data.h: add comments about immutable activ/modif/assign request info ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24611 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7997b802d997073ae6a05db2f40e82cb8e83764f Gerrit-Change-Number: 24611 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Jun 2021 09:05:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 09:06:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Jun 2021 09:06:51 +0000 Subject: Change in osmo-bsc[master]: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24430 ) Change subject: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans ...................................................................... Patch Set 18: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 Gerrit-Change-Number: 24430 Gerrit-PatchSet: 18 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 09 Jun 2021 09:06:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 09:14:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Jun 2021 09:14:05 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: report interference levels to the upper layers In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24613 ) Change subject: osmo-bts-trx: report interference levels to the upper layers ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24613/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/24613/1/src/common/scheduler.c at 1494 PS1, Line 1494: if (bi->chan >= TRXC_TCHF) can you explain this comparison here? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4686448e42a40df56c1d27a14fd0a4d43fd144a5 Gerrit-Change-Number: 24613 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Jun 2021 09:14: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 Jun 9 09:17:46 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Jun 2021 09:17:46 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: report interference levels to the upper layers In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24613 ) Change subject: osmo-bts-trx: report interference levels to the upper layers ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24613/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/24613/1/src/common/scheduler.c at 1494 PS1, Line 1494: if (bi->chan >= TRXC_TCHF) > can you explain this comparison here? In 'enum trx_chan_type' we have the following items preceding TRXC_TCHF: TRXC_IDLE, TRXC_FCCH, TRXC_SCH, TRXC_BCCH, TRXC_RACH, TRXC_CCCH, and there is no need to measure noise levels on these channels (they're not DCCH). -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4686448e42a40df56c1d27a14fd0a4d43fd144a5 Gerrit-Change-Number: 24613 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Jun 2021 09:17:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 09:24:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Jun 2021 09:24:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: ignore other RSL messages in function f_TC_paging() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24623 ) Change subject: BTS: ignore other RSL messages in function f_TC_paging() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24623 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I18b879235c6eefb2dd89a3f4502b0830efeac6bb Gerrit-Change-Number: 24623 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Jun 2021 09:24:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 09:27:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Jun 2021 09:27:58 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24374 ) Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... Patch Set 20: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24374/20/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24374/20/src/osmo-bsc/abis_rsl.c at 506 PS20, Line 506: struct rsl_osmo_training_sequence_ie { Looks like this belongs to libosmogsm or libosmoabis, because somo-bts also requires it. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 20 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Jun 2021 09:27: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 Wed Jun 9 09:30:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Jun 2021 09:30:32 +0000 Subject: Change in osmocom-bb[master]: host/layer23/ccch_scan: skip CCCH frames with wrong length In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24627 ) Change subject: host/layer23/ccch_scan: skip CCCH frames with wrong length ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24627 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I85392becbffdb3ba7365decfd8f3769abe3c02c7 Gerrit-Change-Number: 24627 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Jun 2021 09:30:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 09:31:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Jun 2021 09:31:10 +0000 Subject: Change in osmocom-bb[master]: host/layer23/ccch_scan: skip CCCH frames with wrong length In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24627 ) Change subject: host/layer23/ccch_scan: skip CCCH frames with wrong length ...................................................................... Patch Set 2: Perhaps use osmo_hexdump in the log messages to find out how they look? -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24627 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I85392becbffdb3ba7365decfd8f3769abe3c02c7 Gerrit-Change-Number: 24627 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Jun 2021 09:31:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 09:32:09 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 9 Jun 2021 09:32:09 +0000 Subject: Change in osmo-bsc[master]: [WIP] a5/4 support In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24635 to look at the new patch set (#3). Change subject: [WIP] a5/4 support ...................................................................... [WIP] a5/4 support !! Don't review this !! Change-Id: I7c458c8a7350f34ff79531b3c891e1b367614469 Related: SYS#5324 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/osmo_bsc_bssap.c 4 files changed, 40 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/35/24635/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24635 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7c458c8a7350f34ff79531b3c891e1b367614469 Gerrit-Change-Number: 24635 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 09:32:31 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 9 Jun 2021 09:32:31 +0000 Subject: Change in osmo-msc[master]: [WIP] a5/4 support In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/24633 to look at the new patch set (#2). Change subject: [WIP] a5/4 support ...................................................................... [WIP] a5/4 support !! Don't review this !! Change-Id: I1b3136f0b2728013677b62647c033aade2933299 Related: SYS#5324 --- M include/osmocom/msc/msc_common.h M include/osmocom/msc/ran_msg.h M src/libmsc/msc_ho.c M src/libmsc/ran_msg_a.c 4 files changed, 61 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/33/24633/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24633 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I1b3136f0b2728013677b62647c033aade2933299 Gerrit-Change-Number: 24633 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen 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 Jun 9 09:32:46 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 9 Jun 2021 09:32:46 +0000 Subject: Change in libosmocore[master]: [WIP] a54 libfuncs 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/+/24628 to look at the new patch set (#2). Change subject: [WIP] a54 libfuncs ...................................................................... [WIP] a54 libfuncs !! Don't review this !! Change-Id: I0fc25c6f23e76d210cbb9822b7e0a8184144ec42 Related: SYS#5324 --- M include/osmocom/gsm/gsm0808.h M src/gsm/gsm0808.c 2 files changed, 13 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/28/24628/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24628 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0fc25c6f23e76d210cbb9822b7e0a8184144ec42 Gerrit-Change-Number: 24628 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen 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 Jun 9 09:34:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Jun 2021 09:34:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sgsn a54 tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24629 ) Change subject: sgsn a54 tests ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iad65cbf9840aa883cb34e53554b94a4142c82638 Gerrit-Change-Number: 24629 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Jun 2021 09:34: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 Jun 9 09:35:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Jun 2021 09:35:47 +0000 Subject: Change in osmo-msc[master]: vty: a5/4 support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24632 ) Change subject: vty: a5/4 support ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5b46aaa8579f8d069ca39caf996a8795ffe63dd7 Gerrit-Change-Number: 24632 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Jun 2021 09:35:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 09:36:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Jun 2021 09:36:11 +0000 Subject: Change in osmo-bsc[master]: vty: a5/4 support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24634 ) Change subject: vty: a5/4 support ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24634 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icac06ed554fd61bf7c4bfb1d5c3739a01f2915a4 Gerrit-Change-Number: 24634 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Jun 2021 09:36:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 09:37:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Jun 2021 09:37:50 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: report interference levels to the upper layers In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24613 ) Change subject: osmo-bts-trx: report interference levels to the upper layers ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24613/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/24613/1/src/common/scheduler.c at 1494 PS1, Line 1494: if (bi->chan >= TRXC_TCHF) > In 'enum trx_chan_type' we have the following items preceding TRXC_TCHF: [?] so what about moving it to a function helper and having here chan_is_dcch()? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4686448e42a40df56c1d27a14fd0a4d43fd144a5 Gerrit-Change-Number: 24613 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Jun 2021 09:37:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 09:58:34 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 9 Jun 2021 09:58:34 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: report interference levels to the upper layers In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24613 ) Change subject: osmo-bts-trx: report interference levels to the upper layers ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4686448e42a40df56c1d27a14fd0a4d43fd144a5 Gerrit-Change-Number: 24613 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Jun 2021 09:58:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 10:06:23 2021 From: gerrit-no-reply at lists.osmocom.org (iedemam) Date: Wed, 9 Jun 2021 10:06:23 +0000 Subject: Change in libosmocore[master]: ns2: use same name in ctr_group as stat_item_group References: Message-ID: iedemam has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24636 ) Change subject: ns2: use same name in ctr_group as stat_item_group ...................................................................... ns2: use same name in ctr_group as stat_item_group Change-Id: I7d2dcb6c7ddf72a0d06ff19f5d0e3dc740bd19ff --- M src/gb/gprs_ns2.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/36/24636/1 diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index a57f577..618d55e 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -606,6 +606,7 @@ bind->nsi->nsvc_rate_ctr_idx++; + rate_ctr_group_set_name(nsvc->ctrg, id); osmo_stat_item_group_set_name(nsvc->statg, id); llist_add(&nsvc->list, &nse->nsvc); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24636 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7d2dcb6c7ddf72a0d06ff19f5d0e3dc740bd19ff Gerrit-Change-Number: 24636 Gerrit-PatchSet: 1 Gerrit-Owner: iedemam Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 10:06:26 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 9 Jun 2021 10:06:26 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: report interference levels to the upper layers In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24613 ) Change subject: osmo-bts-trx: report interference levels to the upper layers ...................................................................... Patch Set 1: Code-Review+1 (2 comments) looks good to me, as suggested by pespin I would get rid of the >= operator. https://gerrit.osmocom.org/c/osmo-bts/+/24613/1/include/osmo-bts/scheduler.h File include/osmo-bts/scheduler.h: https://gerrit.osmocom.org/c/osmo-bts/+/24613/1/include/osmo-bts/scheduler.h at 138 PS1, Line 138: struct l1sched_meas_set buf[8]; /* up to 8 entries */ Maybe replacing the 8 with a define constant makes sense? https://gerrit.osmocom.org/c/osmo-bts/+/24613/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/24613/1/src/common/scheduler.c at 1494 PS1, Line 1494: if (bi->chan >= TRXC_TCHF) > so what about moving it to a function helper and having here chan_is_dcch()? Doing the comparison with a >= sounds a bit dangerous since it relies on the order of the items in that enum definition. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4686448e42a40df56c1d27a14fd0a4d43fd144a5 Gerrit-Change-Number: 24613 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Jun 2021 10:06:26 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 10:08:51 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 9 Jun 2021 10:08:51 +0000 Subject: Change in osmo-bsc[master]: vty: a5/4 support In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24634 ) Change subject: vty: a5/4 support ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24634/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/24634/1//COMMIT_MSG at 7 PS1, Line 7: vty: a5/4 support it looks like this is a follow up change to some bigger a5/4 patch. Maybe it is worth to drop a line about this. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24634 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icac06ed554fd61bf7c4bfb1d5c3739a01f2915a4 Gerrit-Change-Number: 24634 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Jun 2021 10:08: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 Wed Jun 9 10:15:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Jun 2021 10:15:38 +0000 Subject: Change in libosmocore[master]: ns2: use same name in ctr_group as stat_item_group In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24636 ) Change subject: ns2: use same name in ctr_group as stat_item_group ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24636 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7d2dcb6c7ddf72a0d06ff19f5d0e3dc740bd19ff Gerrit-Change-Number: 24636 Gerrit-PatchSet: 1 Gerrit-Owner: iedemam Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Jun 2021 10:15: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 Jun 9 10:18:46 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 9 Jun 2021 10:18:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sgsn a54 tests In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24629 ) Change subject: sgsn a54 tests ...................................................................... Patch Set 1: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24629/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24629/1//COMMIT_MSG at 7 PS1, Line 7: sgsn a54 tests may be it makes sense to drop a line or two on what the test case does. As I read it it just sends an attach request and then it waits for the SGSN to do the authentication request, which is answered by the testcase. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24629/1/sgsn/SGSN_Tests.ttcn File sgsn/SGSN_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24629/1/sgsn/SGSN_Tests.ttcn at 2878 PS1, Line 2878: BSSGP[0].receive(auth_ciph_req) -> value l3_mt; I think the -> value l3_mt; can be dropped. The testcase is done until here, no need to store the response in a variable. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iad65cbf9840aa883cb34e53554b94a4142c82638 Gerrit-Change-Number: 24629 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Jun 2021 10:18: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 Wed Jun 9 10:27:43 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 9 Jun 2021 10:27:43 +0000 Subject: Change in libosmocore[master]: kdf: add key derivation functions In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24291 ) Change subject: kdf: add key derivation functions ...................................................................... Patch Set 8: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibf2e49edada944d91ceba62bd0d6b6ce69261fcd Gerrit-Change-Number: 24291 Gerrit-PatchSet: 8 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Jun 2021 10:27:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 10:59:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Jun 2021 10:59:47 +0000 Subject: Change in libosmo-sccp[master]: cosmetic: xua_asp_fsm.c: reworder functions in file In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24637 ) Change subject: cosmetic: xua_asp_fsm.c: reworder functions in file ...................................................................... Patch Set 1: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24637 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic143db3dda48750effddaa0cafadf960f5b5c38c Gerrit-Change-Number: 24637 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 09 Jun 2021 10:59:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 10:59:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Jun 2021 10:59:57 +0000 Subject: Change in libosmo-sccp[master]: cosmetic: xua_asp_fsm.c: reorder functions in file In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24637 ) Change subject: cosmetic: xua_asp_fsm.c: reorder functions in file ...................................................................... cosmetic: xua_asp_fsm.c: reorder functions in file Reorder functions to follow usual order in FSM files: 1- structs and helper functions 2- for each state: first _oneneter, then the action func 3- generic state fsm functions (timers, all_state) 4- struct osmo_fsm_state 5- FSM allocator and public functions Change-Id: Ic143db3dda48750effddaa0cafadf960f5b5c38c --- M src/xua_asp_fsm.c 1 file changed, 44 insertions(+), 36 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/37/24637/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24637 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic143db3dda48750effddaa0cafadf960f5b5c38c Gerrit-Change-Number: 24637 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 Jun 9 11:45:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Jun 2021 11:45:11 +0000 Subject: Change in libosmo-sccp[master]: ipa_asp_fsm: Support server starting handshake with ID_GET or ID_ACK References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24638 ) Change subject: ipa_asp_fsm: Support server starting handshake with ID_GET or ID_ACK ...................................................................... ipa_asp_fsm: Support server starting handshake with ID_GET or ID_ACK The behavior here since to have changed at least a couple times in history, always apparently breaking some compatibility: * libosmo-sccp.git a0dd986f5506ee8a625e827bc029d1aa962b6f65 (SCCPLite MSC sends IPA ID ACK at startup) [10th July 2018] * libosmo-sccp.git 9c0fae14d105b64ec9e8ff7322fa4aca782e54d1 (Reverts back to sending IPA ID GET at startup [29th April 2021] * osmo-ttcn3-hacks.git 3bf31d216a18c1d6a6e298a592f873beea322939 (Changes server emulation to send IPA ID ACK when BSC connects to it) [24th August 2018) So it seems the proper way is to start handshake: CLI <- SRV: IPA ID GET CLI -> SRV: IPA ID RESP CLI <- SRV: IPA ID ACK CLI -> SRV: IPA ID ACK However, it seems some SCCPLite MSCs (acting as IPA srv) skip the first ID GET + ID RESP handshake and go directly for ACKs: CLI <- SRV: IPA ID ACK CLI -> SRV: IPA ID ACK So, let's make everybody happy and support both cases in the client FSM. If server sends us IPA ID ACK first, simply send back an IPA ID ACK and be done with it, otherwise if it sends us an IPA ID GET, go for the full handshake. Change-Id: Ie9968ce8cd8582deb583024ff3e46736a07883fe --- M src/xua_asp_fsm.c 1 file changed, 15 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/38/24638/1 diff --git a/src/xua_asp_fsm.c b/src/xua_asp_fsm.c index e4fb928..5fe1d80 100644 --- a/src/xua_asp_fsm.c +++ b/src/xua_asp_fsm.c @@ -964,6 +964,7 @@ struct msgb *msg_get, *msg_resp; const uint8_t *req_data; int data_len; + int fd; switch (event) { case IPA_ASP_E_ID_GET: @@ -986,6 +987,16 @@ osmo_ss7_asp_send(asp, msg_resp); osmo_fsm_inst_state_chg(fi, IPA_ASP_S_WAIT_ID_ACK, 10, T_WAIT_ID_ACK); break; + case IPA_ASP_E_ID_ACK: + /* Some SCCPLite MSCs are known to send an ACK directly instead + * of GET. Support them and skip the GET+RESP handshake by + * sending ACK2 to server directly */ + fd = get_fd_from_iafp(iafp); + if (fd >= 0) { + ipaccess_send_id_ack(fd); + osmo_fsm_inst_state_chg(fi, IPA_ASP_S_ACTIVE, 0, 0); + } + break; } } @@ -1114,8 +1125,10 @@ }, /* Client Side */ [IPA_ASP_S_WAIT_ID_GET] = { - .in_event_mask = S(IPA_ASP_E_ID_GET), - .out_state_mask = S(IPA_ASP_S_WAIT_ID_ACK), + .in_event_mask = S(IPA_ASP_E_ID_GET) | + S(IPA_ASP_E_ID_ACK), /* support broken MSCs skipping GET+RESP */ + .out_state_mask = S(IPA_ASP_S_WAIT_ID_ACK) | + S(IPA_ASP_S_ACTIVE), /* support broken MSCs skipping GET+RESP */ .name = "WAIT_ID_GET", .action = ipa_asp_fsm_wait_id_get, }, -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24638 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ie9968ce8cd8582deb583024ff3e46736a07883fe Gerrit-Change-Number: 24638 Gerrit-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 Jun 9 11:46:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Jun 2021 11:46:56 +0000 Subject: Change in libosmo-sccp[master]: ipa_asp_fsm: Support server starting handshake with ID_GET or ID_ACK In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24638 ) Change subject: ipa_asp_fsm: Support server starting handshake with ID_GET or ID_ACK ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24638 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ie9968ce8cd8582deb583024ff3e46736a07883fe Gerrit-Change-Number: 24638 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 09 Jun 2021 11:46:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 11:47:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Jun 2021 11:47:39 +0000 Subject: Change in libosmo-sccp[master]: cosmetic: xua_asp_fsm.c: reorder functions in file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24637 ) Change subject: cosmetic: xua_asp_fsm.c: reorder functions in file ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24637 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic143db3dda48750effddaa0cafadf960f5b5c38c Gerrit-Change-Number: 24637 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 09 Jun 2021 11:47:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 11:48:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Jun 2021 11:48:39 +0000 Subject: Change in libosmocore[master]: kdf: add key derivation functions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24291 ) Change subject: kdf: add key derivation functions ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibf2e49edada944d91ceba62bd0d6b6ce69261fcd Gerrit-Change-Number: 24291 Gerrit-PatchSet: 8 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Jun 2021 11:48:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 11:50:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Jun 2021 11:50:36 +0000 Subject: Change in libosmocore[master]: kdf: add key derivation functions In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24291 ) Change subject: kdf: add key derivation functions ...................................................................... kdf: add key derivation functions generic sha code from git://w1.fi/hostap.git commit 5ea93947ca67ba83529798b806a15b247cdb2e93 which also happens to be the source of our milenage code. Related: SYS#5324 Change-Id: Ibf2e49edada944d91ceba62bd0d6b6ce69261fcd --- M TODO-RELEASE M include/Makefile.am A include/osmocom/crypt/kdf.h M src/gsm/Makefile.am A src/gsm/kdf.c A src/gsm/kdf/common.h A src/gsm/kdf/crypto.h A src/gsm/kdf/sha1-internal.c A src/gsm/kdf/sha1.c A src/gsm/kdf/sha1.h A src/gsm/kdf/sha1_i.h A src/gsm/kdf/sha256-internal.c A src/gsm/kdf/sha256.c A src/gsm/kdf/sha256.h A src/gsm/kdf/sha256_i.h M src/gsm/libosmogsm.map 16 files changed, 1,752 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE index 0f70081..260e1d4 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -14,3 +14,4 @@ libosmovty vty_read_config_filep New API libosmosim osim_card_{reset,close} New API libosmocore struct rate_ctr_group, osmo_stat_item_group_desc ABI breakage due to new struct members +libosmgsm kdf functions New API diff --git a/include/Makefile.am b/include/Makefile.am index f0742d5..e25ed48 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -62,6 +62,7 @@ osmocom/core/use_count.h \ osmocom/crypt/auth.h \ osmocom/crypt/gprs_cipher.h \ + osmocom/crypt/kdf.h \ osmocom/ctrl/control_cmd.h \ osmocom/ctrl/control_if.h \ osmocom/ctrl/ports.h \ diff --git a/include/osmocom/crypt/kdf.h b/include/osmocom/crypt/kdf.h new file mode 100644 index 0000000..4a3b3b2 --- /dev/null +++ b/include/osmocom/crypt/kdf.h @@ -0,0 +1,21 @@ +#pragma once + +/*! \defgroup kdf key derivation functions + * @{ + * \file kdf.h */ + +#include + +void osmo_kdf_kc128(const uint8_t* ck, const uint8_t* ik, uint8_t* kc128); + +void osmo_kdf_kasme(const uint8_t *ck, const uint8_t *ik, const uint8_t* plmn_id, + const uint8_t *sqn, const uint8_t *ak, uint8_t *kasme); + +void osmo_kdf_enb(const uint8_t *kasme, uint32_t ul_count, uint8_t *kenb); + +void osmo_kdf_nh(const uint8_t *kasme, const uint8_t *sync_input, uint8_t *nh); + +void osmo_kdf_nas(uint8_t algo_type, uint8_t algo_id, const uint8_t *kasme, uint8_t *knas); + + +/* @} */ diff --git a/src/gsm/Makefile.am b/src/gsm/Makefile.am index f1e2a5a..b336239 100644 --- a/src/gsm/Makefile.am +++ b/src/gsm/Makefile.am @@ -33,7 +33,8 @@ gsup.c gsup_sms.c gprs_gea.c gsm0503_conv.c oap.c gsm0808_utils.c \ gsm23003.c gsm23236.c mncc.c bts_features.c oap_client.c \ gsm29118.c gsm48_rest_octets.c cbsp.c gsm48049.c i460_mux.c \ - gad.c bsslap.c bssmap_le.c + gad.c bsslap.c bssmap_le.c kdf.c + libgsmint_la_LDFLAGS = -no-undefined libgsmint_la_LIBADD = $(top_builddir)/src/libosmocore.la @@ -44,6 +45,10 @@ if ENABLE_GNUTLS AM_CPPFLAGS += $(LIBGNUTLS_CFLAGS) libosmogsm_la_LIBADD += $(LIBGNUTLS_LIBS) +else +noinst_HEADERS += kdf/sha1.h kdf/sha256.h kdf/common.h kdf/sha1_i.h kdf/sha256_i.h +libgsmint_la_SOURCES += kdf/sha256.c kdf/sha256-internal.c \ + kdf/sha1.c kdf/sha1-internal.c endif EXTRA_DIST = libosmogsm.map diff --git a/src/gsm/kdf.c b/src/gsm/kdf.c new file mode 100644 index 0000000..2ebe41a --- /dev/null +++ b/src/gsm/kdf.c @@ -0,0 +1,167 @@ +/* + * (C) 2021 by sysmocom s.f.m.c. GmbH + * + * Author: Eric Wild + * + * All Rights Reserved + * + * SPDX-License-Identifier: GPL-2.0+ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include +#include + +#include "../../config.h" +#if (USE_GNUTLS) +#include +#include +#define HMAC_FUNC(k,lk,s,sl,out) gnutls_hmac_fast(GNUTLS_MAC_SHA256,k,lk,s,sl,out) +#else +#include +#define HMAC_FUNC(k,lk,s,sl,out) hmac_sha256(k,lk,s,sl,out) +#endif + +#include +#include + +#include "kdf/common.h" +#include "kdf/sha256.h" + + +#if (USE_GNUTLS) +/* gnutls < 3.3.0 requires global init. + * gnutls >= 3.3.0 does it automatic. + * It doesn't hurt calling it twice, + * as long it's not done at the same time (threads). + */ +__attribute__((constructor)) +static void on_dso_load_gnutls(void) +{ + if (!gnutls_check_version("3.3.0")) + gnutls_global_init(); +} + +__attribute__((destructor)) +static void on_dso_unload_gnutls(void) +{ + if (!gnutls_check_version("3.3.0")) + gnutls_global_deinit(); +} +#endif + +/* + * This file uses the generic key derivation function defined in 3GPP TS 33.220 Annex B + * + * The S parameter always consists of concatenated values FC | P0 | L0 | Pi | Li | ... + * with Pi = Parameter number i and Li = Length of Pi (two octets) + * + * FC is either a single octet or two octets 0xff | FC + * FC values ranges depend on the specification parts that use the KDF, + * they are defined in 3GPP TS 33.220 Annex B.2.2 + * + */ + +/*! \addtogroup kdf + * @{ + * key derivation functions + * + * \file kdf.c */ + +/* 3GPP TS 33.102 B.5 */ +void osmo_kdf_kc128(const uint8_t* ck, const uint8_t* ik, uint8_t* kc128) { + uint8_t k[16*2]; + uint8_t s[1]; + uint8_t out_tmp256[32]; + memcpy (&k[0], ck, 16); + memcpy (&k[16], ik, 16); + + s[0] = 0x32; // yeah, really just one FC byte.. + + HMAC_FUNC(k, 32, s, 1, out_tmp256); + memcpy(kc128, out_tmp256, 16); +} + +/* 3GPP TS 33.401 A.2 */ +void osmo_kdf_kasme(const uint8_t *ck, const uint8_t *ik, const uint8_t* plmn_id, + const uint8_t *sqn, const uint8_t *ak, uint8_t *kasme) +{ + uint8_t s[14]; + uint8_t k[16*2]; + int i; + + memcpy(&k[0], ck, 16); + memcpy(&k[16], ik, 16); + + s[0] = 0x10; + memcpy(&s[1], plmn_id, 3); + s[4] = 0x00; + s[5] = 0x03; + + for (i = 0; i < 6; i++) + s[6+i] = sqn[i] ^ ak[i]; + s[12] = 0x00; + s[13] = 0x06; + + HMAC_FUNC(k, 32, s, 14, kasme); +} + +/* 3GPP TS 33.401 A.3 */ +void osmo_kdf_enb(const uint8_t *kasme, uint32_t ul_count, uint8_t *kenb) +{ + uint8_t s[7]; + + s[0] = 0x11; + osmo_store32be(ul_count, &s[1]); + s[5] = 0x00; + s[6] = 0x04; + + HMAC_FUNC(kasme, 32, s, 7, kenb); +} + +/* 3GPP TS 33.401 A.4 */ +void osmo_kdf_nh(const uint8_t *kasme, const uint8_t *sync_input, uint8_t *nh) +{ + uint8_t s[35]; + + s[0] = 0x12; + memcpy(s+1, sync_input, 32); + s[33] = 0x00; + s[34] = 0x20; + + HMAC_FUNC(kasme, 32, s, 35, nh); +} + +/* 3GPP TS 33.401 A.7 */ +void osmo_kdf_nas(uint8_t algo_type, uint8_t algo_id, const uint8_t *kasme, uint8_t *knas) +{ + uint8_t s[7]; + uint8_t out[32]; + + s[0] = 0x15; + s[1] = algo_type; + s[2] = 0x00; + s[3] = 0x01; + s[4] = algo_id; + s[5] = 0x00; + s[6] = 0x01; + + HMAC_FUNC(kasme, 32, s, 7, out); + memcpy(knas, out+16, 16); +} + +/*! @} */ diff --git a/src/gsm/kdf/common.h b/src/gsm/kdf/common.h new file mode 100644 index 0000000..c1ef17e --- /dev/null +++ b/src/gsm/kdf/common.h @@ -0,0 +1,101 @@ +#pragma once + +#include +#include +#include + +#define CONFIG_CRYPTO_INTERNAL +#define TEST_FAIL() 0 + +#define MSG_DEBUG +#define wpa_hexdump(x, args...) +#define wpa_hexdump_key(x, args...) +#define wpa_printf(x, args...) + +#define os_memcpy(x, y, z) memcpy(x, y, z) +#define os_memcmp(x, y, z) memcmp(x, y, z) +#define os_memset(x, y, z) memset(x, y, z) +#define os_malloc(x) malloc(x) +#define os_free(x) free(x) +#define os_strlen(x) strlen(x) + +#define forced_memzero(ptr, len) memset(ptr, 0, len); + +typedef uint64_t u64; +typedef uint32_t u32; +typedef uint16_t u16; +typedef uint8_t u8; +typedef int64_t s64; +typedef int32_t s32; +typedef int16_t s16; +typedef int8_t s8; + + +/* Macros for handling unaligned memory accesses */ + +#define WPA_GET_BE16(a) ((u16) (((a)[0] << 8) | (a)[1])) +#define WPA_PUT_BE16(a, val) \ + do { \ + (a)[0] = ((u16) (val)) >> 8; \ + (a)[1] = ((u16) (val)) & 0xff; \ + } while (0) + +#define WPA_GET_LE16(a) ((u16) (((a)[1] << 8) | (a)[0])) +#define WPA_PUT_LE16(a, val) \ + do { \ + (a)[1] = ((u16) (val)) >> 8; \ + (a)[0] = ((u16) (val)) & 0xff; \ + } while (0) + +#define WPA_GET_BE24(a) ((((u32) (a)[0]) << 16) | (((u32) (a)[1]) << 8) | \ + ((u32) (a)[2])) +#define WPA_PUT_BE24(a, val) \ + do { \ + (a)[0] = (u8) ((((u32) (val)) >> 16) & 0xff); \ + (a)[1] = (u8) ((((u32) (val)) >> 8) & 0xff); \ + (a)[2] = (u8) (((u32) (val)) & 0xff); \ + } while (0) + +#define WPA_GET_BE32(a) ((((u32) (a)[0]) << 24) | (((u32) (a)[1]) << 16) | \ + (((u32) (a)[2]) << 8) | ((u32) (a)[3])) +#define WPA_PUT_BE32(a, val) \ + do { \ + (a)[0] = (u8) ((((u32) (val)) >> 24) & 0xff); \ + (a)[1] = (u8) ((((u32) (val)) >> 16) & 0xff); \ + (a)[2] = (u8) ((((u32) (val)) >> 8) & 0xff); \ + (a)[3] = (u8) (((u32) (val)) & 0xff); \ + } while (0) + +#define WPA_GET_LE32(a) ((((u32) (a)[3]) << 24) | (((u32) (a)[2]) << 16) | \ + (((u32) (a)[1]) << 8) | ((u32) (a)[0])) +#define WPA_PUT_LE32(a, val) \ + do { \ + (a)[3] = (u8) ((((u32) (val)) >> 24) & 0xff); \ + (a)[2] = (u8) ((((u32) (val)) >> 16) & 0xff); \ + (a)[1] = (u8) ((((u32) (val)) >> 8) & 0xff); \ + (a)[0] = (u8) (((u32) (val)) & 0xff); \ + } while (0) + +#define WPA_GET_BE64(a) ((((u64) (a)[0]) << 56) | (((u64) (a)[1]) << 48) | \ + (((u64) (a)[2]) << 40) | (((u64) (a)[3]) << 32) | \ + (((u64) (a)[4]) << 24) | (((u64) (a)[5]) << 16) | \ + (((u64) (a)[6]) << 8) | ((u64) (a)[7])) +#define WPA_PUT_BE64(a, val) \ + do { \ + (a)[0] = (u8) (((u64) (val)) >> 56); \ + (a)[1] = (u8) (((u64) (val)) >> 48); \ + (a)[2] = (u8) (((u64) (val)) >> 40); \ + (a)[3] = (u8) (((u64) (val)) >> 32); \ + (a)[4] = (u8) (((u64) (val)) >> 24); \ + (a)[5] = (u8) (((u64) (val)) >> 16); \ + (a)[6] = (u8) (((u64) (val)) >> 8); \ + (a)[7] = (u8) (((u64) (val)) & 0xff); \ + } while (0) + +#define WPA_GET_LE64(a) ((((u64) (a)[7]) << 56) | (((u64) (a)[6]) << 48) | \ + (((u64) (a)[5]) << 40) | (((u64) (a)[4]) << 32) | \ + (((u64) (a)[3]) << 24) | (((u64) (a)[2]) << 16) | \ + (((u64) (a)[1]) << 8) | ((u64) (a)[0])) + + +#define __must_check diff --git a/src/gsm/kdf/crypto.h b/src/gsm/kdf/crypto.h new file mode 100644 index 0000000..6dca191 --- /dev/null +++ b/src/gsm/kdf/crypto.h @@ -0,0 +1,470 @@ +/* + * WPA Supplicant / wrapper functions for crypto libraries + * Copyright (c) 2004-2009, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + * + * This file defines the cryptographic functions that need to be implemented + * for wpa_supplicant and hostapd. When TLS is not used, internal + * implementation of MD5, SHA1, and AES is used and no external libraries are + * required. When TLS is enabled (e.g., by enabling EAP-TLS or EAP-PEAP), the + * crypto library used by the TLS implementation is expected to be used for + * non-TLS needs, too, in order to save space by not implementing these + * functions twice. + * + * Wrapper code for using each crypto library is in its own file (crypto*.c) + * and one of these files is build and linked in to provide the functions + * defined here. + */ + +#ifndef CRYPTO_H +#define CRYPTO_H + +/** + * md4_vector - MD4 hash for data vector + * @num_elem: Number of elements in the data vector + * @addr: Pointers to the data areas + * @len: Lengths of the data blocks + * @mac: Buffer for the hash + * Returns: 0 on success, -1 on failure + */ +int md4_vector(size_t num_elem, const u8 *addr[], const size_t *len, u8 *mac); + +/** + * md5_vector - MD5 hash for data vector + * @num_elem: Number of elements in the data vector + * @addr: Pointers to the data areas + * @len: Lengths of the data blocks + * @mac: Buffer for the hash + * Returns: 0 on success, -1 on failure + */ +int md5_vector(size_t num_elem, const u8 *addr[], const size_t *len, u8 *mac); + +#ifdef CONFIG_FIPS +/** + * md5_vector_non_fips_allow - MD5 hash for data vector (non-FIPS use allowed) + * @num_elem: Number of elements in the data vector + * @addr: Pointers to the data areas + * @len: Lengths of the data blocks + * @mac: Buffer for the hash + * Returns: 0 on success, -1 on failure + */ +int md5_vector_non_fips_allow(size_t num_elem, const u8 *addr[], + const size_t *len, u8 *mac); +#else /* CONFIG_FIPS */ +#define md5_vector_non_fips_allow md5_vector +#endif /* CONFIG_FIPS */ + + +/** + * sha1_vector - SHA-1 hash for data vector + * @num_elem: Number of elements in the data vector + * @addr: Pointers to the data areas + * @len: Lengths of the data blocks + * @mac: Buffer for the hash + * Returns: 0 on success, -1 on failure + */ +int sha1_vector(size_t num_elem, const u8 *addr[], const size_t *len, + u8 *mac); + +/** + * fips186_2-prf - NIST FIPS Publication 186-2 change notice 1 PRF + * @seed: Seed/key for the PRF + * @seed_len: Seed length in bytes + * @x: Buffer for PRF output + * @xlen: Output length in bytes + * Returns: 0 on success, -1 on failure + * + * This function implements random number generation specified in NIST FIPS + * Publication 186-2 for EAP-SIM. This PRF uses a function that is similar to + * SHA-1, but has different message padding. + */ +int __must_check fips186_2_prf(const u8 *seed, size_t seed_len, u8 *x, + size_t xlen); + +/** + * sha256_vector - SHA256 hash for data vector + * @num_elem: Number of elements in the data vector + * @addr: Pointers to the data areas + * @len: Lengths of the data blocks + * @mac: Buffer for the hash + * Returns: 0 on success, -1 on failure + */ +int sha256_vector(size_t num_elem, const u8 *addr[], const size_t *len, + u8 *mac); + +/** + * des_encrypt - Encrypt one block with DES + * @clear: 8 octets (in) + * @key: 7 octets (in) (no parity bits included) + * @cypher: 8 octets (out) + */ +void des_encrypt(const u8 *clear, const u8 *key, u8 *cypher); + +/** + * aes_encrypt_init - Initialize AES for encryption + * @key: Encryption key + * @len: Key length in bytes (usually 16, i.e., 128 bits) + * Returns: Pointer to context data or %NULL on failure + */ +void * aes_encrypt_init(const u8 *key, size_t len); + +/** + * aes_encrypt - Encrypt one AES block + * @ctx: Context pointer from aes_encrypt_init() + * @plain: Plaintext data to be encrypted (16 bytes) + * @crypt: Buffer for the encrypted data (16 bytes) + */ +void aes_encrypt(void *ctx, const u8 *plain, u8 *crypt); + +/** + * aes_encrypt_deinit - Deinitialize AES encryption + * @ctx: Context pointer from aes_encrypt_init() + */ +void aes_encrypt_deinit(void *ctx); + +/** + * aes_decrypt_init - Initialize AES for decryption + * @key: Decryption key + * @len: Key length in bytes (usually 16, i.e., 128 bits) + * Returns: Pointer to context data or %NULL on failure + */ +void * aes_decrypt_init(const u8 *key, size_t len); + +/** + * aes_decrypt - Decrypt one AES block + * @ctx: Context pointer from aes_encrypt_init() + * @crypt: Encrypted data (16 bytes) + * @plain: Buffer for the decrypted data (16 bytes) + */ +void aes_decrypt(void *ctx, const u8 *crypt, u8 *plain); + +/** + * aes_decrypt_deinit - Deinitialize AES decryption + * @ctx: Context pointer from aes_encrypt_init() + */ +void aes_decrypt_deinit(void *ctx); + + +enum crypto_hash_alg { + CRYPTO_HASH_ALG_MD5, CRYPTO_HASH_ALG_SHA1, + CRYPTO_HASH_ALG_HMAC_MD5, CRYPTO_HASH_ALG_HMAC_SHA1, + CRYPTO_HASH_ALG_SHA256, CRYPTO_HASH_ALG_HMAC_SHA256 +}; + +struct crypto_hash; + +/** + * crypto_hash_init - Initialize hash/HMAC function + * @alg: Hash algorithm + * @key: Key for keyed hash (e.g., HMAC) or %NULL if not needed + * @key_len: Length of the key in bytes + * Returns: Pointer to hash context to use with other hash functions or %NULL + * on failure + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +struct crypto_hash * crypto_hash_init(enum crypto_hash_alg alg, const u8 *key, + size_t key_len); + +/** + * crypto_hash_update - Add data to hash calculation + * @ctx: Context pointer from crypto_hash_init() + * @data: Data buffer to add + * @len: Length of the buffer + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +void crypto_hash_update(struct crypto_hash *ctx, const u8 *data, size_t len); + +/** + * crypto_hash_finish - Complete hash calculation + * @ctx: Context pointer from crypto_hash_init() + * @hash: Buffer for hash value or %NULL if caller is just freeing the hash + * context + * @len: Pointer to length of the buffer or %NULL if caller is just freeing the + * hash context; on return, this is set to the actual length of the hash value + * Returns: 0 on success, -1 if buffer is too small (len set to needed length), + * or -2 on other failures (including failed crypto_hash_update() operations) + * + * This function calculates the hash value and frees the context buffer that + * was used for hash calculation. + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +int crypto_hash_finish(struct crypto_hash *ctx, u8 *hash, size_t *len); + + +enum crypto_cipher_alg { + CRYPTO_CIPHER_NULL = 0, CRYPTO_CIPHER_ALG_AES, CRYPTO_CIPHER_ALG_3DES, + CRYPTO_CIPHER_ALG_DES, CRYPTO_CIPHER_ALG_RC2, CRYPTO_CIPHER_ALG_RC4 +}; + +struct crypto_cipher; + +/** + * crypto_cipher_init - Initialize block/stream cipher function + * @alg: Cipher algorithm + * @iv: Initialization vector for block ciphers or %NULL for stream ciphers + * @key: Cipher key + * @key_len: Length of key in bytes + * Returns: Pointer to cipher context to use with other cipher functions or + * %NULL on failure + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +struct crypto_cipher * crypto_cipher_init(enum crypto_cipher_alg alg, + const u8 *iv, const u8 *key, + size_t key_len); + +/** + * crypto_cipher_encrypt - Cipher encrypt + * @ctx: Context pointer from crypto_cipher_init() + * @plain: Plaintext to cipher + * @crypt: Resulting ciphertext + * @len: Length of the plaintext + * Returns: 0 on success, -1 on failure + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +int __must_check crypto_cipher_encrypt(struct crypto_cipher *ctx, + const u8 *plain, u8 *crypt, size_t len); + +/** + * crypto_cipher_decrypt - Cipher decrypt + * @ctx: Context pointer from crypto_cipher_init() + * @crypt: Ciphertext to decrypt + * @plain: Resulting plaintext + * @len: Length of the cipher text + * Returns: 0 on success, -1 on failure + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +int __must_check crypto_cipher_decrypt(struct crypto_cipher *ctx, + const u8 *crypt, u8 *plain, size_t len); + +/** + * crypto_cipher_decrypt - Free cipher context + * @ctx: Context pointer from crypto_cipher_init() + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +void crypto_cipher_deinit(struct crypto_cipher *ctx); + + +struct crypto_public_key; +struct crypto_private_key; + +/** + * crypto_public_key_import - Import an RSA public key + * @key: Key buffer (DER encoded RSA public key) + * @len: Key buffer length in bytes + * Returns: Pointer to the public key or %NULL on failure + * + * This function can just return %NULL if the crypto library supports X.509 + * parsing. In that case, crypto_public_key_from_cert() is used to import the + * public key from a certificate. + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +struct crypto_public_key * crypto_public_key_import(const u8 *key, size_t len); + +/** + * crypto_private_key_import - Import an RSA private key + * @key: Key buffer (DER encoded RSA private key) + * @len: Key buffer length in bytes + * @passwd: Key encryption password or %NULL if key is not encrypted + * Returns: Pointer to the private key or %NULL on failure + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +struct crypto_private_key * crypto_private_key_import(const u8 *key, + size_t len, + const char *passwd); + +/** + * crypto_public_key_from_cert - Import an RSA public key from a certificate + * @buf: DER encoded X.509 certificate + * @len: Certificate buffer length in bytes + * Returns: Pointer to public key or %NULL on failure + * + * This function can just return %NULL if the crypto library does not support + * X.509 parsing. In that case, internal code will be used to parse the + * certificate and public key is imported using crypto_public_key_import(). + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +struct crypto_public_key * crypto_public_key_from_cert(const u8 *buf, + size_t len); + +/** + * crypto_public_key_encrypt_pkcs1_v15 - Public key encryption (PKCS #1 v1.5) + * @key: Public key + * @in: Plaintext buffer + * @inlen: Length of plaintext buffer in bytes + * @out: Output buffer for encrypted data + * @outlen: Length of output buffer in bytes; set to used length on success + * Returns: 0 on success, -1 on failure + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +int __must_check crypto_public_key_encrypt_pkcs1_v15( + struct crypto_public_key *key, const u8 *in, size_t inlen, + u8 *out, size_t *outlen); + +/** + * crypto_private_key_decrypt_pkcs1_v15 - Private key decryption (PKCS #1 v1.5) + * @key: Private key + * @in: Encrypted buffer + * @inlen: Length of encrypted buffer in bytes + * @out: Output buffer for encrypted data + * @outlen: Length of output buffer in bytes; set to used length on success + * Returns: 0 on success, -1 on failure + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +int __must_check crypto_private_key_decrypt_pkcs1_v15( + struct crypto_private_key *key, const u8 *in, size_t inlen, + u8 *out, size_t *outlen); + +/** + * crypto_private_key_sign_pkcs1 - Sign with private key (PKCS #1) + * @key: Private key from crypto_private_key_import() + * @in: Plaintext buffer + * @inlen: Length of plaintext buffer in bytes + * @out: Output buffer for encrypted (signed) data + * @outlen: Length of output buffer in bytes; set to used length on success + * Returns: 0 on success, -1 on failure + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +int __must_check crypto_private_key_sign_pkcs1(struct crypto_private_key *key, + const u8 *in, size_t inlen, + u8 *out, size_t *outlen); + +/** + * crypto_public_key_free - Free public key + * @key: Public key + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +void crypto_public_key_free(struct crypto_public_key *key); + +/** + * crypto_private_key_free - Free private key + * @key: Private key from crypto_private_key_import() + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +void crypto_private_key_free(struct crypto_private_key *key); + +/** + * crypto_public_key_decrypt_pkcs1 - Decrypt PKCS #1 signature + * @key: Public key + * @crypt: Encrypted signature data (using the private key) + * @crypt_len: Encrypted signature data length + * @plain: Buffer for plaintext (at least crypt_len bytes) + * @plain_len: Plaintext length (max buffer size on input, real len on output); + * Returns: 0 on success, -1 on failure + */ +int __must_check crypto_public_key_decrypt_pkcs1( + struct crypto_public_key *key, const u8 *crypt, size_t crypt_len, + u8 *plain, size_t *plain_len); + +/** + * crypto_global_init - Initialize crypto wrapper + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +int __must_check crypto_global_init(void); + +/** + * crypto_global_deinit - Deinitialize crypto wrapper + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +void crypto_global_deinit(void); + +/** + * crypto_mod_exp - Modular exponentiation of large integers + * @base: Base integer (big endian byte array) + * @base_len: Length of base integer in bytes + * @power: Power integer (big endian byte array) + * @power_len: Length of power integer in bytes + * @modulus: Modulus integer (big endian byte array) + * @modulus_len: Length of modulus integer in bytes + * @result: Buffer for the result + * @result_len: Result length (max buffer size on input, real len on output) + * Returns: 0 on success, -1 on failure + * + * This function calculates result = base ^ power mod modulus. modules_len is + * used as the maximum size of modulus buffer. It is set to the used size on + * success. + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +int __must_check crypto_mod_exp(const u8 *base, size_t base_len, + const u8 *power, size_t power_len, + const u8 *modulus, size_t modulus_len, + u8 *result, size_t *result_len); + +/** + * rc4_skip - XOR RC4 stream to given data with skip-stream-start + * @key: RC4 key + * @keylen: RC4 key length + * @skip: number of bytes to skip from the beginning of the RC4 stream + * @data: data to be XOR'ed with RC4 stream + * @data_len: buf length + * Returns: 0 on success, -1 on failure + * + * Generate RC4 pseudo random stream for the given key, skip beginning of the + * stream, and XOR the end result with the data buffer to perform RC4 + * encryption/decryption. + */ +int rc4_skip(const u8 *key, size_t keylen, size_t skip, + u8 *data, size_t data_len); + +#endif /* CRYPTO_H */ diff --git a/src/gsm/kdf/sha1-internal.c b/src/gsm/kdf/sha1-internal.c new file mode 100644 index 0000000..2216b43 --- /dev/null +++ b/src/gsm/kdf/sha1-internal.c @@ -0,0 +1,307 @@ +/* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + + +#include "common.h" +#include "sha1.h" +#include "sha1_i.h" +//#include "md5.h" +#include "crypto.h" + +typedef struct SHA1Context SHA1_CTX; + +void SHA1Transform(u32 state[5], const unsigned char buffer[64]); + + +/** + * sha1_vector - SHA-1 hash for data vector + * @num_elem: Number of elements in the data vector + * @addr: Pointers to the data areas + * @len: Lengths of the data blocks + * @mac: Buffer for the hash + * Returns: 0 on success, -1 of failure + */ +int sha1_vector(size_t num_elem, const u8 *addr[], const size_t *len, u8 *mac) +{ + SHA1_CTX ctx; + size_t i; + + SHA1Init(&ctx); + for (i = 0; i < num_elem; i++) + SHA1Update(&ctx, addr[i], len[i]); + SHA1Final(mac, &ctx); + return 0; +} + + +/* ===== start - public domain SHA1 implementation ===== */ + +/* +SHA-1 in C +By Steve Reid +100% Public Domain + +----------------- +Modified 7/98 +By James H. Brown +Still 100% Public Domain + +Corrected a problem which generated improper hash values on 16 bit machines +Routine SHA1Update changed from + void SHA1Update(SHA1_CTX* context, unsigned char* data, unsigned int +len) +to + void SHA1Update(SHA1_CTX* context, unsigned char* data, unsigned +long len) + +The 'len' parameter was declared an int which works fine on 32 bit machines. +However, on 16 bit machines an int is too small for the shifts being done +against +it. This caused the hash function to generate incorrect values if len was +greater than 8191 (8K - 1) due to the 'len << 3' on line 3 of SHA1Update(). + +Since the file IO in main() reads 16K at a time, any file 8K or larger would +be guaranteed to generate the wrong hash (e.g. Test Vector #3, a million +"a"s). + +I also changed the declaration of variables i & j in SHA1Update to +unsigned long from unsigned int for the same reason. + +These changes should make no difference to any 32 bit implementations since +an +int and a long are the same size in those environments. + +-- +I also corrected a few compiler warnings generated by Borland C. +1. Added #include for exit() prototype +2. Removed unused variable 'j' in SHA1Final +3. Changed exit(0) to return(0) at end of main. + +ALL changes I made can be located by searching for comments containing 'JHB' +----------------- +Modified 8/98 +By Steve Reid +Still 100% public domain + +1- Removed #include and used return() instead of exit() +2- Fixed overwriting of finalcount in SHA1Final() (discovered by Chris Hall) +3- Changed email address from steve at edmweb.com to sreid at sea-to-sky.net + +----------------- +Modified 4/01 +By Saul Kravitz +Still 100% PD +Modified to run on Compaq Alpha hardware. + +----------------- +Modified 4/01 +By Jouni Malinen +Minor changes to match the coding style used in Dynamics. + +Modified September 24, 2004 +By Jouni Malinen +Fixed alignment issue in SHA1Transform when SHA1HANDSOFF is defined. + +*/ + +/* +Test Vectors (from FIPS PUB 180-1) +"abc" + A9993E36 4706816A BA3E2571 7850C26C 9CD0D89D +"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" + 84983E44 1C3BD26E BAAE4AA1 F95129E5 E54670F1 +A million repetitions of "a" + 34AA973C D4C4DAA4 F61EEB2B DBAD2731 6534016F +*/ + +#define SHA1HANDSOFF + +#define rol(value, bits) (((value) << (bits)) | ((value) >> (32 - (bits)))) + +/* blk0() and blk() perform the initial expand. */ +/* I got the idea of expanding during the round function from SSLeay */ +#ifndef WORDS_BIGENDIAN +#define blk0(i) (block->l[i] = (rol(block->l[i], 24) & 0xFF00FF00) | \ + (rol(block->l[i], 8) & 0x00FF00FF)) +#else +#define blk0(i) block->l[i] +#endif +#define blk(i) (block->l[i & 15] = rol(block->l[(i + 13) & 15] ^ \ + block->l[(i + 8) & 15] ^ block->l[(i + 2) & 15] ^ block->l[i & 15], 1)) + +/* (R0+R1), R2, R3, R4 are the different operations used in SHA1 */ +#define R0(v,w,x,y,z,i) \ + z += ((w & (x ^ y)) ^ y) + blk0(i) + 0x5A827999 + rol(v, 5); \ + w = rol(w, 30); +#define R1(v,w,x,y,z,i) \ + z += ((w & (x ^ y)) ^ y) + blk(i) + 0x5A827999 + rol(v, 5); \ + w = rol(w, 30); +#define R2(v,w,x,y,z,i) \ + z += (w ^ x ^ y) + blk(i) + 0x6ED9EBA1 + rol(v, 5); w = rol(w, 30); +#define R3(v,w,x,y,z,i) \ + z += (((w | x) & y) | (w & x)) + blk(i) + 0x8F1BBCDC + rol(v, 5); \ + w = rol(w, 30); +#define R4(v,w,x,y,z,i) \ + z += (w ^ x ^ y) + blk(i) + 0xCA62C1D6 + rol(v, 5); \ + w=rol(w, 30); + + +#ifdef VERBOSE /* SAK */ +void SHAPrintContext(SHA1_CTX *context, char *msg) +{ + printf("%s (%d,%d) %x %x %x %x %x\n", + msg, + context->count[0], context->count[1], + context->state[0], + context->state[1], + context->state[2], + context->state[3], + context->state[4]); +} +#endif + +/* Hash a single 512-bit block. This is the core of the algorithm. */ + +void SHA1Transform(u32 state[5], const unsigned char buffer[64]) +{ + u32 a, b, c, d, e; + typedef union { + unsigned char c[64]; + u32 l[16]; + } CHAR64LONG16; + CHAR64LONG16* block; +#ifdef SHA1HANDSOFF + CHAR64LONG16 workspace; + block = &workspace; + os_memcpy(block, buffer, 64); +#else + block = (CHAR64LONG16 *) buffer; +#endif + /* Copy context->state[] to working vars */ + a = state[0]; + b = state[1]; + c = state[2]; + d = state[3]; + e = state[4]; + /* 4 rounds of 20 operations each. Loop unrolled. */ + R0(a,b,c,d,e, 0); R0(e,a,b,c,d, 1); R0(d,e,a,b,c, 2); R0(c,d,e,a,b, 3); + R0(b,c,d,e,a, 4); R0(a,b,c,d,e, 5); R0(e,a,b,c,d, 6); R0(d,e,a,b,c, 7); + R0(c,d,e,a,b, 8); R0(b,c,d,e,a, 9); R0(a,b,c,d,e,10); R0(e,a,b,c,d,11); + R0(d,e,a,b,c,12); R0(c,d,e,a,b,13); R0(b,c,d,e,a,14); R0(a,b,c,d,e,15); + R1(e,a,b,c,d,16); R1(d,e,a,b,c,17); R1(c,d,e,a,b,18); R1(b,c,d,e,a,19); + R2(a,b,c,d,e,20); R2(e,a,b,c,d,21); R2(d,e,a,b,c,22); R2(c,d,e,a,b,23); + R2(b,c,d,e,a,24); R2(a,b,c,d,e,25); R2(e,a,b,c,d,26); R2(d,e,a,b,c,27); + R2(c,d,e,a,b,28); R2(b,c,d,e,a,29); R2(a,b,c,d,e,30); R2(e,a,b,c,d,31); + R2(d,e,a,b,c,32); R2(c,d,e,a,b,33); R2(b,c,d,e,a,34); R2(a,b,c,d,e,35); + R2(e,a,b,c,d,36); R2(d,e,a,b,c,37); R2(c,d,e,a,b,38); R2(b,c,d,e,a,39); + R3(a,b,c,d,e,40); R3(e,a,b,c,d,41); R3(d,e,a,b,c,42); R3(c,d,e,a,b,43); + R3(b,c,d,e,a,44); R3(a,b,c,d,e,45); R3(e,a,b,c,d,46); R3(d,e,a,b,c,47); + R3(c,d,e,a,b,48); R3(b,c,d,e,a,49); R3(a,b,c,d,e,50); R3(e,a,b,c,d,51); + R3(d,e,a,b,c,52); R3(c,d,e,a,b,53); R3(b,c,d,e,a,54); R3(a,b,c,d,e,55); + R3(e,a,b,c,d,56); R3(d,e,a,b,c,57); R3(c,d,e,a,b,58); R3(b,c,d,e,a,59); + R4(a,b,c,d,e,60); R4(e,a,b,c,d,61); R4(d,e,a,b,c,62); R4(c,d,e,a,b,63); + R4(b,c,d,e,a,64); R4(a,b,c,d,e,65); R4(e,a,b,c,d,66); R4(d,e,a,b,c,67); + R4(c,d,e,a,b,68); R4(b,c,d,e,a,69); R4(a,b,c,d,e,70); R4(e,a,b,c,d,71); + R4(d,e,a,b,c,72); R4(c,d,e,a,b,73); R4(b,c,d,e,a,74); R4(a,b,c,d,e,75); + R4(e,a,b,c,d,76); R4(d,e,a,b,c,77); R4(c,d,e,a,b,78); R4(b,c,d,e,a,79); + /* Add the working vars back into context.state[] */ + state[0] += a; + state[1] += b; + state[2] += c; + state[3] += d; + state[4] += e; + /* Wipe variables */ + a = b = c = d = e = 0; +#ifdef SHA1HANDSOFF + os_memset(block, 0, 64); +#endif +} + + +/* SHA1Init - Initialize new context */ + +void SHA1Init(SHA1_CTX* context) +{ + /* SHA1 initialization constants */ + context->state[0] = 0x67452301; + context->state[1] = 0xEFCDAB89; + context->state[2] = 0x98BADCFE; + context->state[3] = 0x10325476; + context->state[4] = 0xC3D2E1F0; + context->count[0] = context->count[1] = 0; +} + + +/* Run your data through this. */ + +void SHA1Update(SHA1_CTX* context, const void *_data, u32 len) +{ + u32 i, j; + const unsigned char *data = _data; + +#ifdef VERBOSE + SHAPrintContext(context, "before"); +#endif + j = (context->count[0] >> 3) & 63; + if ((context->count[0] += len << 3) < (len << 3)) + context->count[1]++; + context->count[1] += (len >> 29); + if ((j + len) > 63) { + os_memcpy(&context->buffer[j], data, (i = 64-j)); + SHA1Transform(context->state, context->buffer); + for ( ; i + 63 < len; i += 64) { + SHA1Transform(context->state, &data[i]); + } + j = 0; + } + else i = 0; + os_memcpy(&context->buffer[j], &data[i], len - i); +#ifdef VERBOSE + SHAPrintContext(context, "after "); +#endif +} + + +/* Add padding and return the message digest. */ + +void SHA1Final(unsigned char digest[20], SHA1_CTX* context) +{ + u32 i; + unsigned char finalcount[8]; + + for (i = 0; i < 8; i++) { + finalcount[i] = (unsigned char) + ((context->count[(i >= 4 ? 0 : 1)] >> + ((3-(i & 3)) * 8) ) & 255); /* Endian independent */ + } + SHA1Update(context, (unsigned char *) "\200", 1); + while ((context->count[0] & 504) != 448) { + SHA1Update(context, (unsigned char *) "\0", 1); + } + SHA1Update(context, finalcount, 8); /* Should cause a SHA1Transform() + */ + for (i = 0; i < 20; i++) { + digest[i] = (unsigned char) + ((context->state[i >> 2] >> ((3 - (i & 3)) * 8)) & + 255); + } + /* Wipe variables */ + i = 0; + os_memset(context->buffer, 0, 64); + os_memset(context->state, 0, 20); + os_memset(context->count, 0, 8); + os_memset(finalcount, 0, 8); +} + +/* ===== end - public domain SHA1 implementation ===== */ diff --git a/src/gsm/kdf/sha1.c b/src/gsm/kdf/sha1.c new file mode 100644 index 0000000..0d39f77 --- /dev/null +++ b/src/gsm/kdf/sha1.c @@ -0,0 +1,162 @@ +/* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + + +#include "common.h" +#include "sha1.h" +#include "crypto.h" + + +/** + * hmac_sha1_vector - HMAC-SHA1 over data vector (RFC 2104) + * @key: Key for HMAC operations + * @key_len: Length of the key in bytes + * @num_elem: Number of elements in the data vector + * @addr: Pointers to the data areas + * @len: Lengths of the data blocks + * @mac: Buffer for the hash (20 bytes) + * Returns: 0 on success, -1 on failure + */ +int hmac_sha1_vector(const u8 *key, size_t key_len, size_t num_elem, + const u8 *addr[], const size_t *len, u8 *mac) +{ + unsigned char k_pad[64]; /* padding - key XORd with ipad/opad */ + unsigned char tk[20]; + const u8 *_addr[6]; + size_t _len[6], i; + + if (num_elem > 5) { + /* + * Fixed limit on the number of fragments to avoid having to + * allocate memory (which could fail). + */ + return -1; + } + + /* if key is longer than 64 bytes reset it to key = SHA1(key) */ + if (key_len > 64) { + if (sha1_vector(1, &key, &key_len, tk)) + return -1; + key = tk; + key_len = 20; + } + + /* the HMAC_SHA1 transform looks like: + * + * SHA1(K XOR opad, SHA1(K XOR ipad, text)) + * + * where K is an n byte key + * ipad is the byte 0x36 repeated 64 times + * opad is the byte 0x5c repeated 64 times + * and text is the data being protected */ + + /* start out by storing key in ipad */ + os_memset(k_pad, 0, sizeof(k_pad)); + os_memcpy(k_pad, key, key_len); + /* XOR key with ipad values */ + for (i = 0; i < 64; i++) + k_pad[i] ^= 0x36; + + /* perform inner SHA1 */ + _addr[0] = k_pad; + _len[0] = 64; + for (i = 0; i < num_elem; i++) { + _addr[i + 1] = addr[i]; + _len[i + 1] = len[i]; + } + if (sha1_vector(1 + num_elem, _addr, _len, mac)) + return -1; + + os_memset(k_pad, 0, sizeof(k_pad)); + os_memcpy(k_pad, key, key_len); + /* XOR key with opad values */ + for (i = 0; i < 64; i++) + k_pad[i] ^= 0x5c; + + /* perform outer SHA1 */ + _addr[0] = k_pad; + _len[0] = 64; + _addr[1] = mac; + _len[1] = SHA1_MAC_LEN; + return sha1_vector(2, _addr, _len, mac); +} + + +/** + * hmac_sha1 - HMAC-SHA1 over data buffer (RFC 2104) + * @key: Key for HMAC operations + * @key_len: Length of the key in bytes + * @data: Pointers to the data area + * @data_len: Length of the data area + * @mac: Buffer for the hash (20 bytes) + * Returns: 0 on success, -1 of failure + */ +int hmac_sha1(const u8 *key, size_t key_len, const u8 *data, size_t data_len, + u8 *mac) +{ + return hmac_sha1_vector(key, key_len, 1, &data, &data_len, mac); +} + + +/** + * sha1_prf - SHA1-based Pseudo-Random Function (PRF) (IEEE 802.11i, 8.5.1.1) + * @key: Key for PRF + * @key_len: Length of the key in bytes + * @label: A unique label for each purpose of the PRF + * @data: Extra data to bind into the key + * @data_len: Length of the data + * @buf: Buffer for the generated pseudo-random key + * @buf_len: Number of bytes of key to generate + * Returns: 0 on success, -1 of failure + * + * This function is used to derive new, cryptographically separate keys from a + * given key (e.g., PMK in IEEE 802.11i). + */ +int sha1_prf(const u8 *key, size_t key_len, const char *label, + const u8 *data, size_t data_len, u8 *buf, size_t buf_len) +{ + u8 counter = 0; + size_t pos, plen; + u8 hash[SHA1_MAC_LEN]; + size_t label_len = os_strlen(label) + 1; + const unsigned char *addr[3]; + size_t len[3]; + + addr[0] = (u8 *) label; + len[0] = label_len; + addr[1] = data; + len[1] = data_len; + addr[2] = &counter; + len[2] = 1; + + pos = 0; + while (pos < buf_len) { + plen = buf_len - pos; + if (plen >= SHA1_MAC_LEN) { + if (hmac_sha1_vector(key, key_len, 3, addr, len, + &buf[pos])) + return -1; + pos += SHA1_MAC_LEN; + } else { + if (hmac_sha1_vector(key, key_len, 3, addr, len, + hash)) + return -1; + os_memcpy(&buf[pos], hash, plen); + break; + } + counter++; + } + + return 0; +} diff --git a/src/gsm/kdf/sha1.h b/src/gsm/kdf/sha1.h new file mode 100644 index 0000000..f0c1a5f --- /dev/null +++ b/src/gsm/kdf/sha1.h @@ -0,0 +1,33 @@ +/* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2009, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef SHA1_H +#define SHA1_H + +#define SHA1_MAC_LEN 20 + +int hmac_sha1_vector(const u8 *key, size_t key_len, size_t num_elem, + const u8 *addr[], const size_t *len, u8 *mac); +int hmac_sha1(const u8 *key, size_t key_len, const u8 *data, size_t data_len, + u8 *mac); +int sha1_prf(const u8 *key, size_t key_len, const char *label, + const u8 *data, size_t data_len, u8 *buf, size_t buf_len); +int sha1_t_prf(const u8 *key, size_t key_len, const char *label, + const u8 *seed, size_t seed_len, u8 *buf, size_t buf_len); +int __must_check tls_prf_sha1_md5(const u8 *secret, size_t secret_len, + const char *label, const u8 *seed, + size_t seed_len, u8 *out, size_t outlen); +int pbkdf2_sha1(const char *passphrase, const char *ssid, size_t ssid_len, + int iterations, u8 *buf, size_t buflen); +#endif /* SHA1_H */ diff --git a/src/gsm/kdf/sha1_i.h b/src/gsm/kdf/sha1_i.h new file mode 100644 index 0000000..ec2f82f --- /dev/null +++ b/src/gsm/kdf/sha1_i.h @@ -0,0 +1,29 @@ +/* + * SHA1 internal definitions + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef SHA1_I_H +#define SHA1_I_H + +struct SHA1Context { + u32 state[5]; + u32 count[2]; + unsigned char buffer[64]; +}; + +void SHA1Init(struct SHA1Context *context); +void SHA1Update(struct SHA1Context *context, const void *data, u32 len); +void SHA1Final(unsigned char digest[20], struct SHA1Context *context); +void SHA1Transform(u32 state[5], const unsigned char buffer[64]); + +#endif /* SHA1_I_H */ diff --git a/src/gsm/kdf/sha256-internal.c b/src/gsm/kdf/sha256-internal.c new file mode 100644 index 0000000..18cc8f8 --- /dev/null +++ b/src/gsm/kdf/sha256-internal.c @@ -0,0 +1,231 @@ +/* + * SHA-256 hash implementation and interface functions + * Copyright (c) 2003-2011, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + + +#include "common.h" +#include "sha256.h" +#include "sha256_i.h" +#include "crypto.h" + + +/** + * sha256_vector - SHA256 hash for data vector + * @num_elem: Number of elements in the data vector + * @addr: Pointers to the data areas + * @len: Lengths of the data blocks + * @mac: Buffer for the hash + * Returns: 0 on success, -1 of failure + */ +int sha256_vector(size_t num_elem, const u8 *addr[], const size_t *len, + u8 *mac) +{ + struct sha256_state ctx; + size_t i; + + sha256_init(&ctx); + for (i = 0; i < num_elem; i++) + if (sha256_process(&ctx, addr[i], len[i])) + return -1; + if (sha256_done(&ctx, mac)) + return -1; + return 0; +} + + +/* ===== start - public domain SHA256 implementation ===== */ + +/* This is based on SHA256 implementation in LibTomCrypt that was released into + * public domain by Tom St Denis. */ + +/* the K array */ +static const unsigned long K[64] = { + 0x428a2f98UL, 0x71374491UL, 0xb5c0fbcfUL, 0xe9b5dba5UL, 0x3956c25bUL, + 0x59f111f1UL, 0x923f82a4UL, 0xab1c5ed5UL, 0xd807aa98UL, 0x12835b01UL, + 0x243185beUL, 0x550c7dc3UL, 0x72be5d74UL, 0x80deb1feUL, 0x9bdc06a7UL, + 0xc19bf174UL, 0xe49b69c1UL, 0xefbe4786UL, 0x0fc19dc6UL, 0x240ca1ccUL, + 0x2de92c6fUL, 0x4a7484aaUL, 0x5cb0a9dcUL, 0x76f988daUL, 0x983e5152UL, + 0xa831c66dUL, 0xb00327c8UL, 0xbf597fc7UL, 0xc6e00bf3UL, 0xd5a79147UL, + 0x06ca6351UL, 0x14292967UL, 0x27b70a85UL, 0x2e1b2138UL, 0x4d2c6dfcUL, + 0x53380d13UL, 0x650a7354UL, 0x766a0abbUL, 0x81c2c92eUL, 0x92722c85UL, + 0xa2bfe8a1UL, 0xa81a664bUL, 0xc24b8b70UL, 0xc76c51a3UL, 0xd192e819UL, + 0xd6990624UL, 0xf40e3585UL, 0x106aa070UL, 0x19a4c116UL, 0x1e376c08UL, + 0x2748774cUL, 0x34b0bcb5UL, 0x391c0cb3UL, 0x4ed8aa4aUL, 0x5b9cca4fUL, + 0x682e6ff3UL, 0x748f82eeUL, 0x78a5636fUL, 0x84c87814UL, 0x8cc70208UL, + 0x90befffaUL, 0xa4506cebUL, 0xbef9a3f7UL, 0xc67178f2UL +}; + + +/* Various logical functions */ +#define RORc(x, y) \ +( ((((unsigned long) (x) & 0xFFFFFFFFUL) >> (unsigned long) ((y) & 31)) | \ + ((unsigned long) (x) << (unsigned long) (32 - ((y) & 31)))) & 0xFFFFFFFFUL) +#define Ch(x,y,z) (z ^ (x & (y ^ z))) +#define Maj(x,y,z) (((x | y) & z) | (x & y)) +#define S(x, n) RORc((x), (n)) +#define R(x, n) (((x)&0xFFFFFFFFUL)>>(n)) +#define Sigma0(x) (S(x, 2) ^ S(x, 13) ^ S(x, 22)) +#define Sigma1(x) (S(x, 6) ^ S(x, 11) ^ S(x, 25)) +#define Gamma0(x) (S(x, 7) ^ S(x, 18) ^ R(x, 3)) +#define Gamma1(x) (S(x, 17) ^ S(x, 19) ^ R(x, 10)) +#ifndef MIN +#define MIN(x, y) (((x) < (y)) ? (x) : (y)) +#endif + +/* compress 512-bits */ +static int sha256_compress(struct sha256_state *md, unsigned char *buf) +{ + u32 S[8], W[64], t0, t1; + u32 t; + int i; + + /* copy state into S */ + for (i = 0; i < 8; i++) { + S[i] = md->state[i]; + } + + /* copy the state into 512-bits into W[0..15] */ + for (i = 0; i < 16; i++) + W[i] = WPA_GET_BE32(buf + (4 * i)); + + /* fill W[16..63] */ + for (i = 16; i < 64; i++) { + W[i] = Gamma1(W[i - 2]) + W[i - 7] + Gamma0(W[i - 15]) + + W[i - 16]; + } + + /* Compress */ +#define RND(a,b,c,d,e,f,g,h,i) \ + t0 = h + Sigma1(e) + Ch(e, f, g) + K[i] + W[i]; \ + t1 = Sigma0(a) + Maj(a, b, c); \ + d += t0; \ + h = t0 + t1; + + for (i = 0; i < 64; ++i) { + RND(S[0], S[1], S[2], S[3], S[4], S[5], S[6], S[7], i); + t = S[7]; S[7] = S[6]; S[6] = S[5]; S[5] = S[4]; + S[4] = S[3]; S[3] = S[2]; S[2] = S[1]; S[1] = S[0]; S[0] = t; + } + + /* feedback */ + for (i = 0; i < 8; i++) { + md->state[i] = md->state[i] + S[i]; + } + return 0; +} + + +/* Initialize the hash state */ +void sha256_init(struct sha256_state *md) +{ + md->curlen = 0; + md->length = 0; + md->state[0] = 0x6A09E667UL; + md->state[1] = 0xBB67AE85UL; + md->state[2] = 0x3C6EF372UL; + md->state[3] = 0xA54FF53AUL; + md->state[4] = 0x510E527FUL; + md->state[5] = 0x9B05688CUL; + md->state[6] = 0x1F83D9ABUL; + md->state[7] = 0x5BE0CD19UL; +} + +/** + Process a block of memory though the hash + @param md The hash state + @param in The data to hash + @param inlen The length of the data (octets) + @return CRYPT_OK if successful +*/ +int sha256_process(struct sha256_state *md, const unsigned char *in, + unsigned long inlen) +{ + unsigned long n; + + if (md->curlen >= sizeof(md->buf)) + return -1; + + while (inlen > 0) { + if (md->curlen == 0 && inlen >= SHA256_BLOCK_SIZE) { + if (sha256_compress(md, (unsigned char *) in) < 0) + return -1; + md->length += SHA256_BLOCK_SIZE * 8; + in += SHA256_BLOCK_SIZE; + inlen -= SHA256_BLOCK_SIZE; + } else { + n = MIN(inlen, (SHA256_BLOCK_SIZE - md->curlen)); + os_memcpy(md->buf + md->curlen, in, n); + md->curlen += n; + in += n; + inlen -= n; + if (md->curlen == SHA256_BLOCK_SIZE) { + if (sha256_compress(md, md->buf) < 0) + return -1; + md->length += 8 * SHA256_BLOCK_SIZE; + md->curlen = 0; + } + } + } + + return 0; +} + + +/** + Terminate the hash to get the digest + @param md The hash state + @param out [out] The destination of the hash (32 bytes) + @return CRYPT_OK if successful +*/ +int sha256_done(struct sha256_state *md, unsigned char *out) +{ + int i; + + if (md->curlen >= sizeof(md->buf)) + return -1; + + /* increase the length of the message */ + md->length += md->curlen * 8; + + /* append the '1' bit */ + md->buf[md->curlen++] = (unsigned char) 0x80; + + /* if the length is currently above 56 bytes we append zeros + * then compress. Then we can fall back to padding zeros and length + * encoding like normal. + */ + if (md->curlen > 56) { + while (md->curlen < SHA256_BLOCK_SIZE) { + md->buf[md->curlen++] = (unsigned char) 0; + } + sha256_compress(md, md->buf); + md->curlen = 0; + } + + /* pad up to 56 bytes of zeroes */ + while (md->curlen < 56) { + md->buf[md->curlen++] = (unsigned char) 0; + } + + /* store length */ + WPA_PUT_BE64(md->buf + 56, md->length); + sha256_compress(md, md->buf); + + /* copy output */ + for (i = 0; i < 8; i++) + WPA_PUT_BE32(out + (4 * i), md->state[i]); + + return 0; +} + +/* ===== end - public domain SHA256 implementation ===== */ diff --git a/src/gsm/kdf/sha256.c b/src/gsm/kdf/sha256.c new file mode 100644 index 0000000..4f8b6cc --- /dev/null +++ b/src/gsm/kdf/sha256.c @@ -0,0 +1,156 @@ +/* + * SHA-256 hash implementation and interface functions + * Copyright (c) 2003-2007, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + + +#include "common.h" +#include "sha256.h" +#include "crypto.h" + + +/** + * hmac_sha256_vector - HMAC-SHA256 over data vector (RFC 2104) + * @key: Key for HMAC operations + * @key_len: Length of the key in bytes + * @num_elem: Number of elements in the data vector + * @addr: Pointers to the data areas + * @len: Lengths of the data blocks + * @mac: Buffer for the hash (32 bytes) + */ +void hmac_sha256_vector(const u8 *key, size_t key_len, size_t num_elem, + const u8 *addr[], const size_t *len, u8 *mac) +{ + unsigned char k_pad[64]; /* padding - key XORd with ipad/opad */ + unsigned char tk[32]; + const u8 *_addr[6]; + size_t _len[6], i; + + if (num_elem > 5) { + /* + * Fixed limit on the number of fragments to avoid having to + * allocate memory (which could fail). + */ + return; + } + + /* if key is longer than 64 bytes reset it to key = SHA256(key) */ + if (key_len > 64) { + sha256_vector(1, &key, &key_len, tk); + key = tk; + key_len = 32; + } + + /* the HMAC_SHA256 transform looks like: + * + * SHA256(K XOR opad, SHA256(K XOR ipad, text)) + * + * where K is an n byte key + * ipad is the byte 0x36 repeated 64 times + * opad is the byte 0x5c repeated 64 times + * and text is the data being protected */ + + /* start out by storing key in ipad */ + os_memset(k_pad, 0, sizeof(k_pad)); + os_memcpy(k_pad, key, key_len); + /* XOR key with ipad values */ + for (i = 0; i < 64; i++) + k_pad[i] ^= 0x36; + + /* perform inner SHA256 */ + _addr[0] = k_pad; + _len[0] = 64; + for (i = 0; i < num_elem; i++) { + _addr[i + 1] = addr[i]; + _len[i + 1] = len[i]; + } + sha256_vector(1 + num_elem, _addr, _len, mac); + + os_memset(k_pad, 0, sizeof(k_pad)); + os_memcpy(k_pad, key, key_len); + /* XOR key with opad values */ + for (i = 0; i < 64; i++) + k_pad[i] ^= 0x5c; + + /* perform outer SHA256 */ + _addr[0] = k_pad; + _len[0] = 64; + _addr[1] = mac; + _len[1] = SHA256_MAC_LEN; + sha256_vector(2, _addr, _len, mac); +} + + +/** + * hmac_sha256 - HMAC-SHA256 over data buffer (RFC 2104) + * @key: Key for HMAC operations + * @key_len: Length of the key in bytes + * @data: Pointers to the data area + * @data_len: Length of the data area + * @mac: Buffer for the hash (20 bytes) + */ +void hmac_sha256(const u8 *key, size_t key_len, const u8 *data, + size_t data_len, u8 *mac) +{ + hmac_sha256_vector(key, key_len, 1, &data, &data_len, mac); +} + + +/** + * sha256_prf - SHA256-based Pseudo-Random Function (IEEE 802.11r, 8.5.1.5.2) + * @key: Key for PRF + * @key_len: Length of the key in bytes + * @label: A unique label for each purpose of the PRF + * @data: Extra data to bind into the key + * @data_len: Length of the data + * @buf: Buffer for the generated pseudo-random key + * @buf_len: Number of bytes of key to generate + * + * This function is used to derive new, cryptographically separate keys from a + * given key. + */ +void sha256_prf(const u8 *key, size_t key_len, const char *label, + const u8 *data, size_t data_len, u8 *buf, size_t buf_len) +{ + u16 counter = 1; + size_t pos, plen; + u8 hash[SHA256_MAC_LEN]; + const u8 *addr[4]; + size_t len[4]; + u8 counter_le[2], length_le[2]; + + addr[0] = counter_le; + len[0] = 2; + addr[1] = (u8 *) label; + len[1] = os_strlen(label); + addr[2] = data; + len[2] = data_len; + addr[3] = length_le; + len[3] = sizeof(length_le); + + WPA_PUT_LE16(length_le, buf_len * 8); + pos = 0; + while (pos < buf_len) { + plen = buf_len - pos; + WPA_PUT_LE16(counter_le, counter); + if (plen >= SHA256_MAC_LEN) { + hmac_sha256_vector(key, key_len, 4, addr, len, + &buf[pos]); + pos += SHA256_MAC_LEN; + } else { + hmac_sha256_vector(key, key_len, 4, addr, len, hash); + os_memcpy(&buf[pos], hash, plen); + break; + } + counter++; + } +} diff --git a/src/gsm/kdf/sha256.h b/src/gsm/kdf/sha256.h new file mode 100644 index 0000000..b1ce6af --- /dev/null +++ b/src/gsm/kdf/sha256.h @@ -0,0 +1,30 @@ +/* + * SHA256 hash implementation and interface functions + * Copyright (c) 2003-2011, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef SHA256_H +#define SHA256_H + +#define SHA256_MAC_LEN 32 + +void hmac_sha256_vector(const u8 *key, size_t key_len, size_t num_elem, + const u8 *addr[], const size_t *len, u8 *mac); +void hmac_sha256(const u8 *key, size_t key_len, const u8 *data, + size_t data_len, u8 *mac); +void sha256_prf(const u8 *key, size_t key_len, const char *label, + const u8 *data, size_t data_len, u8 *buf, size_t buf_len); +void tls_prf_sha256(const u8 *secret, size_t secret_len, + const char *label, const u8 *seed, size_t seed_len, + u8 *out, size_t outlen); + +#endif /* SHA256_H */ diff --git a/src/gsm/kdf/sha256_i.h b/src/gsm/kdf/sha256_i.h new file mode 100644 index 0000000..20ae488 --- /dev/null +++ b/src/gsm/kdf/sha256_i.h @@ -0,0 +1,31 @@ +/* + * SHA-256 internal definitions + * Copyright (c) 2003-2011, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef SHA256_I_H +#define SHA256_I_H + +#define SHA256_BLOCK_SIZE 64 + +struct sha256_state { + u64 length; + u32 state[8], curlen; + u8 buf[SHA256_BLOCK_SIZE]; +}; + +void sha256_init(struct sha256_state *md); +int sha256_process(struct sha256_state *md, const unsigned char *in, + unsigned long inlen); +int sha256_done(struct sha256_state *md, unsigned char *out); + +#endif /* SHA256_I_H */ diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 3fd01db..437599b 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -547,6 +547,12 @@ osmo_auth_c3; osmo_sub_auth_type_names; +osmo_kdf_kc128; +osmo_kdf_kasme; +osmo_kdf_enb; +osmo_kdf_nh; +osmo_kdf_nas; + osmo_rsl2sitype; osmo_sitype2rsl; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibf2e49edada944d91ceba62bd0d6b6ce69261fcd Gerrit-Change-Number: 24291 Gerrit-PatchSet: 8 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 11:52:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Jun 2021 11:52:52 +0000 Subject: Change in osmo-bts[master]: conf_lchans_as_pchan(): initialize all lchans with GSM_LCHAN_NONE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24604 ) Change subject: conf_lchans_as_pchan(): initialize all lchans with GSM_LCHAN_NONE ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I44726f2bfb979c2fa2f5f30c5b11700cf4b3399d Gerrit-Change-Number: 24604 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Jun 2021 11:52:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 11:54:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Jun 2021 11:54:11 +0000 Subject: Change in osmocom-bb[master]: host/layer23/ccch_scan: skip CCCH frames with wrong length In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24627 ) Change subject: host/layer23/ccch_scan: skip CCCH frames with wrong length ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24627 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I85392becbffdb3ba7365decfd8f3769abe3c02c7 Gerrit-Change-Number: 24627 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Jun 2021 11:54:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 11:55:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Jun 2021 11:55:15 +0000 Subject: Change in libosmocore[master]: utils: introduce osmo_talloc_replace_string_fmt() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24598 ) Change subject: utils: introduce osmo_talloc_replace_string_fmt() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24598 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6b84fa0525555a98c531fc558e5dc1298fec00c1 Gerrit-Change-Number: 24598 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 09 Jun 2021 11: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 Jun 9 12:02:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Jun 2021 12:02:52 +0000 Subject: Change in osmo-bsc[master]: vty: Drop unused old node enum fields In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24609 ) Change subject: vty: Drop unused old node enum fields ...................................................................... vty: Drop unused old node enum fields Change-Id: Ifccd1e477c36bee976a61760b0fedc395f675c1f --- M include/osmocom/bsc/vty.h 1 file changed, 0 insertions(+), 2 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/vty.h b/include/osmocom/bsc/vty.h index 92f7932..30094fa 100644 --- a/include/osmocom/bsc/vty.h +++ b/include/osmocom/bsc/vty.h @@ -18,8 +18,6 @@ TRX_NODE, TS_NODE, OML_NODE, - NAT_NODE, - NAT_BSC_NODE, MSC_NODE, OM2K_NODE, OM2K_CON_GROUP_NODE, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24609 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifccd1e477c36bee976a61760b0fedc395f675c1f Gerrit-Change-Number: 24609 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 Wed Jun 9 12:09:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Jun 2021 12:09:44 +0000 Subject: Change in osmo-bts[master]: rsl: Use switch statement in rsl_rx_bcch_info() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24616 ) Change subject: rsl: Use switch statement in rsl_rx_bcch_info() ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I27774ca36d1e740b6a502cfb280aba0ea82b9dbe Gerrit-Change-Number: 24616 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 09 Jun 2021 12:09: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 Wed Jun 9 12:16:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Jun 2021 12:16:54 +0000 Subject: Change in osmo-bts[master]: rsl: Use switch statement in rsl_rx_bcch_info() In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24616 to look at the new patch set (#3). Change subject: rsl: Use switch statement in rsl_rx_bcch_info() ...................................................................... rsl: Use switch statement in rsl_rx_bcch_info() This is a preparation for new commit, which makes it easier to add new SIs being sent. Change-Id: I27774ca36d1e740b6a502cfb280aba0ea82b9dbe --- M src/common/rsl.c 1 file changed, 18 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/16/24616/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I27774ca36d1e740b6a502cfb280aba0ea82b9dbe Gerrit-Change-Number: 24616 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 13:34:31 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Jun 2021 13:34:31 +0000 Subject: Change in osmo-bts[master]: conf_lchans_as_pchan(): initialize all lchans with GSM_LCHAN_NONE In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24604 ) Change subject: conf_lchans_as_pchan(): initialize all lchans with GSM_LCHAN_NONE ...................................................................... conf_lchans_as_pchan(): initialize all lchans with GSM_LCHAN_NONE This function is called during the OML bootstrapping, and also when a dynamic timeslot switches between PDCH and TCH/{F,H}. In the later case, after switching from TCH/{F,H} to PDCH, some lchans might still have the old type assigned. Let's ensure that all logical channels are properly updated. Change-Id: I44726f2bfb979c2fa2f5f30c5b11700cf4b3399d Related: SYS#5313, OS#1569 --- M src/common/oml.c 1 file changed, 3 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/common/oml.c b/src/common/oml.c index 6acc6b1..8b84f85 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -826,6 +826,9 @@ int conf_lchans_as_pchan(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config pchan) { + /* Initialize all lchans with GSM_LCHAN_NONE first */ + lchans_type_set(ts, GSM_LCHAN_NONE, ARRAY_SIZE(ts->lchan)); + switch (pchan) { case GSM_PCHAN_CCCH_SDCCH4_CBCH: case GSM_PCHAN_CCCH_SDCCH4: -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I44726f2bfb979c2fa2f5f30c5b11700cf4b3399d Gerrit-Change-Number: 24604 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 13:39:35 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Jun 2021 13:39:35 +0000 Subject: Change in osmo-bts[master]: rsl: Use switch statement in rsl_rx_bcch_info() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24616 ) Change subject: rsl: Use switch statement in rsl_rx_bcch_info() ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I27774ca36d1e740b6a502cfb280aba0ea82b9dbe Gerrit-Change-Number: 24616 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 09 Jun 2021 13:39:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 15:00:35 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 9 Jun 2021 15:00:35 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24374 ) Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... Patch Set 20: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24374/20/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24374/20/src/osmo-bsc/abis_rsl.c at 506 PS20, Line 506: struct rsl_osmo_training_sequence_ie { > Looks like this belongs to libosmogsm or libosmoabis, because somo-bts also requires it. that's the weird thing about our RSL implementation: we have the protocol TLV list and IE defines and so on in libosmocore, but every program implements its own message encoding and decoding functions all over. So I agree that this encoding and decoding of the IE should have lived in libosmocore, sort of like we do with the BSSAP messaging, but so far it kind of belongs here instead. So now I asked Vadim whether he's going to use this struct in osmo-bts source, but he says no. Since it's only two octets he rather reads them directly from the data. That would have been a reason to move to libosmocore. (I could also just msg_put_u8() twice here...) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 20 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Jun 2021 15:00:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 15:03:24 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 9 Jun 2021 15:03:24 +0000 Subject: Change in osmo-bsc[master]: RSL chan_nr: replace OSMO_ASSERT with error handling In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24524 ) Change subject: RSL chan_nr: replace OSMO_ASSERT with error handling ...................................................................... Patch Set 8: Code-Review+2 combine votes -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71ed6437c403a3f9336e17a94b4948fca295d853 Gerrit-Change-Number: 24524 Gerrit-PatchSet: 8 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Jun 2021 15:03: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 Jun 9 15:36:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Jun 2021 15:36:25 +0000 Subject: Change in osmo-bts[master]: measurement: remove over-defensive checks in is_meas_complete() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24527 ) Change subject: measurement: remove over-defensive checks in is_meas_complete() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24527/1/src/common/measurement.c File src/common/measurement.c: https://gerrit.osmocom.org/c/osmo-bts/+/24527/1/src/common/measurement.c at a257 PS1, Line 257: > but what's the point of removing these checks? optimization?!? This part of the code is executed quite often, so yes, it's a bad idea to check for all theoretically possible values here. > ts_pchan() mostly returns ts->pchan, who knows what's in there. Then it would make sense to assert() in ts_pchan() itself, but I still don't see why would we need that. Even if ts_pchan() returns garbage, the switch statement below will jump to the default branch. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6d20d7cba49cc8b6d1dc2192598ca372b7d2c5bf Gerrit-Change-Number: 24527 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Wed, 09 Jun 2021 15:36:25 +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 Jun 9 15:45:30 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Jun 2021 15:45:30 +0000 Subject: Change in libosmocore[master]: ns2: use same name in ctr_group as stat_item_group In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24636 ) Change subject: ns2: use same name in ctr_group as stat_item_group ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24636 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7d2dcb6c7ddf72a0d06ff19f5d0e3dc740bd19ff Gerrit-Change-Number: 24636 Gerrit-PatchSet: 1 Gerrit-Owner: iedemam Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Jun 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 Wed Jun 9 15:57:11 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 9 Jun 2021 15:57:11 +0000 Subject: Change in osmo-bts[master]: measurement: remove over-defensive checks in is_meas_complete() In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24527 ) Change subject: measurement: remove over-defensive checks in is_meas_complete() ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24527/1/src/common/measurement.c File src/common/measurement.c: https://gerrit.osmocom.org/c/osmo-bts/+/24527/1/src/common/measurement.c at a257 PS1, Line 257: > > but what's the point of removing these checks? optimization?!? [?] I think we can remove the checks since they address only a theoretical issue. I guess we can rely on the integrity of the data model. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6d20d7cba49cc8b6d1dc2192598ca372b7d2c5bf Gerrit-Change-Number: 24527 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Wed, 09 Jun 2021 15:57:11 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: neels Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 20:20:42 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Jun 2021 20:20:42 +0000 Subject: Change in osmo-bts[master]: measurement: remove over-defensive checks in is_meas_complete() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24527 ) Change subject: measurement: remove over-defensive checks in is_meas_complete() ...................................................................... measurement: remove over-defensive checks in is_meas_complete() The timeslot number ts->nr is set in gsm_bts_trx_alloc() and can never be greater than 7. Regarding the physical channel type returned by ts_pchan(), it's also unlikely to be greater than _GSM_PCHAN_MAX. Change-Id: I6d20d7cba49cc8b6d1dc2192598ca372b7d2c5bf --- M src/common/measurement.c 1 file changed, 0 insertions(+), 5 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 Jenkins Builder: Verified diff --git a/src/common/measurement.c b/src/common/measurement.c index 03afaa3..b586987 100644 --- a/src/common/measurement.c +++ b/src/common/measurement.c @@ -250,11 +250,6 @@ int rc = 0; enum gsm_phys_chan_config pchan = ts_pchan(lchan->ts); - if (lchan->ts->nr >= 8) - return -EINVAL; - if (pchan >= _GSM_PCHAN_MAX) - return -EINVAL; - switch (pchan) { case GSM_PCHAN_TCH_F: fn_mod = translate_tch_meas_rep_fn104(fn % 104); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6d20d7cba49cc8b6d1dc2192598ca372b7d2c5bf Gerrit-Change-Number: 24527 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 20:29:06 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Jun 2021 20:29:06 +0000 Subject: Change in osmo-bts[master]: common/vty: facilitate finding duplicate PHY/TRX associations 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-bts/+/24289 to look at the new patch set (#2). Change subject: common/vty: facilitate finding duplicate PHY/TRX associations ...................................................................... common/vty: facilitate finding duplicate PHY/TRX associations In cfg_trx_phy_cmd(), use phy_instance_link_to_trx() and ensure that a PHY instance can be bound to a transceiver only once. Change-Id: I132e08fc496abef278b94254cebfac7a4285a7c2 --- M src/common/phy_link.c M src/common/vty.c 2 files changed, 9 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/89/24289/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I132e08fc496abef278b94254cebfac7a4285a7c2 Gerrit-Change-Number: 24289 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 20:45:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Jun 2021 20:45:25 +0000 Subject: Change in osmo-bts[master]: [VAMOS] trx_sched_init_ts(): assign names to per-timeslot counters 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/+/24592 to look at the new patch set (#3). Change subject: [VAMOS] trx_sched_init_ts(): assign names to per-timeslot counters ...................................................................... [VAMOS] trx_sched_init_ts(): assign names to per-timeslot counters Thanks to [1], it's now possible to associate a human-readable name with a rate counter group. Before this API, we had to use weird index values for each timeslot, and with introduction of the shadow timeslots the situation got even worse. Change-Id: Ie872ab37661fa5d44f219f59c7daaa1033113289 Depends: [1] I0dc510783dd9ae8436dae8005a7b3330e80d36f3 Related: SYS#4895, OS#4941 --- M TODO-RELEASE M src/common/scheduler.c 2 files changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/92/24592/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24592 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie872ab37661fa5d44f219f59c7daaa1033113289 Gerrit-Change-Number: 24592 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 20:51:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Jun 2021 20:51:26 +0000 Subject: Change in osmocom-bb[master]: host/layer23/ccch_scan: skip CCCH frames with wrong length 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/osmocom-bb/+/24627 to look at the new patch set (#3). Change subject: host/layer23/ccch_scan: skip CCCH frames with wrong length ...................................................................... host/layer23/ccch_scan: skip CCCH frames with wrong length It's not clear why do we get frames with unexpected length, but we definitely should not crash. Just log and ignore them. Change-Id: I85392becbffdb3ba7365decfd8f3769abe3c02c7 Related: OS#5171 --- M src/host/layer23/src/misc/app_ccch_scan.c 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/27/24627/3 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24627 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I85392becbffdb3ba7365decfd8f3769abe3c02c7 Gerrit-Change-Number: 24627 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 9 20:51:39 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Jun 2021 20:51:39 +0000 Subject: Change in osmocom-bb[master]: host/layer23/ccch_scan: skip CCCH frames with wrong length In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24627 ) Change subject: host/layer23/ccch_scan: skip CCCH frames with wrong length ...................................................................... Patch Set 3: > Patch Set 2: > > Perhaps use osmo_hexdump in the log messages to find out how they look? Done. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24627 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I85392becbffdb3ba7365decfd8f3769abe3c02c7 Gerrit-Change-Number: 24627 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Jun 2021 20:51:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 10:10:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Jun 2021 10:10:27 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24374 ) Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... Patch Set 20: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 20 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 10:10:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 10:12:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Jun 2021 10:12:34 +0000 Subject: Change in osmo-bts[master]: common/vty: facilitate finding duplicate PHY/TRX associations In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24289 ) Change subject: common/vty: facilitate finding duplicate PHY/TRX associations ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I132e08fc496abef278b94254cebfac7a4285a7c2 Gerrit-Change-Number: 24289 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 10:12: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 Jun 10 10:13:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Jun 2021 10:13:22 +0000 Subject: Change in osmo-bts[master]: [VAMOS] trx_sched_init_ts(): assign names to per-timeslot counters In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24592 ) Change subject: [VAMOS] trx_sched_init_ts(): assign names to per-timeslot counters ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24592 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie872ab37661fa5d44f219f59c7daaa1033113289 Gerrit-Change-Number: 24592 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 10:13: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 Jun 10 10:13:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Jun 2021 10:13:46 +0000 Subject: Change in osmocom-bb[master]: host/layer23/ccch_scan: skip CCCH frames with wrong length In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24627 ) Change subject: host/layer23/ccch_scan: skip CCCH frames with wrong length ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24627 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I85392becbffdb3ba7365decfd8f3769abe3c02c7 Gerrit-Change-Number: 24627 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 10:13:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 10:15:50 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 10 Jun 2021 10:15:50 +0000 Subject: Change in libosmocore[master]: utils: introduce osmo_talloc_replace_string_fmt() In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24598 ) Change subject: utils: introduce osmo_talloc_replace_string_fmt() ...................................................................... Patch Set 1: Code-Review+1 (2 comments) looks ok to me but a docstring should be added because if it is missing the function would not appear in the apidoc? I don't know I never looked at the generated apidoc. https://gerrit.osmocom.org/c/libosmocore/+/24598/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmocore/+/24598/1//COMMIT_MSG at 7 PS1, Line 7: utils: introduce osmo_talloc_replace_string_fmt() maybe dropping a line about what osmo_talloc_replace_string_fmt() is useful for would be good. At the moment I do not get what's the advantage over using talloc_vsprintf() directly. https://gerrit.osmocom.org/c/libosmocore/+/24598/1/include/osmocom/core/utils.h File include/osmocom/core/utils.h: https://gerrit.osmocom.org/c/libosmocore/+/24598/1/include/osmocom/core/utils.h at 119 PS1, Line 119: a docstring might be helpful, even if it is just for completeness. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24598 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6b84fa0525555a98c531fc558e5dc1298fec00c1 Gerrit-Change-Number: 24598 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 10:15: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 Thu Jun 10 10:17:35 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 10 Jun 2021 10:17:35 +0000 Subject: Change in osmocom-bb[master]: host/layer23/ccch_scan: skip CCCH frames with wrong length In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24627 ) Change subject: host/layer23/ccch_scan: skip CCCH frames with wrong length ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24627 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I85392becbffdb3ba7365decfd8f3769abe3c02c7 Gerrit-Change-Number: 24627 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 10:17: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 Jun 10 10:27:24 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 10 Jun 2021 10:27:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: ignore other RSL messages in function f_TC_paging() In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24623 ) Change subject: BTS: ignore other RSL messages in function f_TC_paging() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24623 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I18b879235c6eefb2dd89a3f4502b0830efeac6bb Gerrit-Change-Number: 24623 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 10:27: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 Jun 10 10:29:37 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 10 Jun 2021 10:29:37 +0000 Subject: Change in osmo-bts[master]: [VAMOS] trx_sched_init_ts(): assign names to per-timeslot counters In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24592 ) Change subject: [VAMOS] trx_sched_init_ts(): assign names to per-timeslot counters ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24592 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie872ab37661fa5d44f219f59c7daaa1033113289 Gerrit-Change-Number: 24592 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 10:29:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 10:37:31 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 10 Jun 2021 10:37:31 +0000 Subject: Change in osmo-bts[master]: common/vty: facilitate finding duplicate PHY/TRX associations In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24289 ) Change subject: common/vty: facilitate finding duplicate PHY/TRX associations ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24289/2/src/common/phy_link.c File src/common/phy_link.c: https://gerrit.osmocom.org/c/osmo-bts/+/24289/2/src/common/phy_link.c at 121 PS2, Line 121: /* There might already be an associated TRX */ maybe add some comment about the fact that the VTY will not call this function when a trx is already associated with this instance. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I132e08fc496abef278b94254cebfac7a4285a7c2 Gerrit-Change-Number: 24289 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 10:37:31 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 10:39:24 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 10 Jun 2021 10:39:24 +0000 Subject: Change in osmo-bts[master]: vty: ensure all warning messages are prefixed with '%%' In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24290 ) Change subject: vty: ensure all warning messages are prefixed with '%%' ...................................................................... Patch Set 2: Code-Review+2 I have the feeling that this is also inconsistent in other osmo projects. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I23fc1cd8aa5725de06651f061c9fce6a022adfa8 Gerrit-Change-Number: 24290 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 10:39: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 Jun 10 10:40:38 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 10 Jun 2021 10:40:38 +0000 Subject: Change in osmo-bts[master]: osmo-bts-octphy: drop talloc_replace(), use osmo_talloc_replace_string() In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24597 ) Change subject: osmo-bts-octphy: drop talloc_replace(), use osmo_talloc_replace_string() ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24597 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ied39cc594fedc712d751ab1c7b636bbbff527bd6 Gerrit-Change-Number: 24597 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 10:40:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 10:42:52 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 10 Jun 2021 10:42:52 +0000 Subject: Change in libosmocore[master]: ns2: use same name in ctr_group as stat_item_group In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24636 ) Change subject: ns2: use same name in ctr_group as stat_item_group ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24636 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7d2dcb6c7ddf72a0d06ff19f5d0e3dc740bd19ff Gerrit-Change-Number: 24636 Gerrit-PatchSet: 1 Gerrit-Owner: iedemam Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 10:42: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 Jun 10 10:45:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Jun 2021 10:45:28 +0000 Subject: Change in libosmocore[master]: ipaccess: Add new osmo extension IPAC_PROTO_EXT_PCU In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24614 ) Change subject: ipaccess: Add new osmo extension IPAC_PROTO_EXT_PCU ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24614 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I68b04def49946b6915dbd4e476999f249751cd28 Gerrit-Change-Number: 24614 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 10 Jun 2021 10:45:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 10:45:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Jun 2021 10:45:31 +0000 Subject: Change in libosmocore[master]: bts_feature: Introduce feature to speak to PCU In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24615 ) Change subject: bts_feature: Introduce feature to speak to PCU ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id62421f7f5540875ac877a187757f2cf0556bd02 Gerrit-Change-Number: 24615 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 10 Jun 2021 10:45:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 10:48:25 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 10 Jun 2021 10:48:25 +0000 Subject: Change in osmo-bts[master]: rsl: Use switch statement in rsl_rx_bcch_info() In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24616 ) Change subject: rsl: Use switch statement in rsl_rx_bcch_info() ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I27774ca36d1e740b6a502cfb280aba0ea82b9dbe Gerrit-Change-Number: 24616 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 10 Jun 2021 10: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 Jun 10 10:51:14 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 10 Jun 2021 10:51:14 +0000 Subject: Change in libosmo-sccp[master]: cosmetic: xua_asp_fsm.c: reorder functions in file In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24637 ) Change subject: cosmetic: xua_asp_fsm.c: reorder functions in file ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24637 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic143db3dda48750effddaa0cafadf960f5b5c38c Gerrit-Change-Number: 24637 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 10 Jun 2021 10:51: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 Jun 10 10:58:51 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 10 Jun 2021 10:58:51 +0000 Subject: Change in osmo-msc[master]: vty: a5/4 support In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24632 ) Change subject: vty: a5/4 support ...................................................................... Patch Set 1: Code-Review+1 Looks good, but it looks like if the vty tests need an update: Expect: ' encryption a5 <0-3> [<0-3>] [<0-3>] [<0-3>]' Got: ' encryption a5 <0-4> [<0-4>] [<0-4>] [<0-4>] [<0-4>]' -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5b46aaa8579f8d069ca39caf996a8795ffe63dd7 Gerrit-Change-Number: 24632 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 10:58: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 Jun 10 10:59:33 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 10 Jun 2021 10:59:33 +0000 Subject: Change in osmo-ci[master]: repo-install-test: debian blacklist: add 2x -doc In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24610 ) Change subject: repo-install-test: debian blacklist: add 2x -doc ...................................................................... Abandoned no longer needed, armv7l repos are disabled and duplicate pkgs are gone (see OS#5165) -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24610 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I86d12a88bf5a00bafb6623635a702bae57813c47 Gerrit-Change-Number: 24610 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 11:50:11 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 10 Jun 2021 11:50:11 +0000 Subject: Change in osmocom-bb[master]: host/layer23/ccch_scan: skip CCCH frames with wrong length In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24627 ) Change subject: host/layer23/ccch_scan: skip CCCH frames with wrong length ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24627 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I85392becbffdb3ba7365decfd8f3769abe3c02c7 Gerrit-Change-Number: 24627 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 11:50: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 Thu Jun 10 11:50:14 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 10 Jun 2021 11:50:14 +0000 Subject: Change in osmocom-bb[master]: host/layer23/ccch_scan: skip CCCH frames with wrong length In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24627 ) Change subject: host/layer23/ccch_scan: skip CCCH frames with wrong length ...................................................................... host/layer23/ccch_scan: skip CCCH frames with wrong length It's not clear why do we get frames with unexpected length, but we definitely should not crash. Just log and ignore them. Change-Id: I85392becbffdb3ba7365decfd8f3769abe3c02c7 Related: OS#5171 --- M src/host/layer23/src/misc/app_ccch_scan.c 1 file changed, 7 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 fixeria: Looks good to me, approved diff --git a/src/host/layer23/src/misc/app_ccch_scan.c b/src/host/layer23/src/misc/app_ccch_scan.c index be2d9ae..e5a184f 100644 --- a/src/host/layer23/src/misc/app_ccch_scan.c +++ b/src/host/layer23/src/misc/app_ccch_scan.c @@ -409,6 +409,13 @@ struct gsm48_system_information_type_header *sih = msgb_l3(msg); int rc = 0; + /* Skip frames with wrong length */ + if (msgb_l3len(msg) != GSM_MACBLOCK_LEN) { + LOGP(DRR, LOGL_ERROR, "Rx CCCH message with odd length=%u: %s\n", + msgb_l3len(msg), msgb_hexdump_l3(msg)); + return -EINVAL; + } + /* Skip dummy (fill) frames */ if (is_fill_frame(msg)) return 0; -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24627 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I85392becbffdb3ba7365decfd8f3769abe3c02c7 Gerrit-Change-Number: 24627 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 11:50:31 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 10 Jun 2021 11:50:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: ignore other RSL messages in function f_TC_paging() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24623 ) Change subject: BTS: ignore other RSL messages in function f_TC_paging() ...................................................................... BTS: ignore other RSL messages in function f_TC_paging() Recent changes [1] to osmo-bts make it periodically send the RF RESource INDication messages for each transceiver over the A-bis/RSL. These messages block the queue of 'RSL_CCHAN' port and make the paging related test cases fail. Ignore them. Change-Id: I18b879235c6eefb2dd89a3f4502b0830efeac6bb Related: [1] Id80fdbef087de625149755165c025c0a9563dc85 Related: SYS#5313, OS#1569 --- M bts/BTS_Tests.ttcn 1 file 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/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index ee5258c..547ada2 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -3597,6 +3597,8 @@ /* FIXME: analyze/verify interval + contents */ repeat; } + /* ignore other RSL messages like RF RESource INDication */ + [] RSL_CCHAN.receive { repeat; } /* check if paging requests arrive on Um side */ [] as_l1_count_paging(st.num_paging_rcv_msgs, st.num_paging_rcv_ids, cfg); [] L1CTL.receive { repeat; } @@ -3645,6 +3647,8 @@ /* 65535 == empty paging queue, we can terminate*/ [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND(65535))) { } [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND)) { repeat; } + /* ignore other RSL messages like RF RESource INDication */ + [] RSL_CCHAN.receive { repeat; } [] T_wait.timeout { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Waiting for empty paging queue"); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24623 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I18b879235c6eefb2dd89a3f4502b0830efeac6bb Gerrit-Change-Number: 24623 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 11:51:08 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 10 Jun 2021 11:51:08 +0000 Subject: Change in osmo-bts[master]: [VAMOS] trx_sched_init_ts(): assign names to per-timeslot counters In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24592 ) Change subject: [VAMOS] trx_sched_init_ts(): assign names to per-timeslot counters ...................................................................... [VAMOS] trx_sched_init_ts(): assign names to per-timeslot counters Thanks to [1], it's now possible to associate a human-readable name with a rate counter group. Before this API, we had to use weird index values for each timeslot, and with introduction of the shadow timeslots the situation got even worse. Change-Id: Ie872ab37661fa5d44f219f59c7daaa1033113289 Depends: [1] I0dc510783dd9ae8436dae8005a7b3330e80d36f3 Related: SYS#4895, OS#4941 --- M TODO-RELEASE M src/common/scheduler.c 2 files changed, 7 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/TODO-RELEASE b/TODO-RELEASE index 82f25d6..aa0b2fd 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -3,3 +3,4 @@ update libosmo-abis dependency to > 1.1.1 for osmo_rtp_socket_set_priority() update libosmo-abis dependency to > 1.1.1 for new e1_input vty commands for DSCP + priority update libosmocore dependency to > 1.5.1-73-g524b4f80 for osmo_bts_features_desc() +update libosmocore dependency to > 1.5.1-133-g09f075fa for name in (struct rate_ctr_group) diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 3ab94a2..0e1f495 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -611,6 +611,7 @@ { struct l1sched_ts *l1ts; unsigned int i; + char name[128]; l1ts = talloc_zero(ts->trx, struct l1sched_ts); OSMO_ASSERT(l1ts != NULL); @@ -622,6 +623,11 @@ l1ts->ctrs = rate_ctr_group_alloc(ts->trx, &l1sched_ts_ctrg_desc, rate_ctr_idx); + snprintf(name, sizeof(name), "bts%u-trx%u-ts%u%s", + ts->trx->bts->nr, ts->trx->nr, ts->nr, + ts->vamos.is_shadow ? "-shadow" : ""); + rate_ctr_group_set_name(l1ts->ctrs, name); + INIT_LLIST_HEAD(&l1ts->dl_prims); for (i = 0; i < ARRAY_SIZE(l1ts->chan_state); i++) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24592 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie872ab37661fa5d44f219f59c7daaa1033113289 Gerrit-Change-Number: 24592 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 11:53:06 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 10 Jun 2021 11:53:06 +0000 Subject: Change in osmo-bts[master]: common/vty: facilitate finding duplicate PHY/TRX associations In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24289 ) Change subject: common/vty: facilitate finding duplicate PHY/TRX associations ...................................................................... Patch Set 2: Code-Review+2 (1 comment) 1+1 https://gerrit.osmocom.org/c/osmo-bts/+/24289/2/src/common/phy_link.c File src/common/phy_link.c: https://gerrit.osmocom.org/c/osmo-bts/+/24289/2/src/common/phy_link.c at 121 PS2, Line 121: /* There might already be an associated TRX */ > maybe add some comment about the fact that the VTY will not call this function when a trx is already [?] Well, assert() itself implies that nobody should call this function when pinst is already associated with a trx instance... -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I132e08fc496abef278b94254cebfac7a4285a7c2 Gerrit-Change-Number: 24289 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 11:53:06 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 11:53:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 10 Jun 2021 11:53:25 +0000 Subject: Change in osmo-bts[master]: common/vty: facilitate finding duplicate PHY/TRX associations In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24289 ) Change subject: common/vty: facilitate finding duplicate PHY/TRX associations ...................................................................... common/vty: facilitate finding duplicate PHY/TRX associations In cfg_trx_phy_cmd(), use phy_instance_link_to_trx() and ensure that a PHY instance can be bound to a transceiver only once. Change-Id: I132e08fc496abef278b94254cebfac7a4285a7c2 --- M src/common/phy_link.c M src/common/vty.c 2 files changed, 9 insertions(+), 2 deletions(-) Approvals: fixeria: Looks good to me, approved dexter: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/common/phy_link.c b/src/common/phy_link.c index 7743c22..5ad72ac 100644 --- a/src/common/phy_link.c +++ b/src/common/phy_link.c @@ -118,6 +118,8 @@ void phy_instance_link_to_trx(struct phy_instance *pinst, struct gsm_bts_trx *trx) { + /* There might already be an associated TRX */ + OSMO_ASSERT(pinst->trx == NULL) trx->pinst = pinst; pinst->trx = trx; } diff --git a/src/common/vty.c b/src/common/vty.c index 8a1bafc..e9a168f 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -987,8 +987,13 @@ return CMD_WARNING; } - trx->pinst = pinst; - pinst->trx = trx; + if (pinst->trx != NULL) { + vty_out(vty, "phy%s instance %s is already bound to %s%s", + argv[0], argv[1], gsm_trx_name(pinst->trx), VTY_NEWLINE); + return CMD_WARNING; + } + + phy_instance_link_to_trx(pinst, trx); return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I132e08fc496abef278b94254cebfac7a4285a7c2 Gerrit-Change-Number: 24289 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 11:53:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 10 Jun 2021 11:53:25 +0000 Subject: Change in osmo-bts[master]: vty: ensure all warning messages are prefixed with '%%' In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24290 ) Change subject: vty: ensure all warning messages are prefixed with '%%' ...................................................................... vty: ensure all warning messages are prefixed with '%%' Change-Id: I23fc1cd8aa5725de06651f061c9fce6a022adfa8 --- M src/common/vty.c 1 file changed, 13 insertions(+), 13 deletions(-) Approvals: laforge: Looks good to me, approved dexter: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/common/vty.c b/src/common/vty.c index e9a168f..039e929 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -94,14 +94,14 @@ struct phy_instance *pinst; if (!plink) { - vty_out(vty, "Cannot find PHY link number %d%s", + vty_out(vty, "%% Cannot find PHY link number %d%s", phy_nr, VTY_NEWLINE); return NULL; } pinst = phy_instance_by_num(plink, inst_nr); if (!pinst) { - vty_out(vty, "Cannot find PHY instance number %d%s", + vty_out(vty, "%% Cannot find PHY instance number %d%s", inst_nr, VTY_NEWLINE); return NULL; } @@ -559,19 +559,19 @@ end = atoi(argv[1]); if (end < start) { - vty_out(vty, "range end port (%u) must be greater than the range start port (%u)!%s", + vty_out(vty, "%% Range end port (%u) must be greater than the range start port (%u)!%s", end, start, VTY_NEWLINE); return CMD_WARNING; } if (start & 1) { - vty_out(vty, "range must begin at an even port number! (%u not even)%s", + vty_out(vty, "%% Range must begin at an even port number! (%u is odd)%s", start, VTY_NEWLINE); return CMD_WARNING; } if ((end & 1) == 0) { - vty_out(vty, "range must end at an odd port number! (%u not odd)%s", + vty_out(vty, "%% Range must end at an odd port number! (%u is even)%s", end, VTY_NEWLINE); return CMD_WARNING; } @@ -952,11 +952,11 @@ * has been ripped out in favour of the common implementation. Configuration files * may still contain 'dsp', so let's be tolerant and override 'dsp' by 'osmo'. */ if (trx->bts->variant == BTS_OSMO_TRX && vty->type == VTY_FILE) { - vty_out(vty, "BTS model 'osmo-bts-trx' has no DSP/HW MS Power Control support, " + vty_out(vty, "%% BTS model 'osmo-bts-trx' has no DSP/HW MS Power Control support, " "consider updating your configuration file!%s", VTY_NEWLINE); soft = true; /* override */ } else { - vty_out(vty, "This BTS model has no DSP/HW MS Power Control support%s", VTY_NEWLINE); + vty_out(vty, "%% This BTS model has no DSP/HW MS Power Control support%s", VTY_NEWLINE); return CMD_WARNING; } } @@ -975,20 +975,20 @@ struct phy_instance *pinst; if (!plink) { - vty_out(vty, "phy%s does not exist%s", + vty_out(vty, "%% phy%s does not exist%s", argv[0], VTY_NEWLINE); return CMD_WARNING; } pinst = phy_instance_by_num(plink, atoi(argv[1])); if (!pinst) { - vty_out(vty, "phy%s instance %s does not exit%s", + vty_out(vty, "%% phy%s instance %s does not exit%s", argv[0], argv[1], VTY_NEWLINE); return CMD_WARNING; } if (pinst->trx != NULL) { - vty_out(vty, "phy%s instance %s is already bound to %s%s", + vty_out(vty, "%% phy%s instance %s is already bound to %s%s", argv[0], argv[1], gsm_trx_name(pinst->trx), VTY_NEWLINE); return CMD_WARNING; } @@ -2054,7 +2054,7 @@ if (!pinst) { pinst = phy_instance_create(plink, inst_nr); if (!pinst) { - vty_out(vty, "Unable to create phy%u instance %u%s", + vty_out(vty, "%% Unable to create phy%u instance %u%s", plink->num, inst_nr, VTY_NEWLINE); return CMD_WARNING; } @@ -2077,7 +2077,7 @@ pinst = phy_instance_by_num(plink, inst_nr); if (!pinst) { - vty_out(vty, "No such instance %u%s", inst_nr, VTY_NEWLINE); + vty_out(vty, "%% No such instance %u%s", inst_nr, VTY_NEWLINE); return CMD_WARNING; } @@ -2097,7 +2097,7 @@ struct phy_link *plink = vty->index; if (plink->state != PHY_LINK_SHUTDOWN) { - vty_out(vty, "Cannot change type of active PHY%s", VTY_NEWLINE); + vty_out(vty, "%% Cannot change type of active PHY%s", VTY_NEWLINE); return CMD_WARNING; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I23fc1cd8aa5725de06651f061c9fce6a022adfa8 Gerrit-Change-Number: 24290 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 12:13:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Jun 2021 12:13:36 +0000 Subject: Change in libosmo-sccp[master]: ipa_asp_fsm: Support server starting handshake with ID_GET or ID_ACK In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24638 ) Change subject: ipa_asp_fsm: Support server starting handshake with ID_GET or ID_ACK ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24638 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ie9968ce8cd8582deb583024ff3e46736a07883fe Gerrit-Change-Number: 24638 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 10 Jun 2021 12:13:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 12:13:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Jun 2021 12:13:38 +0000 Subject: Change in libosmo-sccp[master]: cosmetic: xua_asp_fsm.c: reorder functions in file In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24637 ) Change subject: cosmetic: xua_asp_fsm.c: reorder functions in file ...................................................................... cosmetic: xua_asp_fsm.c: reorder functions in file Reorder functions to follow usual order in FSM files: 1- structs and helper functions 2- for each state: first _oneneter, then the action func 3- generic state fsm functions (timers, all_state) 4- struct osmo_fsm_state 5- FSM allocator and public functions Change-Id: Ic143db3dda48750effddaa0cafadf960f5b5c38c --- M src/xua_asp_fsm.c 1 file changed, 44 insertions(+), 36 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve dexter: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/xua_asp_fsm.c b/src/xua_asp_fsm.c index dd1dddb..e4fb928 100644 --- a/src/xua_asp_fsm.c +++ b/src/xua_asp_fsm.c @@ -338,6 +338,21 @@ [XUA_ASP_E_ASPSM_BEAT] = XUA_ASP_E_ASPSM_BEAT_ACK, }; +/* Helper function to dispatch an ASP->AS event to all AS of which this + * ASP is a memmber. Ignores routing contexts for now. */ +static void dispatch_to_all_as(struct osmo_fsm_inst *fi, uint32_t event) +{ + struct xua_asp_fsm_priv *xafp = fi->priv; + struct osmo_ss7_asp *asp = xafp->asp; + struct osmo_ss7_instance *inst = asp->inst; + struct osmo_ss7_as *as; + + llist_for_each_entry(as, &inst->as_list, list) { + if (!osmo_ss7_as_has_asp(as, asp)) + continue; + osmo_fsm_inst_dispatch(as->fi, event, asp); + } +} /* check if expected message was received + stop t_ack */ static void check_stop_t_ack(struct osmo_fsm_inst *fi, uint32_t event) @@ -381,6 +396,16 @@ } \ } while(0) + +/*************** +** FSM states ** +***************/ + +static void xua_asp_fsm_down_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + dispatch_to_all_as(fi, XUA_ASPAS_ASP_DOWN_IND); +} + static void xua_asp_fsm_down(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct xua_asp_fsm_priv *xafp = fi->priv; @@ -436,25 +461,9 @@ } } -/* Helper function to dispatch an ASP->AS event to all AS of which this - * ASP is a memmber. Ignores routing contexts for now. */ -static void dispatch_to_all_as(struct osmo_fsm_inst *fi, uint32_t event) +static void xua_asp_fsm_inactive_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) { - struct xua_asp_fsm_priv *xafp = fi->priv; - struct osmo_ss7_asp *asp = xafp->asp; - struct osmo_ss7_instance *inst = asp->inst; - struct osmo_ss7_as *as; - - llist_for_each_entry(as, &inst->as_list, list) { - if (!osmo_ss7_as_has_asp(as, asp)) - continue; - osmo_fsm_inst_dispatch(as->fi, event, asp); - } -} - -static void xua_asp_fsm_down_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) -{ - dispatch_to_all_as(fi, XUA_ASPAS_ASP_DOWN_IND); + dispatch_to_all_as(fi, XUA_ASPAS_ASP_INACTIVE_IND); } static void xua_asp_fsm_inactive(struct osmo_fsm_inst *fi, uint32_t event, void *data) @@ -571,9 +580,9 @@ } } -static void xua_asp_fsm_inactive_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +static void xua_asp_fsm_active_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) { - dispatch_to_all_as(fi, XUA_ASPAS_ASP_INACTIVE_IND); + dispatch_to_all_as(fi, XUA_ASPAS_ASP_ACTIVE_IND); } static void xua_asp_fsm_active(struct osmo_fsm_inst *fi, uint32_t event, void *data) @@ -652,11 +661,6 @@ } } -static void xua_asp_fsm_active_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) -{ - dispatch_to_all_as(fi, XUA_ASPAS_ASP_ACTIVE_IND); -} - static void xua_asp_allstate(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct xua_asp_fsm_priv *xafp = fi->priv; @@ -850,6 +854,10 @@ return ofd->fd; } +/*************** +** FSM states ** +***************/ + /* Server + Client: Initial State, wait for M-ASP-UP.req */ static void ipa_asp_fsm_down(struct osmo_fsm_inst *fi, uint32_t event, void *data) { @@ -999,6 +1007,12 @@ } } +static void ipa_asp_fsm_active_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + dispatch_to_all_as(fi, XUA_ASPAS_ASP_INACTIVE_IND); + dispatch_to_all_as(fi, XUA_ASPAS_ASP_ACTIVE_IND); +} + /* Server + Client: We're actively transmitting user data */ static void ipa_asp_fsm_active(struct osmo_fsm_inst *fi, uint32_t event, void *data) { @@ -1010,6 +1024,11 @@ } } +static void ipa_asp_fsm_inactive_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + dispatch_to_all_as(fi, XUA_ASPAS_ASP_INACTIVE_IND); +} + static void ipa_asp_fsm_inactive(struct osmo_fsm_inst *fi, uint32_t event, void *data) { switch (event) { @@ -1046,17 +1065,6 @@ } } -static void ipa_asp_fsm_active_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) -{ - dispatch_to_all_as(fi, XUA_ASPAS_ASP_INACTIVE_IND); - dispatch_to_all_as(fi, XUA_ASPAS_ASP_ACTIVE_IND); -} - -static void ipa_asp_fsm_inactive_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) -{ - dispatch_to_all_as(fi, XUA_ASPAS_ASP_INACTIVE_IND); -} - static void ipa_pong_timer_cb(void *_fi) { struct osmo_fsm_inst *fi = _fi; -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24637 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic143db3dda48750effddaa0cafadf960f5b5c38c Gerrit-Change-Number: 24637 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 12:13:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Jun 2021 12:13:38 +0000 Subject: Change in libosmo-sccp[master]: ipa_asp_fsm: Support server starting handshake with ID_GET or ID_ACK In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24638 ) Change subject: ipa_asp_fsm: Support server starting handshake with ID_GET or ID_ACK ...................................................................... ipa_asp_fsm: Support server starting handshake with ID_GET or ID_ACK The behavior here since to have changed at least a couple times in history, always apparently breaking some compatibility: * libosmo-sccp.git a0dd986f5506ee8a625e827bc029d1aa962b6f65 (SCCPLite MSC sends IPA ID ACK at startup) [10th July 2018] * libosmo-sccp.git 9c0fae14d105b64ec9e8ff7322fa4aca782e54d1 (Reverts back to sending IPA ID GET at startup [29th April 2021] * osmo-ttcn3-hacks.git 3bf31d216a18c1d6a6e298a592f873beea322939 (Changes server emulation to send IPA ID ACK when BSC connects to it) [24th August 2018) So it seems the proper way is to start handshake: CLI <- SRV: IPA ID GET CLI -> SRV: IPA ID RESP CLI <- SRV: IPA ID ACK CLI -> SRV: IPA ID ACK However, it seems some SCCPLite MSCs (acting as IPA srv) skip the first ID GET + ID RESP handshake and go directly for ACKs: CLI <- SRV: IPA ID ACK CLI -> SRV: IPA ID ACK So, let's make everybody happy and support both cases in the client FSM. If server sends us IPA ID ACK first, simply send back an IPA ID ACK and be done with it, otherwise if it sends us an IPA ID GET, go for the full handshake. Change-Id: Ie9968ce8cd8582deb583024ff3e46736a07883fe --- M src/xua_asp_fsm.c 1 file changed, 15 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/xua_asp_fsm.c b/src/xua_asp_fsm.c index e4fb928..5fe1d80 100644 --- a/src/xua_asp_fsm.c +++ b/src/xua_asp_fsm.c @@ -964,6 +964,7 @@ struct msgb *msg_get, *msg_resp; const uint8_t *req_data; int data_len; + int fd; switch (event) { case IPA_ASP_E_ID_GET: @@ -986,6 +987,16 @@ osmo_ss7_asp_send(asp, msg_resp); osmo_fsm_inst_state_chg(fi, IPA_ASP_S_WAIT_ID_ACK, 10, T_WAIT_ID_ACK); break; + case IPA_ASP_E_ID_ACK: + /* Some SCCPLite MSCs are known to send an ACK directly instead + * of GET. Support them and skip the GET+RESP handshake by + * sending ACK2 to server directly */ + fd = get_fd_from_iafp(iafp); + if (fd >= 0) { + ipaccess_send_id_ack(fd); + osmo_fsm_inst_state_chg(fi, IPA_ASP_S_ACTIVE, 0, 0); + } + break; } } @@ -1114,8 +1125,10 @@ }, /* Client Side */ [IPA_ASP_S_WAIT_ID_GET] = { - .in_event_mask = S(IPA_ASP_E_ID_GET), - .out_state_mask = S(IPA_ASP_S_WAIT_ID_ACK), + .in_event_mask = S(IPA_ASP_E_ID_GET) | + S(IPA_ASP_E_ID_ACK), /* support broken MSCs skipping GET+RESP */ + .out_state_mask = S(IPA_ASP_S_WAIT_ID_ACK) | + S(IPA_ASP_S_ACTIVE), /* support broken MSCs skipping GET+RESP */ .name = "WAIT_ID_GET", .action = ipa_asp_fsm_wait_id_get, }, -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24638 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ie9968ce8cd8582deb583024ff3e46736a07883fe Gerrit-Change-Number: 24638 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 12:14:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Jun 2021 12:14:22 +0000 Subject: Change in osmo-bts[master]: rsl: Use switch statement in rsl_rx_bcch_info() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24616 ) Change subject: rsl: Use switch statement in rsl_rx_bcch_info() ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I27774ca36d1e740b6a502cfb280aba0ea82b9dbe Gerrit-Change-Number: 24616 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 10 Jun 2021 12:14: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 Jun 10 12:18:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Jun 2021 12:18:51 +0000 Subject: Change in libosmocore[master]: ipaccess: Add new osmo extension IPAC_PROTO_EXT_PCU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24614 ) Change subject: ipaccess: Add new osmo extension IPAC_PROTO_EXT_PCU ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24614 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I68b04def49946b6915dbd4e476999f249751cd28 Gerrit-Change-Number: 24614 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 10 Jun 2021 12:18:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 12:19:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Jun 2021 12:19:10 +0000 Subject: Change in libosmocore[master]: bts_feature: Introduce feature to speak to PCU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24615 ) Change subject: bts_feature: Introduce feature to speak to PCU ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id62421f7f5540875ac877a187757f2cf0556bd02 Gerrit-Change-Number: 24615 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 10 Jun 2021 12:19: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 Jun 10 12:20:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Jun 2021 12:20:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sgsn a54 tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24629 ) Change subject: sgsn a54 tests ...................................................................... Patch Set 1: ACK to both of dexters comments -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iad65cbf9840aa883cb34e53554b94a4142c82638 Gerrit-Change-Number: 24629 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 10 Jun 2021 12:20:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 12:21:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Jun 2021 12:21:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc a54 tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24630 ) Change subject: bsc a54 tests ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24630 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4940d06b55824936b94f97649401b691339c2e7d Gerrit-Change-Number: 24630 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 10 Jun 2021 12:21: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 Jun 10 12:24:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Jun 2021 12:24:55 +0000 Subject: Change in osmo-sgsn[master]: add support for multiple encryption algorithms and a5/4 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 ) Change subject: add support for multiple encryption algorithms and a5/4 ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-sgsn/+/24304/2/src/sgsn/sgsn_vty.c File src/sgsn/sgsn_vty.c: https://gerrit.osmocom.org/c/osmo-sgsn/+/24304/2/src/sgsn/sgsn_vty.c at 732 PS2, Line 732: (GEA0-4) [GEA0-4] [GEA0-4] [GEA0-4] [GEA0-4] > The whole point here was to stay compatible with the existing syntax and not introduce a legacy comm [?] I think even the existing command is broken in the sense that the upper-case tokens will not be "tokens"and hence tab completion doesn't work. The tokens should always have been lower-case. But as we are changing this anyway, I would suggest to do it properly now, and keep some backwards legacy compat command to load old configs. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Gerrit-Change-Number: 24304 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 12:24:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: Hoernchen 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 Thu Jun 10 12:25:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Jun 2021 12:25:31 +0000 Subject: Change in osmo-bsc[master]: hodec2: implement upgrade TCH/H -> TCH/F (without AFS bias) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24607 ) Change subject: hodec2: implement upgrade TCH/H -> TCH/F (without AFS bias) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24607 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id40d1cf8b58410c7d4eb87407fe8b8106e352438 Gerrit-Change-Number: 24607 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 12:25: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 Jun 10 12:30:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Jun 2021 12:30:32 +0000 Subject: Change in osmo-bsc[master]: hodec2: don't apply AFS bias to same-cell lchans In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24608 ) Change subject: hodec2: don't apply AFS bias to same-cell lchans ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24608/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/24608/1//COMMIT_MSG at 12 PS1, Line 12: - same-cell lchans obviously have identical rxlev; > last two times i asked myself the same questions, the answer was that the BCCH is only transmitted o [?] you are all correct: * different TRX (== ARFCN in non-hopping case) can experience [slightly] different path loss as their frequency differs slightly, and the cable losses and antenna gain are slightly frequency dependent. But I would expect this to be less than 2dB, which is in any case the tolerance for errors in the UE measurement process. * neighbor channel measurements are always performed on the BCCH carrier (FCCH + SCH detection, optionally also BCCH decoding). So you will never get a measurement for anything != the BCCH carrying TRX, which is TRX0 in our case * different ARFCN definitely experience different interference and hence differen RxQual. Hoewver, there is no RxQual reporting of neighbors. And even if there was, it would be on TRX0==BCCH and not on other channels. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I315f24123ae016887ab91666870ce252e096f90f Gerrit-Change-Number: 24608 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 12:30:32 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes 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 Thu Jun 10 12:33:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Jun 2021 12:33:21 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24374 ) Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... Patch Set 20: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24374/20/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24374/20/src/osmo-bsc/abis_rsl.c at 506 PS20, Line 506: struct rsl_osmo_training_sequence_ie { > that's the weird thing about our RSL implementation: we have the protocol TLV list and IE defines an [?] To stay consisten with the existing code base, the truct definition should be in include/osmocom/gsm/protocol/gsm_08_58.h. Thisis just the struct definition and not about encoder/decoder functions. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 20 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 12:33: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 Thu Jun 10 12:34:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Jun 2021 12:34:18 +0000 Subject: Change in osmo-bsc[master]: VTY: add lchan re-assignment command In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24381 ) Change subject: VTY: add lchan re-assignment command ...................................................................... Patch Set 28: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If006f5caaf83b07675f57e5665cfa79328da55e6 Gerrit-Change-Number: 24381 Gerrit-PatchSet: 28 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 12:34: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 Jun 10 12:34:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Jun 2021 12:34:48 +0000 Subject: Change in osmo-bsc[master]: gsm_data.h: add comments about immutable activ/modif/assign request info In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24611 ) Change subject: gsm_data.h: add comments about immutable activ/modif/assign request info ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24611 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7997b802d997073ae6a05db2f40e82cb8e83764f Gerrit-Change-Number: 24611 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 12:34:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 12:37:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Jun 2021 12:37:32 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: report interference levels to the upper layers In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24613 ) Change subject: osmo-bts-trx: report interference levels to the upper layers ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24613/1/include/osmo-bts/scheduler.h File include/osmo-bts/scheduler.h: https://gerrit.osmocom.org/c/osmo-bts/+/24613/1/include/osmo-bts/scheduler.h at 138 PS1, Line 138: struct l1sched_meas_set buf[8]; /* up to 8 entries */ > Maybe replacing the 8 with a define constant makes sense? unless that magic number is repeated later in the code (I didn't see that) it is ok. Using 8 here and ARRAY_SIZE() later is perfectly fine, as the size is defined in a single place in the code and not multiple places. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4686448e42a40df56c1d27a14fd0a4d43fd144a5 Gerrit-Change-Number: 24613 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 12:37:32 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 12:40:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Jun 2021 12:40:29 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: do not crash when lco/sdp can not be generated In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24182 ) Change subject: mgcp_client: do not crash when lco/sdp can not be generated ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24182/3/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24182/3/src/libosmo-mgcp-client/mgcp_client.c at 1352 PS3, Line 1352: rc_lco == -2 > You cannot guarantee EINVAL is different that a given negative value, since errno numbers can change [?] you can simply return -ENOBUFS or some other errno value, whcih are guaranteed to be different from both -EINVAL and your magic -2. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb788343e0bec9c0eaf33e6e4727d4d36c100017 Gerrit-Change-Number: 24182 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 12:40:29 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 12:40:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Jun 2021 12:40:41 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: drop nunnecessary else statement In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24602 ) Change subject: mgcp_client: drop nunnecessary else statement ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I96d0d468ccab302f9add206164f4d5b1b768bb48 Gerrit-Change-Number: 24602 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 12:40: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 Jun 10 12:42:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Jun 2021 12:42:38 +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 1: (1 comment) assigning this to our resident handover guru neels 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) > that's not used for vty here right? I guess it can be static. Ack -- 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: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 12:42:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 12:46:33 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 10 Jun 2021 12:46:33 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: report interference levels to the upper layers In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24613 ) Change subject: osmo-bts-trx: report interference levels to the upper layers ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24613/1/include/osmo-bts/scheduler.h File include/osmo-bts/scheduler.h: https://gerrit.osmocom.org/c/osmo-bts/+/24613/1/include/osmo-bts/scheduler.h at 138 PS1, Line 138: struct l1sched_meas_set buf[8]; /* up to 8 entries */ > unless that magic number is repeated later in the code (I didn't see that) it is ok. [?] This buffer was here before and not related to this change at all. I just moved the comments, because I am adding more fields to this structure. Anyway, it's 8 because the scheduler can buffer up to 8 bursts (TCH/F). Once we introduce CSD, where the bits can be distributed over 22 (!) bursts, we will increase this number. https://gerrit.osmocom.org/c/osmo-bts/+/24613/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/24613/1/src/common/scheduler.c at 1494 PS1, Line 1494: if (bi->chan >= TRXC_TCHF) > Doing the comparison with a >= sounds a bit dangerous since it relies on the order of the items in t [?] I'll introduce a macro in the new patchset, thanks! -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4686448e42a40df56c1d27a14fd0a4d43fd144a5 Gerrit-Change-Number: 24613 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 12:46:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 12:47:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Jun 2021 12:47:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Tests: add test case TC_sns_bss_add_change_del In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24580 ) Change subject: NS_Tests: add test case TC_sns_bss_add_change_del ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibc565bba4c7e0a0b4dd28a48847dbdb998c8528d Gerrit-Change-Number: 24580 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 12:47:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 12:47:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Jun 2021 12:47:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Tests: add test case TC_sns_bss_add_change_del In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24580 ) Change subject: NS_Tests: add test case TC_sns_bss_add_change_del ...................................................................... NS_Tests: add test case TC_sns_bss_add_change_del 1. do SNS configuration 2. add a bind 3. receive the SNS_ADD 4. before answering the SNS_ADD, change the weight via vty and remove the bind Related: OS#5036 Change-Id: Ibc565bba4c7e0a0b4dd28a48847dbdb998c8528d --- M ns/NS_Tests.ttcn 1 file changed, 47 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/ns/NS_Tests.ttcn b/ns/NS_Tests.ttcn index 3971f0d..8bbb43c 100644 --- a/ns/NS_Tests.ttcn +++ b/ns/NS_Tests.ttcn @@ -580,6 +580,52 @@ f_clean_ns_codec(); } +/* 1. do SNS configuration + * 2. add a bind + * 3. receive the SNS_ADD + * 4. before answering the SNS_ADD, change the weight via vty and remove the bind + */ +testcase TC_sns_bss_add_change_del() runs on RAW_Test_CT { + var PDU_NS rx; + var NSVCConfiguration nsvc_cfg; + + g_handle_rx_alive := true; + f_init_vty(); + f_init_ns_codec(mp_nsconfig); + f_init_ns_codec(mp_nsconfig, 1); + f_incoming_sns_size(); + f_incoming_sns_config(); + f_outgoing_sns_config(); + activate(as_rx_alive_tx_ack()); + f_vty_config2(NSVTY, {"ns", "nse " & int2str(g_nsconfig.nsei)}, "ip-sns-bind local2"); + + /* rx SNS ADD */ + nsvc_cfg := g_nsconfig.nsvc[1]; + if (nsvc_cfg.provider.ip.address_family == AF_INET) { + var template (omit) IP4_Elements v4_elem := { ts_SNS_IPv4(nsvc_cfg.provider.ip.remote_ip, + nsvc_cfg.provider.ip.remote_udp_port, + 1, 1) }; + rx := f_ns_exp(tr_SNS_ADD(g_nsconfig.nsei, ?, v4 := v4_elem), 0); + } else { + var template (omit) IP6_Elements v6_elem := { ts_SNS_IPv6(nsvc_cfg.provider.ip.remote_ip, + nsvc_cfg.provider.ip.remote_udp_port, + 1, 1) }; + rx := f_ns_exp(tr_SNS_ADD(g_nsconfig.nsei, ?, omit, v6_elem), 0); + } + + /* delete the endpoint */ + f_vty_config2(NSVTY, {"ns", "bind udp local2"}, "ip-sns signalling-weight 99 data-weight 99"); + f_vty_config2(NSVTY, {"ns", "nse " & int2str(g_nsconfig.nsei)}, "no ip-sns-bind local2"); + + /* accept the SNS_ADD */ + NSCP[0].send(ts_SNS_ACK(g_nsconfig.nsei, rx.pDU_SNS_Add.transactionID)); + + f_incoming_sns_chg_weight(idx_chg := 1); + f_incoming_sns_del(idx_del := 1, w_sig := 99, w_user := 99); + setverdict(pass); + f_clean_ns_codec(); +} + control { if (mp_dialect == NS2_DIALECT_STATIC_RESETBLOCK or mp_dialect == NS2_DIALECT_IPACCESS) { execute( TC_tx_reset() ); @@ -629,6 +675,7 @@ execute( TC_sns_bss_change_weight_timeout() ); execute( TC_sns_bss_add() ); execute( TC_sns_bss_del() ); + execute( TC_sns_bss_add_change_del() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibc565bba4c7e0a0b4dd28a48847dbdb998c8528d Gerrit-Change-Number: 24580 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 12:50:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Jun 2021 12:50:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 ) Change subject: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface ...................................................................... Patch Set 4: Code-Review+1 (1 comment) fine with me, really just the minor question if we need a separate function for setting an argument to null. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401/4/library/NS_Provider_IPL4.ttcn File library/NS_Provider_IPL4.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401/4/library/NS_Provider_IPL4.ttcn at 219 PS4, Line 219: f_nspip_add_nsvc2 I'm a bit surprised we need this extra function. Is it not legal to pass "null" as vc_nsvc argument to f_nsip_add_nsvc() ? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iafd9310e04066958914201da0cbdcd563bd5c976 Gerrit-Change-Number: 24401 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 10 Jun 2021 12:50:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 12:50:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Jun 2021 12:50:46 +0000 Subject: Change in libosmocore[master]: ctrl: Pre-calculate required size before allocating msgb References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24639 ) Change subject: ctrl: Pre-calculate required size before allocating msgb ...................................................................... ctrl: Pre-calculate required size before allocating msgb This commit fixes crash when response is more than ~4096 chars. Furthermore, we now allocate only the required memory, not 4096 for all messages, which usually don't require it. Test needs to be adapted since it assumed there was more available space at the end of the msgb. Related: OS#5169 Change-Id: I0b8f370f7b08736207f9efed13a0663b5e482824 --- M src/ctrl/control_cmd.c M tests/ctrl/ctrl_test.c 2 files changed, 34 insertions(+), 62 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/39/24639/1 diff --git a/src/ctrl/control_cmd.c b/src/ctrl/control_cmd.c index 33496bd..753e6cc 100644 --- a/src/ctrl/control_cmd.c +++ b/src/ctrl/control_cmd.c @@ -516,92 +516,61 @@ * \returns callee-allocated message buffer containing the encoded \a cmd; NULL on error */ struct msgb *ctrl_cmd_make(struct ctrl_cmd *cmd) { - struct msgb *msg; + struct msgb *msg = NULL; + char *strbuf; + size_t len; const char *type; - char *tmp; if (!cmd->id) return NULL; - msg = msgb_alloc_headroom(4096, 128, "ctrl command make"); - if (!msg) - return NULL; - type = get_value_string(ctrl_type_vals, cmd->type); switch (cmd->type) { case CTRL_TYPE_GET: if (!cmd->variable) - goto err; - - tmp = talloc_asprintf(cmd, "%s %s %s", type, cmd->id, cmd->variable); - if (!tmp) { - LOGP(DLCTRL, LOGL_ERROR, "Failed to allocate cmd.\n"); - goto err; - } - - msg->l2h = msgb_put(msg, strlen(tmp)); - memcpy(msg->l2h, tmp, strlen(tmp)); - talloc_free(tmp); + return NULL; + strbuf = talloc_asprintf(cmd, "%s %s %s", type, cmd->id, cmd->variable); break; case CTRL_TYPE_SET: if (!cmd->variable || !cmd->value) - goto err; - - tmp = talloc_asprintf(cmd, "%s %s %s %s", type, cmd->id, cmd->variable, - cmd->value); - if (!tmp) { - LOGP(DLCTRL, LOGL_ERROR, "Failed to allocate cmd.\n"); - goto err; - } - - msg->l2h = msgb_put(msg, strlen(tmp)); - memcpy(msg->l2h, tmp, strlen(tmp)); - talloc_free(tmp); + return NULL; + strbuf = talloc_asprintf(cmd, "%s %s %s %s", type, cmd->id, + cmd->variable, cmd->value); break; case CTRL_TYPE_GET_REPLY: case CTRL_TYPE_SET_REPLY: case CTRL_TYPE_TRAP: if (!cmd->variable || !cmd->reply) - goto err; - - tmp = talloc_asprintf(cmd, "%s %s %s %s", type, cmd->id, cmd->variable, - cmd->reply); - if (!tmp) { - LOGP(DLCTRL, LOGL_ERROR, "Failed to allocate cmd.\n"); - goto err; - } - - msg->l2h = msgb_put(msg, strlen(tmp)); - memcpy(msg->l2h, tmp, strlen(tmp)); - talloc_free(tmp); + return NULL; + strbuf = talloc_asprintf(cmd, "%s %s %s %s", type, cmd->id, + cmd->variable, cmd->reply); break; case CTRL_TYPE_ERROR: if (!cmd->reply) - goto err; - - tmp = talloc_asprintf(cmd, "%s %s %s", type, cmd->id, - cmd->reply); - if (!tmp) { - LOGP(DLCTRL, LOGL_ERROR, "Failed to allocate cmd.\n"); - goto err; - } - - msg->l2h = msgb_put(msg, strlen(tmp)); - memcpy(msg->l2h, tmp, strlen(tmp)); - talloc_free(tmp); + return NULL; + strbuf = talloc_asprintf(cmd, "%s %s %s", type, cmd->id, cmd->reply); break; default: LOGP(DLCTRL, LOGL_NOTICE, "Unknown command type %i\n", cmd->type); - goto err; - break; + return NULL; } - return msg; + if (!strbuf) { + LOGP(DLCTRL, LOGL_ERROR, "Failed to allocate cmd.\n"); + goto ret; + } + len = strlen(strbuf); -err: - msgb_free(msg); - return NULL; + msg = msgb_alloc_headroom(len + 128, 128, "ctrl ERROR command make"); + if (!msg) + goto ret; + msg->l2h = msgb_put(msg, len); + memcpy(msg->l2h, strbuf, len); + +ret: + talloc_free(strbuf); + return msg; } /*! Build a deferred control command state and keep it the per-connection list of deferred commands. diff --git a/tests/ctrl/ctrl_test.c b/tests/ctrl/ctrl_test.c index b46e9ac..01fb9f7 100644 --- a/tests/ctrl/ctrl_test.c +++ b/tests/ctrl/ctrl_test.c @@ -117,11 +117,14 @@ } else { struct msgb *sent_msg = msgb_dequeue(&ccon->write_queue.msg_queue); OSMO_ASSERT(sent_msg); - msgb_put_u8(sent_msg, 0); - printf("replied: '%s'\n", osmo_escape_str((char*)msgb_l2(sent_msg), -1)); + char *strbuf = talloc_size(sent_msg, msgb_l2len(sent_msg) + 1); + memcpy(strbuf, msgb_l2(sent_msg), msgb_l2len(sent_msg)); + strbuf[msgb_l2len(sent_msg)] = '\0'; + + printf("replied: '%s'\n", osmo_escape_str(strbuf, -1)); OSMO_ASSERT(t->reply_str); - OSMO_ASSERT(!strcmp(t->reply_str, (char*)msgb_l2(sent_msg))); + OSMO_ASSERT(!strcmp(t->reply_str, strbuf)); msgb_free(sent_msg); } osmo_wqueue_clear(&ccon->write_queue); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0b8f370f7b08736207f9efed13a0663b5e482824 Gerrit-Change-Number: 24639 Gerrit-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 Jun 10 12:50:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Jun 2021 12:50:46 +0000 Subject: Change in libosmocore[master]: ctrl: Support recovering from short write References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24640 ) Change subject: ctrl: Support recovering from short write ...................................................................... ctrl: Support recovering from short write osmo_wqueue has support for it, so simply handle it correctly in the callback (updating buffer and returning -EAGAIN). Related: OS#5169 Change-Id: I6cbc7ec6ae6832e61cddf4402332ba09b142a7d4 --- M src/ctrl/control_if.c 1 file changed, 7 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/40/24640/1 diff --git a/src/ctrl/control_if.c b/src/ctrl/control_if.c index d117fcf..0a893ba 100644 --- a/src/ctrl/control_if.c +++ b/src/ctrl/control_if.c @@ -489,8 +489,14 @@ control_close_conn(ccon); return -EBADF; } - if (rc != msg->len) + if (rc < 0) { LOGP(DLCTRL, LOGL_ERROR, "Failed to write message to the CTRL connection.\n"); + return 0; + } + if (rc < msg->len) { + msgb_pull(msg, rc); + return -EAGAIN; + } return 0; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6cbc7ec6ae6832e61cddf4402332ba09b142a7d4 Gerrit-Change-Number: 24640 Gerrit-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 Jun 10 12:50:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Jun 2021 12:50:46 +0000 Subject: Change in libosmocore[master]: msgb_alloc_headroom: Validate size arg fits a uint16_t References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24641 ) Change subject: msgb_alloc_headroom: Validate size arg fits a uint16_t ...................................................................... msgb_alloc_headroom: Validate size arg fits a uint16_t Underlaying APIs (msgb_alloc) use a uint16_t as a type, which means until now passing a value > 2^16 would succeed providing a msgb with less space than requested. Since those are static inline, there's no symbols used by apps, so we should be safe enough changing the type to be uint16_t, since change would only be applied at re-compile time. Change-Id: I83c8222484e4856c68134a1a9d8cf96eb91af1b8 --- M include/osmocom/core/msgb.h 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/41/24641/1 diff --git a/include/osmocom/core/msgb.h b/include/osmocom/core/msgb.h index cc76e3a..df796c9 100644 --- a/include/osmocom/core/msgb.h +++ b/include/osmocom/core/msgb.h @@ -524,7 +524,7 @@ * followed by \ref msgb_reserve in order to create a new \ref msgb with * user-specified amount of headroom. */ -static inline struct msgb *msgb_alloc_headroom_c(const void *ctx, int size, int headroom, +static inline struct msgb *msgb_alloc_headroom_c(const void *ctx, uint16_t size, uint16_t headroom, const char *name) { osmo_static_assert(size >= headroom, headroom_bigger); @@ -546,7 +546,7 @@ * followed by \ref msgb_reserve in order to create a new \ref msgb with * user-specified amount of headroom. */ -static inline struct msgb *msgb_alloc_headroom(int size, int headroom, +static inline struct msgb *msgb_alloc_headroom(uint16_t size, uint16_t headroom, const char *name) { osmo_static_assert(size >= headroom, headroom_bigger); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I83c8222484e4856c68134a1a9d8cf96eb91af1b8 Gerrit-Change-Number: 24641 Gerrit-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 Jun 10 12:54:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Jun 2021 12:54:00 +0000 Subject: Change in libosmocore[master]: msgb_alloc_headroom: Change size args to be uint16_t In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/libosmocore/+/24641 ) Change subject: msgb_alloc_headroom: Change size args to be uint16_t ...................................................................... msgb_alloc_headroom: Change size args to be uint16_t Underlaying APIs (msgb_alloc) use a uint16_t as a type, which means until now passing a value > 2^16 would succeed providing a msgb with less space than requested. Since those are static inline, there's no symbols used by apps, so we should be safe enough changing the type to be uint16_t, since change would only be applied at re-compile time. Change-Id: I83c8222484e4856c68134a1a9d8cf96eb91af1b8 --- M include/osmocom/core/msgb.h 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/41/24641/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I83c8222484e4856c68134a1a9d8cf96eb91af1b8 Gerrit-Change-Number: 24641 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 Jun 10 12:57:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Jun 2021 12:57:02 +0000 Subject: Change in libosmocore[master]: ns2: use same name in ctr_group as stat_item_group In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24636 ) Change subject: ns2: use same name in ctr_group as stat_item_group ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24636 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7d2dcb6c7ddf72a0d06ff19f5d0e3dc740bd19ff Gerrit-Change-Number: 24636 Gerrit-PatchSet: 1 Gerrit-Owner: iedemam Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 12: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 Jun 10 12:57:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Jun 2021 12:57:04 +0000 Subject: Change in libosmocore[master]: ns2: use same name in ctr_group as stat_item_group In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24636 ) Change subject: ns2: use same name in ctr_group as stat_item_group ...................................................................... ns2: use same name in ctr_group as stat_item_group Change-Id: I7d2dcb6c7ddf72a0d06ff19f5d0e3dc740bd19ff --- M src/gb/gprs_ns2.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: 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 Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index a57f577..618d55e 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -606,6 +606,7 @@ bind->nsi->nsvc_rate_ctr_idx++; + rate_ctr_group_set_name(nsvc->ctrg, id); osmo_stat_item_group_set_name(nsvc->statg, id); llist_add(&nsvc->list, &nse->nsvc); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24636 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7d2dcb6c7ddf72a0d06ff19f5d0e3dc740bd19ff Gerrit-Change-Number: 24636 Gerrit-PatchSet: 2 Gerrit-Owner: iedemam Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria 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 Thu Jun 10 12:58:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Jun 2021 12:58:18 +0000 Subject: Change in osmo-bts[master]: rsl: Use switch statement in rsl_rx_bcch_info() In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24616 ) Change subject: rsl: Use switch statement in rsl_rx_bcch_info() ...................................................................... rsl: Use switch statement in rsl_rx_bcch_info() This is a preparation for new commit, which makes it easier to add new SIs being sent. Change-Id: I27774ca36d1e740b6a502cfb280aba0ea82b9dbe --- M src/common/rsl.c 1 file changed, 18 insertions(+), 12 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve dexter: 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 516e609..7f9af84 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -456,6 +456,7 @@ enum osmo_sysinfo_type osmo_si; struct gsm48_system_information_type_2quater *si2q; struct bitvec bv; + const uint8_t *si_buf; rsl_tlv_parse(&tp, msgb_l3(msg), msgb_l3len(msg)); /* 9.3.30 System Info Type */ @@ -518,7 +519,8 @@ bts->si_valid |= (1 << osmo_si); - if (SYSINFO_TYPE_3 == osmo_si) { + switch (osmo_si) { + case SYSINFO_TYPE_3: if (trx->nr == 0 && num_agch(trx, "RSL") != 1) { lchan_deactivate(&trx->bts->c0->ts[0].lchan[CCCH_LCHAN]); /* will be reactivated by sapi_deactivate_cb() */ @@ -526,29 +528,33 @@ LCHAN_REL_ACT_REACT; } /* decode original SI3 Rest Octets as sent by BSC */ - const uint8_t *si3_ro_buf = (uint8_t *) GSM_BTS_SI(bts, osmo_si); - si3_ro_buf += offsetof(struct gsm48_system_information_type_3, rest_octets); - osmo_gsm48_rest_octets_si3_decode(&bts->si3_ro_decoded, si3_ro_buf); + si_buf = (const uint8_t *) GSM_BTS_SI(bts, osmo_si); + si_buf += offsetof(struct gsm48_system_information_type_3, rest_octets); + osmo_gsm48_rest_octets_si3_decode(&bts->si3_ro_decoded, si_buf); /* patch out GPRS indicator from binary if PCU is not connected; will be enabled * after PCU connects */ regenerate_si3_restoctets(bts); pcu_tx_si(trx->bts, SYSINFO_TYPE_3, true); - } else if (SYSINFO_TYPE_4 == osmo_si) { + break; + case SYSINFO_TYPE_4: /* decode original SI4 Rest Octets as sent by BSC */ - const uint8_t *si4 = (uint8_t *) GSM_BTS_SI(bts, osmo_si); - int si4_ro_offset = get_si4_ro_offset(si4); + si_buf = (const uint8_t *) GSM_BTS_SI(bts, osmo_si); + int si4_ro_offset = get_si4_ro_offset(si_buf); if (si4_ro_offset > 0) { osmo_gsm48_rest_octets_si4_decode(&bts->si4_ro_decoded, - si4 + si4_ro_offset, + si_buf + si4_ro_offset, GSM_MACBLOCK_LEN - si4_ro_offset); /* patch out GPRS indicator from binary if PCU is not connected; will be * enabled after PCU connects */ regenerate_si4_restoctets(bts); } - } else if (SYSINFO_TYPE_13 == osmo_si) { - pcu_tx_si(trx->bts, SYSINFO_TYPE_13, true); - } else if (SYSINFO_TYPE_1 == osmo_si) { - pcu_tx_si(trx->bts, SYSINFO_TYPE_1, true); + break; + case SYSINFO_TYPE_1: + case SYSINFO_TYPE_13: + pcu_tx_si(trx->bts, osmo_si, true); + break; + default: + break; } } else if (TLVP_PRESENT(&tp, RSL_IE_L3_INFO)) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I27774ca36d1e740b6a502cfb280aba0ea82b9dbe Gerrit-Change-Number: 24616 Gerrit-PatchSet: 4 Gerrit-Owner: pespin 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 Thu Jun 10 13:27:05 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 10 Jun 2021 13:27:05 +0000 Subject: Change in libosmocore[master]: ctrl: Support recovering from short write In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24640 ) Change subject: ctrl: Support recovering from short write ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24640/1/src/ctrl/control_if.c File src/ctrl/control_if.c: https://gerrit.osmocom.org/c/libosmocore/+/24640/1/src/ctrl/control_if.c at 494 PS1, Line 494: return 0; Are you sure about returning 0 here? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6cbc7ec6ae6832e61cddf4402332ba09b142a7d4 Gerrit-Change-Number: 24640 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 10 Jun 2021 13:27: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 Jun 10 13:42:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 10 Jun 2021 13:42:25 +0000 Subject: Change in libosmocore[master]: msgb_alloc_headroom: Change size args to be uint16_t In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24641 ) Change subject: msgb_alloc_headroom: Change size args to be uint16_t ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I83c8222484e4856c68134a1a9d8cf96eb91af1b8 Gerrit-Change-Number: 24641 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 10 Jun 2021 13:42: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 Jun 10 14:16:05 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 14:16:05 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode 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/+/24374 to look at the new patch set (#21). Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... implement Channel Mode Modify to VAMOS mode Put a (primary) lchan in VAMOS speech mode. This is not yet about activating shadow lchans, this merely puts any lchan in a VAMOS capable channel- and speech mode. Protocol: In RR Channel Mode Modify, send a spec conforming VAMOS channel mode as well as an Extended TSC Set, wich adds the TSC Set to the training sequence code value. In RSL MODE MODIFY, send Osmocom specific extensions to indicate the TSC Set and TSC, as well as the VAMOS channel mode; only to OsmoBTS type cells. - Set the Channel Mode's Channel Rate to Osmocom specific RSL_CMOD_CRT_OSMO_TCH_VAMOS_Bm / RSL_CMOD_CRT_OSMO_TCH_VAMOS_Lm - Add the Osmocom specific Training Sequence IE containing both TSC Set and TSC. (These are documented in the Abis manual.) Implementation: The internal API to request a Mode Modify is lchan_modify(info). Add to this info the 'vamos' bool, set to true when the modification should put the lchan in VAMOS channel mode or not. When info.vamos == true, make sure the channel mode value is a VAMOS one: in the copy of info->ch_mode_rate at lchan->modify.ch_mode_rate, convert to the right VAMOS/non-VAMOS equivalent channel mode. When the modification is through, set lchan->vamos.enabled appropriately. This patch also builds on Ic665125255d7354f5499d10dda1dd866ab243d24 'allow explixit TSC Set and TSC on chan activ / modif / assignment' placing tsc_set and tsc values in the TSC related IEs. Related: SYS#5315 OS#4940 Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/lchan_fsm.c 4 files changed, 53 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/74/24374/21 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 21 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 Thu Jun 10 14:20:57 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 14:20:57 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24374 ) Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... Patch Set 21: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24374/21/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24374/21/src/osmo-bsc/abis_rsl.c at 515 PS21, Line 515: } i reconsidered the struct rsl_osmo_training_sequence_ie, and decided for this function instead. The function includes the conversion of the tsc_set value with comments: reduces this code dup. More appropriate for just two plain octets. (the function is up here because it will later be used b rsl_tx_chan_activ() as well) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 21 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 14:20:57 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 14:35:45 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 14:35:45 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24374 ) Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... Patch Set 21: Code-Review+2 re-add previous votes after trivial change. last review was addressed (or if not good enough can be changed later without problems) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 21 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 14: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 Thu Jun 10 14:35:58 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 14:35:58 +0000 Subject: Change in osmo-bsc[master]: implement CHANnel ACTIVate to VAMOS mode In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24375 to look at the new patch set (#21). Change subject: implement CHANnel ACTIVate to VAMOS mode ...................................................................... implement CHANnel ACTIVate to VAMOS mode Related: SYS#5315 OS#4940 Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec --- 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 M tests/osmo-bsc.vty 5 files changed, 54 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/75/24375/21 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec Gerrit-Change-Number: 24375 Gerrit-PatchSet: 21 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter 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 Jun 10 14:36:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Jun 2021 14:36:09 +0000 Subject: Change in libosmocore[master]: make use of OTC_GLOBAL when allocating library-internal contexts In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/13338 ) Change subject: make use of OTC_GLOBAL when allocating library-internal contexts ...................................................................... Patch Set 23: (3 comments) https://gerrit.osmocom.org/c/libosmocore/+/13338/23/src/gsm/lapd_core.c File src/gsm/lapd_core.c: https://gerrit.osmocom.org/c/libosmocore/+/13338/23/src/gsm/lapd_core.c at 257 PS23, Line 257: __thread void *tall_lapd_ctx; > I'd say adding __thread here is actually a different fix/commit. Ack https://gerrit.osmocom.org/c/libosmocore/+/13338/23/src/gsm/lapdm.c File src/gsm/lapdm.c: https://gerrit.osmocom.org/c/libosmocore/+/13338/23/src/gsm/lapdm.c at 129 PS23, Line 129: extern __thread void *tall_lapd_ctx; > same (__thread) Ack https://gerrit.osmocom.org/c/libosmocore/+/13338/23/src/signal.c File src/signal.c: https://gerrit.osmocom.org/c/libosmocore/+/13338/23/src/signal.c at 42 PS23, Line 42: static void *tall_sigh_ctx2; > why not reuse the tall_sigh_ctx and make it static once we get rid of its use in openbsc? because we always want to be abl to build old applications against new libosmocore libraries. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/13338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I48f475efd3ee0d5120b8fc30861e852d1a6920b1 Gerrit-Change-Number: 13338 Gerrit-PatchSet: 23 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 14:36:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 14:36:34 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 14:36:34 +0000 Subject: Change in osmo-bsc[master]: implement CHANnel ACTIVate to VAMOS mode In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24375 ) Change subject: implement CHANnel ACTIVate to VAMOS mode ...................................................................... Patch Set 21: Code-Review+2 re-add previous votes after trivial change from merge conflict -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec Gerrit-Change-Number: 24375 Gerrit-PatchSet: 21 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 14:36:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 14:50:37 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 14:50:37 +0000 Subject: Change in libosmocore[master]: msgb_alloc_headroom: Change size args to be uint16_t In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24641 ) Change subject: msgb_alloc_headroom: Change size args to be uint16_t ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24641/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmocore/+/24641/2//COMMIT_MSG at 10 PS2, Line 10: until now passing a value > 2^16 would succeed providing a msgb with probably >= 2^16 So how does any behavior change with this patch? You still can't pass any values >= 2^16. What exactly is the problem the patch is solving? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I83c8222484e4856c68134a1a9d8cf96eb91af1b8 Gerrit-Change-Number: 24641 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: neels Gerrit-Comment-Date: Thu, 10 Jun 2021 14:50: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 Thu Jun 10 14:53:09 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 14:53:09 +0000 Subject: Change in libosmocore[master]: ctrl: Support recovering from short write In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24640 ) Change subject: ctrl: Support recovering from short write ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24640/1/src/ctrl/control_if.c File src/ctrl/control_if.c: https://gerrit.osmocom.org/c/libosmocore/+/24640/1/src/ctrl/control_if.c at 494 PS1, Line 494: return 0; > Are you sure about returning 0 here? I guess it should be if (rc <= 0) because writing zero bytes would also mean a failure to write, and -EAGAIN could theoretically end up infinitely retrying -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6cbc7ec6ae6832e61cddf4402332ba09b142a7d4 Gerrit-Change-Number: 24640 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: neels Gerrit-Comment-Date: Thu, 10 Jun 2021 14:53:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 15:13:41 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:13:41 +0000 Subject: Change in libosmocore[master]: ctrl: Pre-calculate required size before allocating msgb In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24639 ) Change subject: ctrl: Pre-calculate required size before allocating msgb ...................................................................... Patch Set 1: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/24639/1/tests/ctrl/ctrl_test.c File tests/ctrl/ctrl_test.c: https://gerrit.osmocom.org/c/libosmocore/+/24639/1/tests/ctrl/ctrl_test.c at 120 PS1, Line 120: this part seems unrelated to the commit log message. Instead of copying msgb test data to a string to append a trailing \0, just pass the length to osmo_escape_str(msgb_l2(), msgb_l2len()). also: ctrl_test.c applies fixed input to CTRL, is this fixing anything? https://gerrit.osmocom.org/c/libosmocore/+/24639/1/tests/ctrl/ctrl_test.c at 121 PS1, Line 121: char *strbuf = talloc_size(sent_msg, msgb_l2len(sent_msg) + 1); (osmo style would want to declare char *strbuf above the OSMO_ASSERT) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0b8f370f7b08736207f9efed13a0663b5e482824 Gerrit-Change-Number: 24639 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 10 Jun 2021 15:13:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 15:19:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Jun 2021 15:19:05 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24374 ) Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... Patch Set 21: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 21 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 15:19: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 Jun 10 15:20:09 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:20:09 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: report interference levels to the upper layers In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24613 ) Change subject: osmo-bts-trx: report interference levels to the upper layers ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24613/1/include/osmo-bts/scheduler.h File include/osmo-bts/scheduler.h: https://gerrit.osmocom.org/c/osmo-bts/+/24613/1/include/osmo-bts/scheduler.h at 142 PS1, Line 142: int interf_avg; /* sliding average */ (nicer to join both comments in one comment above) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4686448e42a40df56c1d27a14fd0a4d43fd144a5 Gerrit-Change-Number: 24613 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Thu, 10 Jun 2021 15:20: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 Jun 10 15:21:20 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:21:20 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24374 ) Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... implement Channel Mode Modify to VAMOS mode Put a (primary) lchan in VAMOS speech mode. This is not yet about activating shadow lchans, this merely puts any lchan in a VAMOS capable channel- and speech mode. Protocol: In RR Channel Mode Modify, send a spec conforming VAMOS channel mode as well as an Extended TSC Set, wich adds the TSC Set to the training sequence code value. In RSL MODE MODIFY, send Osmocom specific extensions to indicate the TSC Set and TSC, as well as the VAMOS channel mode; only to OsmoBTS type cells. - Set the Channel Mode's Channel Rate to Osmocom specific RSL_CMOD_CRT_OSMO_TCH_VAMOS_Bm / RSL_CMOD_CRT_OSMO_TCH_VAMOS_Lm - Add the Osmocom specific Training Sequence IE containing both TSC Set and TSC. (These are documented in the Abis manual.) Implementation: The internal API to request a Mode Modify is lchan_modify(info). Add to this info the 'vamos' bool, set to true when the modification should put the lchan in VAMOS channel mode or not. When info.vamos == true, make sure the channel mode value is a VAMOS one: in the copy of info->ch_mode_rate at lchan->modify.ch_mode_rate, convert to the right VAMOS/non-VAMOS equivalent channel mode. When the modification is through, set lchan->vamos.enabled appropriately. This patch also builds on Ic665125255d7354f5499d10dda1dd866ab243d24 'allow explixit TSC Set and TSC on chan activ / modif / assignment' placing tsc_set and tsc values in the TSC related IEs. Related: SYS#5315 OS#4940 Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/lchan_fsm.c 4 files changed, 53 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved laforge: Looks good to me, approved diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 2515d7e..7e90579 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -626,6 +626,8 @@ /* TSC to use, or -1 for automatically determining the TSC to use. Valid range is 0 to 7, as described in 3GPP * TS 45.002. */ int tsc; + + bool vamos; }; struct gsm_lchan { @@ -741,6 +743,11 @@ int tsc_set; /* Training Sequence Code in use. The valid range is 0-7 as described in the spec 3GPP TS 45.002. */ uint8_t tsc; + + struct { + /* Whether this lchan is activated/modified into a mode that allows VAMOS multiplexing at this moment */ + bool enabled; + } vamos; }; /* One Timeslot in a TRX */ diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 69052ee..001b1da 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -353,7 +353,8 @@ static int channel_mode_from_lchan(struct rsl_ie_chan_mode *cm, struct gsm_lchan *lchan, - const struct channel_mode_and_rate *ch_mode_rate) + const struct channel_mode_and_rate *ch_mode_rate, + bool vamos) { int rc; memset(cm, 0, sizeof(*cm)); @@ -378,10 +379,10 @@ cm->chan_rt = RSL_CMOD_CRT_SDCCH; break; case GSM_LCHAN_TCH_F: - cm->chan_rt = RSL_CMOD_CRT_TCH_Bm; + cm->chan_rt = vamos ? RSL_CMOD_CRT_OSMO_TCH_VAMOS_Bm : RSL_CMOD_CRT_TCH_Bm; break; case GSM_LCHAN_TCH_H: - cm->chan_rt = RSL_CMOD_CRT_TCH_Lm; + cm->chan_rt = vamos ? RSL_CMOD_CRT_OSMO_TCH_VAMOS_Lm : RSL_CMOD_CRT_TCH_Lm; break; case GSM_LCHAN_NONE: case GSM_LCHAN_UNKNOWN: @@ -502,6 +503,17 @@ } } +/* Write RSL_IE_OSMO_TRAINING_SEQUENCE to msgb. The tsc_set argument's range is 1-4, tsc argument range is 0-7. */ +static void put_osmo_training_sequence_ie(struct msgb *msg, uint8_t tsc_set, uint8_t tsc) +{ + uint8_t *len = msgb_tl_put(msg, RSL_IE_OSMO_TRAINING_SEQUENCE); + *len = 2; + /* Convert from spec conforming "human readable" TSC Set 1-4 to 0-3 on the wire */ + msgb_put_u8(msg, tsc_set - 1); + /* TSC is 0-7 both on the wire and in spec descriptions */ + msgb_put_u8(msg, tsc); +} + /* Chapter 8.4.1 */ int rsl_tx_chan_activ(struct gsm_lchan *lchan, uint8_t act_type, uint8_t ho_ref) { @@ -522,7 +534,7 @@ /* PDCH activation is a job for rsl_tx_dyn_ts_pdch_act_deact(); */ OSMO_ASSERT(act_type != RSL_ACT_OSMO_PDCH); - rc = channel_mode_from_lchan(&cm, lchan, &lchan->activate.info.ch_mode_rate); + rc = channel_mode_from_lchan(&cm, lchan, &lchan->activate.info.ch_mode_rate, false); if (rc < 0) { LOGP(DRSL, LOGL_ERROR, "%s Cannot find channel mode from lchan type\n", @@ -637,7 +649,7 @@ struct rsl_ie_chan_mode cm; struct gsm_bts *bts = lchan->ts->trx->bts; - rc = channel_mode_from_lchan(&cm, lchan, &lchan->modify.ch_mode_rate); + rc = channel_mode_from_lchan(&cm, lchan, &lchan->modify.ch_mode_rate, lchan->modify.info.vamos); if (rc < 0) return rc; @@ -668,6 +680,11 @@ rep_acch_cap_for_bts(lchan, msg); + /* Selecting a specific TSC Set is only applicable to VAMOS mode. Send this Osmocom specific IE only to OsmoBTS + * types. */ + if (lchan->modify.info.vamos && lchan->modify.tsc_set >= 1 && bts->model->type == GSM_BTS_TYPE_OSMOBTS) + put_osmo_training_sequence_ie(msg, lchan->modify.tsc_set, lchan->modify.tsc); + msg->dst = rsl_chan_link(lchan); return abis_rsl_sendmsg(msg); diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 5948e94..518afea 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -702,6 +702,12 @@ } } + if (lchan->modify.info.vamos && lchan->modify.tsc_set > 0) { + /* Add the Extended TSC Set IE. So far we only need a TSC Set sent for VAMOS. + * Convert from spec conforming "human readable" TSC Set 1-4 to 0-3 on the wire */ + msgb_tv_put(msg, GSM48_IE_EXTENDED_TSC_SET, (lchan->modify.tsc_set - 1) & 0x3); + } + return gsm48_sendmsg(msg); } diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index ded4129..0613fcb 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -382,6 +382,16 @@ { OSMO_ASSERT(lchan && info); + if (info->vamos && !osmo_bts_has_feature(&lchan->ts->trx->bts->features, BTS_FEAT_VAMOS)) { + lchan->last_error = talloc_strdup(lchan->ts->trx, "VAMOS related Channel Mode Modify requested," + " but BTS does not support VAMOS"); + LOG_LCHAN(lchan, LOGL_ERROR, + "VAMOS related Channel Mode Modify requested, but BTS %u does not support VAMOS\n", + lchan->ts->trx->bts->nr); + lchan_on_mode_modify_failure(lchan, info->modify_for, lchan->conn); + return; + } + /* To make sure that the lchan is actually allowed to initiate Mode Modify, feed through an FSM event. */ if (osmo_fsm_inst_dispatch(lchan->fi, LCHAN_EV_REQUEST_MODE_MODIFY, info)) { LOG_LCHAN(lchan, LOGL_ERROR, @@ -973,6 +983,7 @@ lchan->current_mr_conf = lchan->modify.mr_conf_filtered; lchan->tsc_set = lchan->modify.tsc_set; lchan->tsc = lchan->modify.tsc; + lchan->vamos.enabled = lchan->modify.info.vamos; if (lchan->modify.info.requires_voice_stream && !lchan->fi_rtp) { @@ -1118,7 +1129,13 @@ use_mgwep_ci = lchan_use_mgw_endpoint_ci_bts(lchan); lchan->modify.ch_mode_rate = lchan->modify.info.ch_mode_rate; - /* future: automatically adjust chan_mode in lchan->modify.ch_mode_rate */ + lchan->modify.ch_mode_rate.chan_mode = (lchan->modify.info.vamos + ? gsm48_chan_mode_to_vamos(lchan->modify.info.ch_mode_rate.chan_mode) + : gsm48_chan_mode_to_non_vamos(lchan->modify.info.ch_mode_rate.chan_mode)); + if (lchan->modify.ch_mode_rate.chan_mode < 0) { + lchan_fail("Invalid chan_mode: %s", gsm48_chan_mode_name(lchan->modify.info.ch_mode_rate.chan_mode)); + return; + } if (gsm48_chan_mode_to_non_vamos(modif_info->ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { if (lchan_mr_config(&lchan->modify.mr_conf_filtered, lchan, modif_info->ch_mode_rate.s15_s0) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 21 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder 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 Thu Jun 10 15:21:21 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:21:21 +0000 Subject: Change in osmo-bsc[master]: vty: add lchan modify '(vamos|non-vamos)' command In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24625 ) Change subject: vty: add lchan modify '(vamos|non-vamos)' command ...................................................................... vty: add lchan modify '(vamos|non-vamos)' command Change-Id: If44c3483d4d3d86f5822c5ad882aaeeaff27e3af --- M src/osmo-bsc/bsc_vty.c M tests/osmo-bsc.vty 2 files changed, 113 insertions(+), 28 deletions(-) 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 724a3b0..79026a1 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -102,6 +102,12 @@ BTS_NR_TRX_TS_STR2 \ "Sub-slot for manual command\n" SS_NR_STR +#define TSC_ARGS_OPT "[tsc] [<1-4>] [<0-7>]" +#define TSC_ARGS_DOC \ + "Provide specific TSC Set and Training Sequence Code\n" \ + "TSC Set\n" \ + "Training Sequence Code\n" + /* FIXME: this should go to some common file */ static const struct value_string gprs_ns_timer_strs[] = { { 0, "tns-block" }, @@ -192,6 +198,34 @@ return CMD_SUCCESS; } +/* resolve a gsm_bts_trx_ts basd on the given numeric identifiers */ +static struct gsm_bts_trx_ts *vty_get_ts(struct vty *vty, const char *bts_str, const char *trx_str, + const char *ts_str) +{ + int bts_nr = atoi(bts_str); + int trx_nr = atoi(trx_str); + int ts_nr = atoi(ts_str); + struct gsm_bts *bts; + struct gsm_bts_trx *trx; + struct gsm_bts_trx_ts *ts; + + 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 NULL; + } + + trx = gsm_bts_trx_num(bts, trx_nr); + if (!trx) { + vty_out(vty, "%% No such TRX (%d)%s", trx_nr, VTY_NEWLINE); + return NULL; + } + + ts = &trx->ts[ts_nr]; + + return ts; +} + static void net_dump_nmstate(struct vty *vty, struct gsm_nm_state *nms) { vty_out(vty,"Oper '%s', Admin '%s', Avail '%s'%s", @@ -1975,6 +2009,21 @@ return CMD_WARNING; } +static int trigger_vamos_mode_modify(struct vty *vty, struct gsm_lchan *lchan, bool vamos, int tsc_set, int tsc) +{ + struct lchan_modify_info info = { + .modify_for = MODIFY_FOR_VTY, + .ch_mode_rate = lchan->current_ch_mode_rate, + .requires_voice_stream = (lchan->fi_rtp != NULL), + .vamos = vamos, + .tsc_set = tsc_set, + .tsc = tsc, + }; + + lchan_mode_modify(lchan, &info); + return CMD_SUCCESS; +} + #define MANUAL_HANDOVER_STR "Manually trigger handover (for debugging)\n" #define MANUAL_ASSIGNMENT_STR "Manually trigger assignment (for debugging)\n" @@ -6023,34 +6072,6 @@ return CMD_SUCCESS; } -/* resolve a gsm_bts_trx_ts basd on the given numeric identifiers */ -static struct gsm_bts_trx_ts *vty_get_ts(struct vty *vty, const char *bts_str, const char *trx_str, - const char *ts_str) -{ - int bts_nr = atoi(bts_str); - int trx_nr = atoi(trx_str); - int ts_nr = atoi(ts_str); - struct gsm_bts *bts; - struct gsm_bts_trx *trx; - struct gsm_bts_trx_ts *ts; - - 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 NULL; - } - - trx = gsm_bts_trx_num(bts, trx_nr); - if (!trx) { - vty_out(vty, "%% No such TRX (%d)%s", trx_nr, VTY_NEWLINE); - return NULL; - } - - ts = &trx->ts[ts_nr]; - - return ts; -} - DEFUN(pdch_act, pdch_act_cmd, "bts <0-255> trx <0-255> timeslot <0-7> pdch (activate|deactivate)", BTS_NR_TRX_TS_STR2 @@ -6421,6 +6442,40 @@ return CMD_SUCCESS; } +DEFUN(vamos_modify_lchan, vamos_modify_lchan_cmd, + "bts <0-255> trx <0-255> timeslot <0-7> sub-slot <0-7> modify (vamos|non-vamos) " TSC_ARGS_OPT, + BTS_NR_TRX_TS_SS_STR2 + "Manually send Channel Mode Modify (for debugging)\n" + "Enable VAMOS channel mode\n" "Disable VAMOS channel mode\n" + TSC_ARGS_DOC) +{ + struct gsm_bts_trx_ts *ts; + struct gsm_lchan *lchan; + int ss_nr = atoi(argv[3]); + const char *vamos_str = argv[4]; + /* argv[5] is the "tsc" string from TSC_ARGS_OPT */ + int tsc_set = (argc > 6) ? atoi(argv[6]) : -1; + int tsc = (argc > 7) ? atoi(argv[7]) : -1; + + ts = vty_get_ts(vty, argv[0], argv[1], argv[2]); + if (!ts) + return CMD_WARNING; + + if (ss_nr >= ts->max_primary_lchans) { + vty_out(vty, "%% Invalid sub-slot number for this timeslot type%s", VTY_NEWLINE); + return CMD_WARNING; + } + + if (!osmo_bts_has_feature(&ts->trx->bts->features, BTS_FEAT_VAMOS)) { + vty_out(vty, "%% BTS does not support VAMOS%s", VTY_NEWLINE); + return CMD_WARNING; + } + + lchan = &ts->lchan[ss_nr]; + + return trigger_vamos_mode_modify(vty, lchan, strcmp(vamos_str, "vamos") == 0, tsc_set, tsc); +} + /* Debug command to send lchans from state LCHAN_ST_UNUSED to state * LCHAN_ST_BORKEN and vice versa. */ DEFUN_HIDDEN(lchan_set_borken, lchan_set_borken_cmd, @@ -7982,6 +8037,7 @@ 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); + install_element(ENABLE_NODE, &vamos_modify_lchan_cmd); install_element(ENABLE_NODE, &lchan_mdcx_cmd); install_element(ENABLE_NODE, &lchan_set_borken_cmd); diff --git a/tests/osmo-bsc.vty b/tests/osmo-bsc.vty index 560fb36..e03ed03 100644 --- a/tests/osmo-bsc.vty +++ b/tests/osmo-bsc.vty @@ -1,5 +1,34 @@ OsmoBSC> enable +OsmoBSC# list +... + bts <0-255> trx <0-255> timeslot <0-7> sub-slot <0-7> modify (vamos|non-vamos) [tsc] [<1-4>] [<0-7>] +... + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 ? + activate Manual Channel Activation (e.g. for BER test) + deactivate Manual Channel Deactivation (e.g. for BER test) + modify Manually send Channel Mode Modify (for debugging) + mdcx Modify RTP Connection + handover Manually trigger handover (for debugging) + assignment Manually trigger assignment (for debugging) + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 modify ? + vamos Enable VAMOS channel mode + non-vamos Disable VAMOS channel mode + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 modify vamos ? + [tsc] Provide specific TSC Set and Training Sequence Code + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 modify vamos tsc ? + [<1-4>] TSC Set + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 modify vamos tsc 1 ? + [<0-7>] Training Sequence Code + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 modify vamos tsc 1 0 ? + + OsmoBSC# configure terminal OsmoBSC(config)# network OsmoBSC(config-net)# list -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24625 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If44c3483d4d3d86f5822c5ad882aaeeaff27e3af Gerrit-Change-Number: 24625 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 Jun 10 15:21:22 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:21:22 +0000 Subject: Change in osmo-bsc[master]: add lchan->vamos.is_secondary flag In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24626 ) Change subject: add lchan->vamos.is_secondary flag ...................................................................... add lchan->vamos.is_secondary flag VAMOS shadow lchans do not exist yet, but add the indicator flag that tells whether an lchan pointer is a primary or a shadow lchan. In Mode Modify: based on the flag, choose a different default TSC Set for shadow lchans; do BTS type compat checking for shadow lchan use. Actual lchans with vamos.is_secondary == true will be introduced by patch: 'add VAMOS secondary lchans to timeslot struct' I928af99498bba488d317693f3144d4fccbbe9af3 Change-Id: I4072fc7703c592df699fe8e27c02df09acde0909 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/lchan_fsm.c 2 files changed, 9 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 7e90579..0670232 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -745,6 +745,10 @@ uint8_t tsc; struct { + /* Whether this lchan represents a secondary "shadow" lchan to multiplex a second MS onto a primary + * "normal" lchan */ + bool is_secondary; + /* Whether this lchan is activated/modified into a mode that allows VAMOS multiplexing at this moment */ bool enabled; } vamos; diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 0613fcb..b486b40 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -382,7 +382,8 @@ { OSMO_ASSERT(lchan && info); - if (info->vamos && !osmo_bts_has_feature(&lchan->ts->trx->bts->features, BTS_FEAT_VAMOS)) { + if ((info->vamos || lchan->vamos.is_secondary) + && !osmo_bts_has_feature(&lchan->ts->trx->bts->features, BTS_FEAT_VAMOS)) { lchan->last_error = talloc_strdup(lchan->ts->trx, "VAMOS related Channel Mode Modify requested," " but BTS does not support VAMOS"); LOG_LCHAN(lchan, LOGL_ERROR, @@ -1145,10 +1146,12 @@ } } + /* If enabling VAMOS mode and no specific TSC Set was selected, make sure to select a sane TSC Set by + * default: Set 1 for the primary and Set 2 for the shadow lchan. For non-VAMOS lchans, TSC Set 1. */ if (lchan->modify.info.tsc_set > 0) lchan->modify.tsc_set = lchan->modify.info.tsc_set; else - lchan->modify.tsc_set = 1; + lchan->modify.tsc_set = lchan->vamos.is_secondary ? 2 : 1; /* Use the TSC provided in the modification request, if any. Otherwise use the timeslot's configured * TSC. */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4072fc7703c592df699fe8e27c02df09acde0909 Gerrit-Change-Number: 24626 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 Jun 10 15:21:22 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:21:22 +0000 Subject: Change in osmo-bsc[master]: vty-test: osmo-bsc.vty: test doc of lchan activate cmd In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24387 ) Change subject: vty-test: osmo-bsc.vty: test doc of lchan activate cmd ...................................................................... vty-test: osmo-bsc.vty: test doc of lchan activate cmd A subsequent patch will add to this VTY command, so let's first test the current status as a baseline. Change-Id: I6379e306fb8fa6ec227125c6cf14893d674e7596 --- M tests/osmo-bsc.vty 1 file changed, 56 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/tests/osmo-bsc.vty b/tests/osmo-bsc.vty index e03ed03..fba2390 100644 --- a/tests/osmo-bsc.vty +++ b/tests/osmo-bsc.vty @@ -29,6 +29,62 @@ OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 modify vamos tsc 1 0 ? + +OsmoBSC# list +... + bts <0-255> trx <0-255> timeslot <0-7> sub-slot <0-7> (activate|deactivate) (hr|fr|efr|amr|sig) [<0-7>] +... + +OsmoBSC# bts? + bts BTS Specific Commands + +OsmoBSC# bts ? + <0-255> BTS Number + +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 + trx TRX for manual command + oml Manipulate the OML managed objects + om2000 Manipulate the OM2000 managed objects + +OsmoBSC# bts 0 trx ? + <0-255> TRX Number + +OsmoBSC# bts 0 trx 0 ? + timeslot Timeslot for manual command + +OsmoBSC# bts 0 trx 0 timeslot ? + <0-7> Timeslot Number + +OsmoBSC# bts 0 trx 0 timeslot 0 ? + pdch Packet Data Channel + sub-slot Sub-slot for manual command + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot ? + <0-7> Sub-slot Number + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 ? + activate Manual Channel Activation (e.g. for BER test) + deactivate Manual Channel Deactivation (e.g. for BER test) + modify Manually send Channel Mode Modify (for debugging) + mdcx Modify RTP Connection + handover Manually trigger handover (for debugging) + assignment Manually trigger assignment (for debugging) + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 activate ? + hr Half-Rate v1 + fr Full-Rate + efr Enhanced Full Rate + amr Adaptive Multi-Rate + sig Signalling + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 activate fr ? + [<0-7>] AMR Mode + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 activate fr 0 ? + + OsmoBSC# configure terminal OsmoBSC(config)# network OsmoBSC(config-net)# list -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6379e306fb8fa6ec227125c6cf14893d674e7596 Gerrit-Change-Number: 24387 Gerrit-PatchSet: 17 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 Thu Jun 10 15:21:22 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:21:22 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: introduce lchan.activate.ch_mode_rate to allow tweaking In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24458 ) Change subject: lchan_fsm: introduce lchan.activate.ch_mode_rate to allow tweaking ...................................................................... lchan_fsm: introduce lchan.activate.ch_mode_rate to allow tweaking lchan->activate.info.ch_mode_rate should remain unchanged, it is the immutable request data. However, for VAMOS, we will want to automatically see that the chan_mode is chosen correctly. As a first step, place a mutable ch_mode_rate copy at lchan->activate.ch_mode_rate, i.e. not in .activate.info, but in .activate. Use that everywhere. This is mostly a non-functional change, preparing for a subsequent patch that adds handling of VAMOS shadow lchans. As side effect of adding lchan_activate_set_ch_mode_rate_and_mr_config() after MODE_MODIF_ACK (enabling the voice stream after a channel mode modify), fix AMR config: the call to lchan_mr_config() was missing. Change-Id: Icc9cc7481b3984fdca34eef49ea91ad3388c06fe --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lchan_rtp_fsm.c 5 files changed, 20 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve neels: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 0670232..61e52f6 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -645,6 +645,7 @@ struct { struct lchan_activate_info info; + struct channel_mode_and_rate ch_mode_rate; struct gsm48_multi_rate_conf mr_conf_filtered; bool activ_ack; /*< true as soon as RSL Chan Activ Ack is received */ bool immediate_assignment_sent; diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 001b1da..40bfcec 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -534,7 +534,7 @@ /* PDCH activation is a job for rsl_tx_dyn_ts_pdch_act_deact(); */ OSMO_ASSERT(act_type != RSL_ACT_OSMO_PDCH); - rc = channel_mode_from_lchan(&cm, lchan, &lchan->activate.info.ch_mode_rate, false); + rc = channel_mode_from_lchan(&cm, lchan, &lchan->activate.ch_mode_rate, false); if (rc < 0) { LOGP(DRSL, LOGL_ERROR, "%s Cannot find channel mode from lchan type\n", @@ -608,7 +608,7 @@ add_power_control_params(msg, RSL_IE_BS_POWER_PARAM, lchan); add_power_control_params(msg, RSL_IE_MS_POWER_PARAM, lchan); - if (gsm48_chan_mode_to_non_vamos(lchan->activate.info.ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { + if (gsm48_chan_mode_to_non_vamos(lchan->activate.ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { rc = put_mr_config_for_bts(msg, &lchan->activate.mr_conf_filtered, (lchan->type == GSM_LCHAN_TCH_F) ? &bts->mr_full : &bts->mr_half); if (rc) { diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index a15807a..65cd8a8 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -210,7 +210,7 @@ if (gscon_is_aoip(conn)) { /* Extrapolate speech codec from speech mode */ gsm0808_speech_codec_from_chan_type(&sc, perm_spch); - sc.cfg = conn->lchan->activate.info.ch_mode_rate.s15_s0; + sc.cfg = conn->lchan->activate.ch_mode_rate.s15_s0; sc_ptr = ≻ } } diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index b486b40..3b6333d 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -639,8 +639,11 @@ lchan->bs_power_db = bts->bs_power_ctrl.bs_power_val_db; } - if (gsm48_chan_mode_to_non_vamos(info->ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { - if (lchan_mr_config(&lchan->activate.mr_conf_filtered, lchan, info->ch_mode_rate.s15_s0) < 0) { + lchan->activate.ch_mode_rate = lchan->activate.info.ch_mode_rate; + /* future: automatically adjust chan_mode in lchan->activate.ch_mode_rate */ + + if (gsm48_chan_mode_to_non_vamos(lchan->activate.ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { + if (lchan_mr_config(&lchan->activate.mr_conf_filtered, lchan, lchan->activate.ch_mode_rate.s15_s0) < 0) { lchan_fail("Can not generate multirate configuration IE\n"); return; } @@ -656,7 +659,7 @@ (use_mgwep_ci ? osmo_mgcpc_ep_ci_name(use_mgwep_ci) : "new") : "none", gsm_lchant_name(lchan->type), - gsm48_chan_mode_name(lchan->activate.info.ch_mode_rate.chan_mode), + gsm48_chan_mode_name(lchan->activate.ch_mode_rate.chan_mode), (lchan->activate.info.encr.alg_id ? : 1)-1, lchan->activate.info.encr.key_len ? osmo_hexdump_nospc(lchan->activate.info.encr.key, lchan->activate.info.encr.key_len) : "none"); @@ -806,7 +809,7 @@ int rc; struct gsm_lchan *lchan = lchan_fi_lchan(fi); - lchan->current_ch_mode_rate = lchan->activate.info.ch_mode_rate; + lchan->current_ch_mode_rate = lchan->activate.ch_mode_rate; lchan->current_mr_conf = lchan->activate.mr_conf_filtered; lchan->tsc_set = lchan->activate.tsc_set; lchan->tsc = lchan->activate.tsc; @@ -999,6 +1002,9 @@ .tsc_set = -1, .tsc = -1, }; + lchan->activate.ch_mode_rate = lchan->activate.info.ch_mode_rate; + /* future: automatically adjust chan_mode in lchan->activate.ch_mode_rate */ + lchan->activate.concluded = false; lchan_fsm_state_chg(LCHAN_ST_WAIT_RLL_RTP_ESTABLISH); } else { diff --git a/src/osmo-bsc/lchan_rtp_fsm.c b/src/osmo-bsc/lchan_rtp_fsm.c index 7945359..3ba4189 100644 --- a/src/osmo-bsc/lchan_rtp_fsm.c +++ b/src/osmo-bsc/lchan_rtp_fsm.c @@ -268,19 +268,19 @@ return; } - val = ipacc_speech_mode(lchan->activate.info.ch_mode_rate.chan_mode, lchan->type); + val = ipacc_speech_mode(lchan->activate.ch_mode_rate.chan_mode, lchan->type); if (val < 0) { lchan_rtp_fail("Cannot determine Abis/IP speech mode for tch_mode=%s type=%s\n", - get_value_string(gsm48_chan_mode_names, lchan->activate.info.ch_mode_rate.chan_mode), + get_value_string(gsm48_chan_mode_names, lchan->activate.ch_mode_rate.chan_mode), gsm_lchant_name(lchan->type)); return; } lchan->abis_ip.speech_mode = val; - val = ipacc_payload_type(lchan->activate.info.ch_mode_rate.chan_mode, lchan->type); + val = ipacc_payload_type(lchan->activate.ch_mode_rate.chan_mode, lchan->type); if (val < 0) { lchan_rtp_fail("Cannot determine Abis/IP payload type for tch_mode=%s type=%s\n", - get_value_string(gsm48_chan_mode_names, lchan->activate.info.ch_mode_rate.chan_mode), + get_value_string(gsm48_chan_mode_names, lchan->activate.ch_mode_rate.chan_mode), gsm_lchant_name(lchan->type)); return; } @@ -834,14 +834,14 @@ void mgcp_pick_codec(struct mgcp_conn_peer *verb_info, const struct gsm_lchan *lchan, bool bss_side) { - enum mgcp_codecs codec = chan_mode_to_mgcp_codec(lchan->activate.info.ch_mode_rate.chan_mode, + enum mgcp_codecs codec = chan_mode_to_mgcp_codec(lchan->activate.ch_mode_rate.chan_mode, lchan->type == GSM_LCHAN_TCH_H? false : true); int custom_pt; if (codec < 0) { LOG_LCHAN(lchan, LOGL_ERROR, "Unable to determine MGCP codec type for %s in chan-mode %s\n", - gsm_lchant_name(lchan->type), gsm48_chan_mode_name(lchan->activate.info.ch_mode_rate.chan_mode)); + gsm_lchant_name(lchan->type), gsm48_chan_mode_name(lchan->activate.ch_mode_rate.chan_mode)); verb_info->codecs_len = 0; return; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icc9cc7481b3984fdca34eef49ea91ad3388c06fe Gerrit-Change-Number: 24458 Gerrit-PatchSet: 11 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder 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 Thu Jun 10 15:21:23 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:21:23 +0000 Subject: Change in osmo-bsc[master]: add missing AMR config for RTP activation after mode modify In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24466 ) Change subject: add missing AMR config for RTP activation after mode modify ...................................................................... add missing AMR config for RTP activation after mode modify Add function lchan_activate_set_ch_mode_rate_and_mr_config() and call it for both plain channel activation and after a mode modify that needs RTP activation. The AMR config was missing after Mode Modify. Related: SYS#5315 OS#4940 Change-Id: I842fe7a14a91d1ec123cb4a3f52afe34456c03e3 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 19 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 3b6333d..b772482 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -604,6 +604,21 @@ } } +static int lchan_activate_set_ch_mode_rate_and_mr_config(struct gsm_lchan *lchan) +{ + struct osmo_fsm_inst *fi = lchan->fi; + lchan->activate.ch_mode_rate = lchan->activate.info.ch_mode_rate; + /* future: automatically adjust chan_mode in lchan->activate.ch_mode_rate */ + + if (gsm48_chan_mode_to_non_vamos(lchan->activate.ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { + if (lchan_mr_config(&lchan->activate.mr_conf_filtered, lchan, lchan->activate.ch_mode_rate.s15_s0) < 0) { + lchan_fail("Can not generate multirate configuration IE"); + return -EINVAL; + } + } + return 0; +} + static void lchan_fsm_wait_ts_ready_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) { struct gsm_lchan *lchan = lchan_fi_lchan(fi); @@ -639,15 +654,8 @@ lchan->bs_power_db = bts->bs_power_ctrl.bs_power_val_db; } - lchan->activate.ch_mode_rate = lchan->activate.info.ch_mode_rate; - /* future: automatically adjust chan_mode in lchan->activate.ch_mode_rate */ - - if (gsm48_chan_mode_to_non_vamos(lchan->activate.ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { - if (lchan_mr_config(&lchan->activate.mr_conf_filtered, lchan, lchan->activate.ch_mode_rate.s15_s0) < 0) { - lchan_fail("Can not generate multirate configuration IE\n"); - return; - } - } + if (lchan_activate_set_ch_mode_rate_and_mr_config(lchan)) + return; use_mgwep_ci = lchan_use_mgw_endpoint_ci_bts(lchan); @@ -1002,8 +1010,8 @@ .tsc_set = -1, .tsc = -1, }; - lchan->activate.ch_mode_rate = lchan->activate.info.ch_mode_rate; - /* future: automatically adjust chan_mode in lchan->activate.ch_mode_rate */ + if (lchan_activate_set_ch_mode_rate_and_mr_config(lchan)) + return; lchan->activate.concluded = false; lchan_fsm_state_chg(LCHAN_ST_WAIT_RLL_RTP_ESTABLISH); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I842fe7a14a91d1ec123cb4a3f52afe34456c03e3 Gerrit-Change-Number: 24466 Gerrit-PatchSet: 10 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 15:21:23 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:21:23 +0000 Subject: Change in osmo-bsc[master]: implement CHANnel ACTIVate to VAMOS mode In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24375 ) Change subject: implement CHANnel ACTIVate to VAMOS mode ...................................................................... implement CHANnel ACTIVate to VAMOS mode Related: SYS#5315 OS#4940 Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec --- 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 M tests/osmo-bsc.vty 5 files changed, 54 insertions(+), 17 deletions(-) Approvals: neels: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 61e52f6..fc6ce30 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -602,6 +602,8 @@ /* TSC to use, or -1 for automatically determining the TSC to use. Valid range is 0 to 7, as described in 3GPP * TS 45.002. */ int tsc; + + bool vamos; }; enum lchan_modify_for { diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 40bfcec..c206937 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -534,7 +534,7 @@ /* PDCH activation is a job for rsl_tx_dyn_ts_pdch_act_deact(); */ OSMO_ASSERT(act_type != RSL_ACT_OSMO_PDCH); - rc = channel_mode_from_lchan(&cm, lchan, &lchan->activate.ch_mode_rate, false); + rc = channel_mode_from_lchan(&cm, lchan, &lchan->activate.ch_mode_rate, lchan->activate.info.vamos); if (rc < 0) { LOGP(DRSL, LOGL_ERROR, "%s Cannot find channel mode from lchan type\n", @@ -620,6 +620,10 @@ rep_acch_cap_for_bts(lchan, msg); + /* Selecting a specific TSC Set is only applicable to VAMOS mode */ + if (lchan->activate.info.vamos && lchan->activate.tsc_set >= 1) + put_osmo_training_sequence_ie(msg, lchan->activate.tsc_set, lchan->activate.tsc); + msg->dst = rsl_chan_link(lchan); rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHAN_ACT_TOTAL)); diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 79026a1..1f208bc 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -6215,6 +6215,13 @@ info.ch_mode_rate.chan_rate = chan_t_to_chan_rate(lchan_t); + if (activate == 2 || lchan->vamos.is_secondary) { + info.vamos = true; + info.tsc_set = lchan->vamos.is_secondary ? 1 : 0; + info.tsc = 0; + info.ch_mode_rate.chan_mode = gsm48_chan_mode_to_vamos(info.ch_mode_rate.chan_mode); + } + vty_out(vty, "%% activating lchan %s as %s%s", gsm_lchan_name(lchan), gsm_chan_t_name(lchan->type), VTY_NEWLINE); lchan_activate(lchan, &info); @@ -6287,9 +6294,10 @@ * 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 <0-7> (activate|deactivate) (hr|fr|efr|amr|sig) [<0-7>]", + "bts <0-255> trx <0-255> timeslot <0-7> sub-slot <0-7> (activate|activate-vamos|deactivate) (hr|fr|efr|amr|sig) [<0-7>]", BTS_NR_TRX_TS_SS_STR2 "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") { @@ -6312,6 +6320,8 @@ if (!strcmp(act_str, "activate")) activate = 1; + else if (!strcmp(act_str, "activate-vamos")) + activate = 2; else activate = 0; diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index b772482..c429243 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -311,6 +311,16 @@ OSMO_ASSERT(lchan && info); + if ((info->vamos || lchan->vamos.is_secondary) + && !osmo_bts_has_feature(&lchan->ts->trx->bts->features, BTS_FEAT_VAMOS)) { + lchan->last_error = talloc_strdup(lchan->ts->trx, "VAMOS related channel activation requested," + " but BTS does not support VAMOS"); + LOG_LCHAN(lchan, LOGL_ERROR, + "VAMOS related channel activation requested, but BTS %u does not support VAMOS\n", + lchan->ts->trx->bts->nr); + goto abort; + } + if (!lchan_state_is(lchan, LCHAN_ST_UNUSED)) goto abort; @@ -608,7 +618,13 @@ { struct osmo_fsm_inst *fi = lchan->fi; lchan->activate.ch_mode_rate = lchan->activate.info.ch_mode_rate; - /* future: automatically adjust chan_mode in lchan->activate.ch_mode_rate */ + lchan->activate.ch_mode_rate.chan_mode = (lchan->activate.info.vamos + ? gsm48_chan_mode_to_vamos(lchan->activate.info.ch_mode_rate.chan_mode) + : gsm48_chan_mode_to_non_vamos(lchan->activate.info.ch_mode_rate.chan_mode)); + if (lchan->activate.ch_mode_rate.chan_mode < 0) { + lchan_fail("Invalid chan_mode: %s", gsm48_chan_mode_name(lchan->activate.info.ch_mode_rate.chan_mode)); + return -EINVAL; + } if (gsm48_chan_mode_to_non_vamos(lchan->activate.ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { if (lchan_mr_config(&lchan->activate.mr_conf_filtered, lchan, lchan->activate.ch_mode_rate.s15_s0) < 0) { @@ -737,10 +753,12 @@ lchan->encr = lchan->activate.info.encr; + /* If enabling VAMOS mode and no specific TSC Set was selected, make sure to select a sane TSC Set by + * default: Set 1 for the primary and Set 2 for the shadow lchan. For non-VAMOS lchans, TSC Set 1. */ if (lchan->activate.info.tsc_set > 0) lchan->activate.tsc_set = lchan->activate.info.tsc_set; else - lchan->activate.tsc_set = 1; + lchan->activate.tsc_set = lchan->vamos.is_secondary ? 2 : 1; /* Use the TSC provided in the modification request, if any. Otherwise use the timeslot's configured * TSC. */ @@ -819,6 +837,7 @@ lchan->current_ch_mode_rate = lchan->activate.ch_mode_rate; lchan->current_mr_conf = lchan->activate.mr_conf_filtered; + lchan->vamos.enabled = lchan->activate.info.vamos; lchan->tsc_set = lchan->activate.tsc_set; lchan->tsc = lchan->activate.tsc; LOG_LCHAN(lchan, LOGL_INFO, "Rx Activ ACK %s\n", diff --git a/tests/osmo-bsc.vty b/tests/osmo-bsc.vty index fba2390..c7e9e6d 100644 --- a/tests/osmo-bsc.vty +++ b/tests/osmo-bsc.vty @@ -6,12 +6,13 @@ ... OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 ? - activate Manual Channel Activation (e.g. for BER test) - deactivate Manual Channel Deactivation (e.g. for BER test) - modify Manually send Channel Mode Modify (for debugging) - mdcx Modify RTP Connection - handover Manually trigger handover (for debugging) - assignment Manually trigger assignment (for debugging) + activate Manual Channel Activation (e.g. for BER test) + activate-vamos Manual Channel Activation, in VAMOS mode + deactivate Manual Channel Deactivation (e.g. for BER test) + modify Manually send Channel Mode Modify (for debugging) + mdcx Modify RTP Connection + handover Manually trigger handover (for debugging) + assignment Manually trigger assignment (for debugging) OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 modify ? vamos Enable VAMOS channel mode @@ -32,7 +33,7 @@ OsmoBSC# list ... - bts <0-255> trx <0-255> timeslot <0-7> sub-slot <0-7> (activate|deactivate) (hr|fr|efr|amr|sig) [<0-7>] + bts <0-255> trx <0-255> timeslot <0-7> sub-slot <0-7> (activate|activate-vamos|deactivate) (hr|fr|efr|amr|sig) [<0-7>] ... OsmoBSC# bts? @@ -65,12 +66,13 @@ <0-7> Sub-slot Number OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 ? - activate Manual Channel Activation (e.g. for BER test) - deactivate Manual Channel Deactivation (e.g. for BER test) - modify Manually send Channel Mode Modify (for debugging) - mdcx Modify RTP Connection - handover Manually trigger handover (for debugging) - assignment Manually trigger assignment (for debugging) + activate Manual Channel Activation (e.g. for BER test) + activate-vamos Manual Channel Activation, in VAMOS mode + deactivate Manual Channel Deactivation (e.g. for BER test) + modify Manually send Channel Mode Modify (for debugging) + mdcx Modify RTP Connection + handover Manually trigger handover (for debugging) + assignment Manually trigger assignment (for debugging) OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 activate ? hr Half-Rate v1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec Gerrit-Change-Number: 24375 Gerrit-PatchSet: 21 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder 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 Thu Jun 10 15:21:24 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:21:24 +0000 Subject: Change in osmo-bsc[master]: RR Assignment for VAMOS: send TSC Set In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24376 ) Change subject: RR Assignment for VAMOS: send TSC Set ...................................................................... RR Assignment for VAMOS: send TSC Set We already send the TSC Set in the RSL Channel Activation, telling the BTS about the TSC Set. The MS needs to be instructed of the TSC Set in the RR Assignment Command. The first code to actually do an Assignment to a VAMOS activated lchan will follow in If006f5caaf83b07675f57e5665cfa79328da55e6. Change-Id: Ibf3b6d276fadf724c16a5225c03e96a27a056153 --- M src/osmo-bsc/gsm_04_08_rr.c 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 518afea..7cc5664 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -648,6 +648,12 @@ } } + /* For VAMOS, include the TSC Set number in the Extended TSC Set IE. + * We don't put any PS domain related values, only the lowest two CS domain bits. + * Convert from spec conforming "human readable" TSC Set 1-4 to 0-3 on the wire. */ + if (new_lchan->vamos.enabled && new_lchan->tsc_set > 0) + msgb_tv_put(msg, GSM48_IE_EXTENDED_TSC_SET, new_lchan->tsc_set - 1); + return gsm48_sendmsg(msg); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf3b6d276fadf724c16a5225c03e96a27a056153 Gerrit-Change-Number: 24376 Gerrit-PatchSet: 21 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 Thu Jun 10 15:21:24 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:21:24 +0000 Subject: Change in osmo-bsc[master]: add VAMOS secondary lchans to timeslot struct In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24377 ) Change subject: add VAMOS secondary lchans to timeslot struct ...................................................................... add VAMOS secondary lchans to timeslot struct So far there is a bunch of code setting a primary lchan in VAMOS mode. This patch now adds the actual secondary "shadow" lchans that may be combined with a primary lchan in VAMOS mode to form a multiplex. VAMOS lchans are put in the same ts->lchan[] array that keeps the primary lchans. They are at most two additional usable lchans (for a TCH/H shadow) added to either TCH/F or TCH/H. Keeping these in the same array allows looping over all lchans easily. The ts->max_primary_lchans indicates the index of the first VAMOS shadow lchan. Related: SYS#5315 OS#4940 Change-Id: I928af99498bba488d317693f3144d4fccbbe9af3 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/timeslot_fsm.c 5 files changed, 105 insertions(+), 12 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve neels: Looks good to me, approved laforge: Looks good to me, but someone else must approve diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index fc6ce30..88adb9f 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1041,8 +1041,11 @@ enum gsm_phys_chan_config ts_pchan(struct gsm_bts_trx_ts *ts); uint8_t pchan_subslots(enum gsm_phys_chan_config pchan); +uint8_t pchan_subslots_vamos(enum gsm_phys_chan_config pchan); bool ts_is_tch(struct gsm_bts_trx_ts *ts); +struct gsm_lchan *gsm_lchan_vamos_to_primary(const struct gsm_lchan *lchan_vamos); +struct gsm_lchan *gsm_lchan_primary_to_vamos(const struct gsm_lchan *lchan_primary); struct gsm_bts *conn_get_bts(struct gsm_subscriber_connection *conn); diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index c206937..1f7b639 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1708,10 +1708,11 @@ * This will take a short amount of time. We need to come back and check regulary to see if we managed to * free up another lchan. */ if (!rqd->release_lchan) { + struct gsm_lchan *release_lchan; /* Pick any busy TCH/F or TCH/H lchan and inititate a channel * release to make room for the incoming emergency call */ - rqd->release_lchan = get_any_lchan(rqd->bts); - if (!rqd->release_lchan) { + rqd->release_lchan = release_lchan = get_any_lchan(rqd->bts); + if (!release_lchan) { /* It can not happen that we first find out that there * is no TCH/H or TCH/F available and at the same time * we ware unable to find any busy TCH/H or TCH/F. In @@ -1724,10 +1725,16 @@ LOG_BTS(rqd->bts, DRSL, LOGL_NOTICE, "CHAN RQD/EMERGENCY-PRIORITY: inducing termination of lchan %s (state:%s) in favor of incoming EMERGENCY CALL!\n", - gsm_lchan_name(rqd->release_lchan), osmo_fsm_inst_state_name(rqd->release_lchan->fi)); + gsm_lchan_name(release_lchan), osmo_fsm_inst_state_name(release_lchan->fi)); - lchan_release(rqd->release_lchan, !!(rqd->release_lchan->conn), true, 0, - gscon_last_eutran_plmn(rqd->release_lchan->conn)); + lchan_release(release_lchan, !!(release_lchan->conn), true, 0, + gscon_last_eutran_plmn(release_lchan->conn)); + + /* Also release any overlapping VAMOS multiplexes on this lchan */ + release_lchan = gsm_lchan_primary_to_vamos(release_lchan); + if (release_lchan) + lchan_release(release_lchan, !!(release_lchan->conn), true, 0, + gscon_last_eutran_plmn(release_lchan->conn)); } else { /* BTS is shutting down, give up... */ if (rqd->release_lchan->ts->fi->state == TS_ST_NOT_INITIALIZED) diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 65cd8a8..b6de293 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -640,6 +640,7 @@ .ta_known = true, .tsc_set = req->tsc_set, .tsc = req->tsc, + .vamos = conn->assignment.new_lchan->vamos.is_secondary, }; lchan_activate(conn->assignment.new_lchan, &activ_info); } diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index b33b1c3..4d2d811 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -337,8 +337,9 @@ char *gsm_lchan_name_compute(void *ctx, const struct gsm_lchan *lchan) { struct gsm_bts_trx_ts *ts = lchan->ts; - return talloc_asprintf(ctx, "(bts=%d,trx=%d,ts=%d,ss=%d)", - ts->trx->bts->nr, ts->trx->nr, ts->nr, lchan->nr); + return talloc_asprintf(ctx, "(bts=%d,trx=%d,ts=%d,ss=%d%s)", + ts->trx->bts->nr, ts->trx->nr, ts->nr, lchan->nr, + lchan->vamos.is_secondary ? "-VAMOS" : ""); } /* obtain the MO structure for a given object instance */ @@ -545,9 +546,13 @@ uint8_t gsm_lchan2chan_nr(const struct gsm_lchan *lchan) { - /* Note: non-standard Osmocom style dyn TS PDCH mode chan_nr is only used within - * rsl_tx_dyn_ts_pdch_act_deact(). */ - return gsm_pchan2chan_nr(lchan->ts->pchan_is, lchan->ts->nr, lchan->nr); + uint8_t lchan_nr = lchan->nr; + /* The VAMOS lchans are behind the primary ones in the ts->lchan[] array. They keep their lchan->nr as in the + * array, but on the wire they are the "shadow" lchans for the primary lchans. For example, for TCH/F, there is + * a primary ts->lchan[0] and a VAMOS ts->lchan[1]. Still, the VAMOS lchan should send chan_nr = 0. */ + if (lchan->vamos.is_secondary) + lchan_nr -= lchan->ts->max_primary_lchans; + return gsm_pchan2chan_nr(lchan->ts->pchan_is, lchan->ts->nr, lchan_nr); } static const uint8_t subslots_per_pchan[] = { @@ -574,6 +579,30 @@ return subslots_per_pchan[pchan]; } +static const uint8_t subslots_per_pchan_vamos[] = { + [GSM_PCHAN_NONE] = 0, + [GSM_PCHAN_CCCH] = 0, + [GSM_PCHAN_PDCH] = 0, + [GSM_PCHAN_CCCH_SDCCH4] = 0, + /* VAMOS: on a TCH/F, there may be a TCH/H shadow */ + [GSM_PCHAN_TCH_F] = 2, + [GSM_PCHAN_TCH_H] = 2, + [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_TCH_F_PDCH] = 2, +}; + +/* Return the maximum number of VAMOS secondary lchans that may be used in a timeslot of the given physical channel + * configuration. */ +uint8_t pchan_subslots_vamos(enum gsm_phys_chan_config pchan) +{ + if (pchan < 0 || pchan >= ARRAY_SIZE(subslots_per_pchan_vamos)) + return 0; + return subslots_per_pchan_vamos[pchan]; +} + static bool pchan_is_tch(enum gsm_phys_chan_config pchan) { switch (pchan) { @@ -590,6 +619,36 @@ return pchan_is_tch(ts->pchan_is); } +/* For a VAMOS secondary shadow lchan, return its primary lchan. If the lchan is not a secondary lchan, return NULL. */ +struct gsm_lchan *gsm_lchan_vamos_to_primary(const struct gsm_lchan *lchan_vamos) +{ + struct gsm_lchan *lchan_primary; + if (!lchan_vamos || !lchan_vamos->vamos.is_secondary) + return NULL; + /* OsmoBSC currently does not support mixed TCH/F + TCH/H VAMOS multiplexes. Hence the primary <-> secondary + * relation is a simple index shift in the lchan array. If mixed multiplexes were allowed, a TCH/F primary might + * have two TCH/H VAMOS secondary lchans, etc. Fortunately, we don't need to care about that. */ + lchan_primary = (struct gsm_lchan*)lchan_vamos - lchan_vamos->ts->max_primary_lchans; + if (!lchan_primary->fi) + return NULL; + return lchan_primary; +} + +/* For a primary lchan, return its VAMOS secondary shadow lchan. If the lchan is not a primary lchan, return NULL. */ +struct gsm_lchan *gsm_lchan_primary_to_vamos(const struct gsm_lchan *lchan_primary) +{ + struct gsm_lchan *lchan_vamos; + if (!lchan_primary || lchan_primary->vamos.is_secondary) + return NULL; + /* OsmoBSC currently does not support mixed TCH/F + TCH/H VAMOS multiplexes. Hence the primary <-> secondary + * relation is a simple index shift in the lchan array. If mixed multiplexes were allowed, a TCH/F primary might + * have two TCH/H VAMOS secondary lchans, etc. Fortunately, we don't need to care about that. */ + lchan_vamos = (struct gsm_lchan*)lchan_primary + lchan_primary->ts->max_primary_lchans; + if (!lchan_vamos->fi) + return NULL; + return lchan_vamos; +} + struct gsm_bts *conn_get_bts(struct gsm_subscriber_connection *conn) { if (!conn || !conn->lchan) return NULL; diff --git a/src/osmo-bsc/timeslot_fsm.c b/src/osmo-bsc/timeslot_fsm.c index 0470972..64b98a6 100644 --- a/src/osmo-bsc/timeslot_fsm.c +++ b/src/osmo-bsc/timeslot_fsm.c @@ -189,22 +189,45 @@ void ts_set_pchan_is(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config pchan_is) { + int i; + struct gsm_lchan *lchan; ts->pchan_is = pchan_is; ts->max_primary_lchans = pchan_subslots(ts->pchan_is); LOG_TS(ts, LOGL_DEBUG, "pchan_is=%s max_primary_lchans=%d max_lchans_possible=%d\n", gsm_pchan_name(ts->pchan_is), ts->max_primary_lchans, ts->max_lchans_possible); + switch (ts->pchan_is) { + case GSM_PCHAN_TCH_F: + case GSM_PCHAN_TCH_H: + for (i = 0; i < ts->max_lchans_possible; i++) { + lchan = &ts->lchan[i]; + if (i < ts->max_primary_lchans) + lchan->vamos.is_secondary = false; + else + lchan->vamos.is_secondary = true; + } + break; + default: + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) + lchan->vamos.is_secondary = false; + break; + } } static void ts_setup_lchans(struct gsm_bts_trx_ts *ts) { int i, max_lchans; + int max_lchans_vamos; ts->pchan_on_init = ts->pchan_from_config; ts_fsm_update_id(ts); max_lchans = pchan_subslots(ts->pchan_on_init); - LOG_TS(ts, LOGL_DEBUG, "max lchans: %d\n", max_lchans); - ts->max_lchans_possible = max_lchans; + if (osmo_bts_has_feature(&ts->trx->bts->features, BTS_FEAT_VAMOS)) + max_lchans_vamos = pchan_subslots_vamos(ts->pchan_on_init); + else + max_lchans_vamos = 0; + LOG_TS(ts, LOGL_DEBUG, "max lchans: %d + %d VAMOS secondaries\n", max_lchans, max_lchans_vamos); + ts->max_lchans_possible = max_lchans + max_lchans_vamos; ts->max_primary_lchans = 0; for (i = 0; i < ts->max_lchans_possible; i++) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I928af99498bba488d317693f3144d4fccbbe9af3 Gerrit-Change-Number: 24377 Gerrit-PatchSet: 22 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 15:21:25 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:21:25 +0000 Subject: Change in osmo-bsc[master]: update the lchan name to always reflect VAMOS shadowness In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24461 ) Change subject: update the lchan name to always reflect VAMOS shadowness ...................................................................... update the lchan name to always reflect VAMOS shadowness Change gsm_lchan_name_compute() to a function that in-place updates the lchan->name. That allows calling it numerous times with the talloc handled internally. Rename it to lchan_update_name(). Add 'shadow' to lchan_update_name() and lchan_fsm_update_id() for VAMOS shadow lchans, and also print the lchan index that it is a shadow for, instead of the index in the lchan array. When set_pchan_is() updates the VAMOSness of the lchans, call lchan_fsm_update_id(). From lchan_fsm_update_id() also call lchan_update_name(). This is a bit convoluted for legacy reasons. There are utility programs and C tests using bts_trx.c but not lchan_fsm.c. lchan_update_name() lives in gsm_data.c for that reason. This patch calls lchan_update_name() from lchan_fsm_update_id() and not vice versa to avoid having to add stubbed lchan_fsm_update_id() functions to all utility programs and C tests. We can't easily unify the lchan->name and lchan->fi->id without lots of refactoring rippling through all those little utility programs and C tests. Change-Id: I7c2bae3b895a91f1b99b4147ecc0e3009cb7439a --- M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/lchan_fsm.h M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/bts_trx.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/timeslot_fsm.c 7 files changed, 25 insertions(+), 12 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve neels: Looks good to me, approved laforge: Looks good to me, but someone else must approve diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 88adb9f..8ea199b 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1008,7 +1008,7 @@ const char *gsm_chreq_name(enum gsm_chreq_reason_t c); char *gsm_ts_name(const struct gsm_bts_trx_ts *ts); char *gsm_ts_and_pchan_name(const struct gsm_bts_trx_ts *ts); -char *gsm_lchan_name_compute(void *ctx, const struct gsm_lchan *lchan); +void lchan_update_name(struct gsm_lchan *lchan); static inline char *gsm_lchan_name(const struct gsm_lchan *lchan) { diff --git a/include/osmocom/bsc/lchan_fsm.h b/include/osmocom/bsc/lchan_fsm.h index 74e2a96..e7a06d5 100644 --- a/include/osmocom/bsc/lchan_fsm.h +++ b/include/osmocom/bsc/lchan_fsm.h @@ -83,3 +83,4 @@ void lchan_forget_conn(struct gsm_lchan *lchan); void lchan_fsm_skip_error(struct gsm_lchan *lchan); +void lchan_fsm_update_id(struct gsm_lchan *lchan); diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index b6de293..a54bee5 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -302,14 +302,15 @@ return; } - osmo_fsm_inst_update_id_f(conn->assignment.fi, "%s_%u-%u-%u-%s%s%s-%u", + osmo_fsm_inst_update_id_f(conn->assignment.fi, "%s_%u-%u-%u-%s%s%s-%s%u", conn->fi->id, new_lchan->ts->trx->bts->nr, new_lchan->ts->trx->nr, new_lchan->ts->nr, gsm_pchan_id(new_lchan->ts->pchan_on_init), (new_lchan->ts->pchan_on_init == new_lchan->ts->pchan_is)? "" : "as", (new_lchan->ts->pchan_on_init == new_lchan->ts->pchan_is)? "" : gsm_pchan_id(new_lchan->ts->pchan_is), - new_lchan->nr); + new_lchan->vamos.is_secondary ? "shadow" : "", + new_lchan->nr - (new_lchan->vamos.is_secondary ? new_lchan->ts->max_primary_lchans : 0)); } static bool lchan_type_compat_with_mode(enum gsm_chan_t type, const struct channel_mode_and_rate *ch_mode_rate) diff --git a/src/osmo-bsc/bts_trx.c b/src/osmo-bsc/bts_trx.c index 64c7985..1f3cb0a 100644 --- a/src/osmo-bsc/bts_trx.c +++ b/src/osmo-bsc/bts_trx.c @@ -111,7 +111,7 @@ lchan->nr = l; lchan->type = GSM_LCHAN_NONE; - lchan->name = gsm_lchan_name_compute(trx, lchan); + lchan_update_name(lchan); } } diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 4d2d811..5f647e2 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -334,12 +334,15 @@ return ts2str; } -char *gsm_lchan_name_compute(void *ctx, const struct gsm_lchan *lchan) +void lchan_update_name(struct gsm_lchan *lchan) { struct gsm_bts_trx_ts *ts = lchan->ts; - return talloc_asprintf(ctx, "(bts=%d,trx=%d,ts=%d,ss=%d%s)", - ts->trx->bts->nr, ts->trx->nr, ts->nr, lchan->nr, - lchan->vamos.is_secondary ? "-VAMOS" : ""); + if (lchan->name) + talloc_free(lchan->name); + lchan->name = talloc_asprintf(ts->trx, "(bts=%d,trx=%d,ts=%d,ss=%s%d)", + ts->trx->bts->nr, ts->trx->nr, ts->nr, + lchan->vamos.is_secondary ? "shadow" : "", + lchan->nr - (lchan->vamos.is_secondary ? ts->max_primary_lchans : 0)); } /* obtain the MO structure for a given object instance */ diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index c429243..c56be8d 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -411,11 +411,16 @@ } } -static void lchan_fsm_update_id(struct gsm_lchan *lchan) +void lchan_fsm_update_id(struct gsm_lchan *lchan) { - osmo_fsm_inst_update_id_f(lchan->fi, "%u-%u-%u-%s-%u", + lchan_update_name(lchan); + if (!lchan->fi) + return; + osmo_fsm_inst_update_id_f(lchan->fi, "%u-%u-%u-%s-%s%u", lchan->ts->trx->bts->nr, lchan->ts->trx->nr, lchan->ts->nr, - gsm_pchan_id(lchan->ts->pchan_on_init), lchan->nr); + gsm_pchan_id(lchan->ts->pchan_on_init), + lchan->vamos.is_secondary ? "shadow" : "", + lchan->nr - (lchan->vamos.is_secondary ? lchan->ts->max_primary_lchans : 0)); if (lchan->fi_rtp) osmo_fsm_inst_update_id_f(lchan->fi_rtp, lchan->fi->id); } diff --git a/src/osmo-bsc/timeslot_fsm.c b/src/osmo-bsc/timeslot_fsm.c index 64b98a6..b9c86df 100644 --- a/src/osmo-bsc/timeslot_fsm.c +++ b/src/osmo-bsc/timeslot_fsm.c @@ -204,11 +204,14 @@ lchan->vamos.is_secondary = false; else lchan->vamos.is_secondary = true; + lchan_fsm_update_id(lchan); } break; default: - ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { lchan->vamos.is_secondary = false; + lchan_fsm_update_id(lchan); + } break; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7c2bae3b895a91f1b99b4147ecc0e3009cb7439a Gerrit-Change-Number: 24461 Gerrit-PatchSet: 13 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 15:21:28 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:21:28 +0000 Subject: Change in osmo-bsc[master]: rsl_lchan_lookup(): turn cbits if-cascade into a switch() In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24428 ) Change subject: rsl_lchan_lookup(): turn cbits if-cascade into a switch() ...................................................................... rsl_lchan_lookup(): turn cbits if-cascade into a switch() There is some odd repetition of macros with all possible subslot indexes, but now we are using the defined macros instead of magic numbers, making it easier to see that it is correct. Also this allows trivially adding VAMOS cbits cases to the existing switch() in a subsequent patch. Change-Id: I4c6ce2f4ca999c19a58909b9adb849a3b8b6ffc8 --- M src/osmo-bsc/bts_trx.c 1 file changed, 28 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/osmo-bsc/bts_trx.c b/src/osmo-bsc/bts_trx.c index 1f3cb0a..8d47ba5 100644 --- a/src/osmo-bsc/bts_trx.c +++ b/src/osmo-bsc/bts_trx.c @@ -156,28 +156,49 @@ if (rc) *rc = -EINVAL; - if (cbits == 0x01) { + switch (cbits) { + case ABIS_RSL_CHAN_NR_CBITS_Bm_ACCHs: lch_idx = 0; /* TCH/F */ ok = ts_is_capable_of_pchan(ts, GSM_PCHAN_TCH_F) || ts->pchan_on_init == GSM_PCHAN_PDCH; /* PDCH? really? */ - } else if ((cbits & 0x1e) == 0x02) { + break; + case ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(0): + case ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(1): lch_idx = cbits & 0x1; /* TCH/H */ ok = ts_is_capable_of_pchan(ts, GSM_PCHAN_TCH_H); - } else if ((cbits & 0x1c) == 0x04) { + break; + case ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(0): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(1): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(2): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(3): lch_idx = cbits & 0x3; /* SDCCH/4 */ ok = ts_is_capable_of_pchan(ts, GSM_PCHAN_CCCH_SDCCH4); - } else if ((cbits & 0x18) == 0x08) { + break; + 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): lch_idx = cbits & 0x7; /* SDCCH/8 */ ok = ts_is_capable_of_pchan(ts, GSM_PCHAN_SDCCH8_SACCH8C); - } else if (cbits == 0x10 || cbits == 0x11 || cbits == 0x12) { + break; + case ABIS_RSL_CHAN_NR_CBITS_BCCH: + case ABIS_RSL_CHAN_NR_CBITS_RACH: + case ABIS_RSL_CHAN_NR_CBITS_PCH_AGCH: lch_idx = 0; /* CCCH? */ ok = ts_is_capable_of_pchan(ts, GSM_PCHAN_CCCH); /* FIXME: we should not return first sdcch4 !!! */ - } else if ((chan_nr & RSL_CHAN_NR_MASK) == RSL_CHAN_OSMO_PDCH) { + break; + case ABIS_RSL_CHAN_NR_CBITS_OSMO_PDCH: lch_idx = 0; ok = (ts->pchan_on_init == GSM_PCHAN_TCH_F_TCH_H_PDCH); - } else + break; + default: return NULL; + } if (rc && ok) *rc = 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24428 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4c6ce2f4ca999c19a58909b9adb849a3b8b6ffc8 Gerrit-Change-Number: 24428 Gerrit-PatchSet: 16 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 15:21:28 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:21:28 +0000 Subject: Change in osmo-bsc[master]: rsl_lchan_lookup(): add comment explaining ts_is_capable_of_pchan() In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24429 ) Change subject: rsl_lchan_lookup(): add comment explaining ts_is_capable_of_pchan() ...................................................................... rsl_lchan_lookup(): add comment explaining ts_is_capable_of_pchan() Change-Id: Ie3699db496cfb690ac9302ccd177cdd77dc57ebb --- M src/osmo-bsc/bts_trx.c 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/osmo-bsc/bts_trx.c b/src/osmo-bsc/bts_trx.c index 8d47ba5..3f73f7f 100644 --- a/src/osmo-bsc/bts_trx.c +++ b/src/osmo-bsc/bts_trx.c @@ -156,6 +156,10 @@ if (rc) *rc = -EINVAL; + /* Why call ts_is_capable_of_pchan() here? Dynamic timeslots may receive RSL Channel Activation ACK on a + * timeslot that is in transition between pchan modes. That ACK actually confirms the pchan switch, so instead + * of checking the current pchan mode, we must allow any pchans that a dyn TS is capable of. */ + switch (cbits) { case ABIS_RSL_CHAN_NR_CBITS_Bm_ACCHs: lch_idx = 0; /* TCH/F */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie3699db496cfb690ac9302ccd177cdd77dc57ebb Gerrit-Change-Number: 24429 Gerrit-PatchSet: 16 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 Thu Jun 10 15:22:03 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:22:03 +0000 Subject: Change in osmo-bsc[master]: RSL chan_nr: replace OSMO_ASSERT with error handling In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24524 ) Change subject: RSL chan_nr: replace OSMO_ASSERT with error handling ...................................................................... RSL chan_nr: replace OSMO_ASSERT with error handling It's bad to abort the program for an incompatible chan_nr. Instead of OSMO_ASSERT(), make sure that error handling happens all they way to the original callers of gsm_lchan2chan_nr etc. This is also preparation to add further error causes: Osmocom specific cbits needed for a non-Osmo BTS. Related: SYS#5315 OS#4940 Change-Id: I71ed6437c403a3f9336e17a94b4948fca295d853 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lcs_loc_req.c M src/osmo-bsc/osmo_bsc_lcls.c M src/osmo-bsc/system_information.c M tests/handover/handover_test.c 8 files changed, 182 insertions(+), 58 deletions(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved dexter: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 8ea199b..0d207b8 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1027,15 +1027,15 @@ gsm_objclass2obj(struct gsm_bts *bts, uint8_t obj_class, const struct abis_om_obj_inst *obj_inst); -uint8_t gsm_pchan2chan_nr(enum gsm_phys_chan_config pchan, - uint8_t ts_nr, uint8_t lchan_nr); -uint8_t gsm_lchan2chan_nr(const struct gsm_lchan *lchan); +int gsm_pchan2chan_nr(enum gsm_phys_chan_config pchan, + uint8_t ts_nr, uint8_t lchan_nr); +int gsm_lchan2chan_nr(const struct gsm_lchan *lchan); -void gsm48_lchan2chan_desc(struct gsm48_chan_desc *cd, - const struct gsm_lchan *lchan, - uint8_t tsc); -void gsm48_lchan2chan_desc_as_configured(struct gsm48_chan_desc *cd, const struct gsm_lchan *lchan, - uint8_t tsc); +int gsm48_lchan2chan_desc(struct gsm48_chan_desc *cd, + const struct gsm_lchan *lchan, + uint8_t tsc); +int gsm48_lchan2chan_desc_as_configured(struct gsm48_chan_desc *cd, const struct gsm_lchan *lchan, + uint8_t tsc); uint8_t gsm_ts_tsc(const struct gsm_bts_trx_ts *ts); diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 1f7b639..9fb5362 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -279,8 +279,12 @@ const uint8_t *data, int len) { struct abis_rsl_dchan_hdr *dh; - struct msgb *msg = rsl_msgb_alloc(); - uint8_t chan_nr = gsm_lchan2chan_nr(lchan); + struct msgb *msg; + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) + return chan_nr; + + msg = rsl_msgb_alloc(); dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); init_dchan_hdr(dh, RSL_MT_SACCH_INFO_MODIFY); @@ -299,8 +303,10 @@ { struct abis_rsl_dchan_hdr *dh; struct msgb *msg; - uint8_t chan_nr = gsm_lchan2chan_nr(lchan); uint8_t bs_power_enc; + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) + return chan_nr; db = abs(db); if (db > 30) @@ -330,7 +336,9 @@ { struct abis_rsl_dchan_hdr *dh; struct msgb *msg; - uint8_t chan_nr = gsm_lchan2chan_nr(lchan); + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) + return chan_nr; LOG_LCHAN(lchan, LOGL_DEBUG, "Tx MS POWER CONTROL (ms_power_lvl=%" PRIu8 ")\n", lchan->ms_power); @@ -526,6 +534,9 @@ struct rsl_ie_chan_mode cm; struct gsm48_chan_desc cd; + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) + return chan_nr; DEBUGP(DRSL, "%s Tx RSL Channel Activate with act_type=%s\n", gsm_ts_and_pchan_name(lchan->ts), @@ -543,13 +554,17 @@ } memset(&cd, 0, sizeof(cd)); - gsm48_lchan2chan_desc(&cd, lchan, lchan->activate.tsc); + rc = gsm48_lchan2chan_desc(&cd, lchan, lchan->activate.tsc); + if (rc) { + LOG_LCHAN(lchan, LOGL_ERROR, "Error encoding Channel Number\n"); + return rc; + } msg = rsl_msgb_alloc(); dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); init_dchan_hdr(dh, RSL_MT_CHAN_ACTIV); - dh->chan_nr = gsm_lchan2chan_nr(lchan); + dh->chan_nr = chan_nr; msgb_tv_put(msg, RSL_IE_ACT_TYPE, act_type); msgb_tlv_put(msg, RSL_IE_CHAN_MODE, sizeof(cm), @@ -649,10 +664,13 @@ struct msgb *msg; int rc; - uint8_t chan_nr = gsm_lchan2chan_nr(lchan); struct rsl_ie_chan_mode cm; struct gsm_bts *bts = lchan->ts->trx->bts; + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) + return chan_nr; + rc = channel_mode_from_lchan(&cm, lchan, &lchan->modify.ch_mode_rate, lchan->modify.info.vamos); if (rc < 0) return rc; @@ -699,11 +717,14 @@ { struct abis_rsl_dchan_hdr *dh; struct gsm_lchan *lchan = msg->lchan; - uint8_t chan_nr = gsm_lchan2chan_nr(lchan); uint8_t encr_info[MAX_A5_KEY_LEN+2]; uint8_t l3_len = msg->len; int rc; + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) + return chan_nr; + /* First push the L3 IE tag and length */ msgb_tv16_push(msg, RSL_IE_L3_INFO, l3_len); @@ -732,9 +753,13 @@ struct abis_rsl_dchan_hdr *dh; struct msgb *msg = rsl_msgb_alloc(); + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) + return chan_nr; + dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); init_dchan_hdr(dh, RSL_MT_DEACTIVATE_SACCH); - dh->chan_nr = gsm_lchan2chan_nr(lchan); + dh->chan_nr = chan_nr; msg->lchan = lchan; msg->dst = rsl_chan_link(lchan); @@ -750,10 +775,14 @@ struct abis_rsl_dchan_hdr *dh; struct msgb *msg; + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) + return chan_nr; + msg = rsl_msgb_alloc(); dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); init_dchan_hdr(dh, RSL_MT_RF_CHAN_REL); - dh->chan_nr = gsm_lchan2chan_nr(lchan); + dh->chan_nr = chan_nr; msg->lchan = lchan; msg->dst = rsl_chan_link(lchan); @@ -882,13 +911,19 @@ /* Send Siemens specific MS RF Power Capability Indication */ int rsl_siemens_mrpci(struct gsm_lchan *lchan, struct rsl_mrpci *mrpci) { - struct msgb *msg = rsl_msgb_alloc(); + struct msgb *msg; struct abis_rsl_dchan_hdr *dh; + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) + return chan_nr; + + msg = rsl_msgb_alloc(); + dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); init_dchan_hdr(dh, RSL_MT_SIEMENS_MRPCI); dh->c.msg_discr = ABIS_RSL_MDISC_DED_CHAN; - dh->chan_nr = gsm_lchan2chan_nr(lchan); + dh->chan_nr = chan_nr; msgb_tv_put(msg, RSL_IE_SIEMENS_MRPCI, *(uint8_t *)mrpci); DEBUGP(DRSL, "%s TX Siemens MRPCI 0x%02x\n", @@ -904,13 +939,19 @@ /* Chapter 8.3.1 */ int rsl_data_request(struct msgb *msg, uint8_t link_id) { + int chan_nr = gsm_lchan2chan_nr(msg->lchan); + if (chan_nr < 0) { + msgb_free(msg); + return chan_nr; + } + if (msg->lchan == NULL) { LOGP(DRSL, LOGL_ERROR, "cannot send DATA REQUEST to unknown lchan\n"); + msgb_free(msg); return -EINVAL; } - rsl_rll_push_l3(msg, RSL_MT_DATA_REQ, gsm_lchan2chan_nr(msg->lchan), - link_id, 1); + rsl_rll_push_l3(msg, RSL_MT_DATA_REQ, chan_nr, link_id, 1); msg->dst = rsl_chan_link(msg->lchan); @@ -922,9 +963,11 @@ int rsl_establish_request(struct gsm_lchan *lchan, uint8_t link_id) { struct msgb *msg; + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) + return chan_nr; - msg = rsl_rll_simple(RSL_MT_EST_REQ, gsm_lchan2chan_nr(lchan), - link_id, 0); + msg = rsl_rll_simple(RSL_MT_EST_REQ, chan_nr, link_id, 0); msg->dst = rsl_chan_link(lchan); DEBUGP(DRLL, "%s RSL RLL ESTABLISH REQ (link_id=0x%02x)\n", @@ -943,9 +986,11 @@ { struct msgb *msg; + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) + return chan_nr; - msg = rsl_rll_simple(RSL_MT_REL_REQ, gsm_lchan2chan_nr(lchan), - link_id, 0); + msg = rsl_rll_simple(RSL_MT_REL_REQ, chan_nr, link_id, 0); /* 0 is normal release, 1 is local end */ msgb_tv_put(msg, RSL_IE_RELEASE_MODE, release_mode); @@ -1858,7 +1903,11 @@ ia->proto_discr = GSM48_PDISC_RR; ia->msg_type = GSM48_MT_RR_IMM_ASS; ia->page_mode = GSM48_PM_SAME; - gsm48_lchan2chan_desc(&ia->chan_desc, lchan, lchan->tsc); + rc = gsm48_lchan2chan_desc(&ia->chan_desc, lchan, lchan->tsc); + if (rc) { + LOG_LCHAN(lchan, LOGL_ERROR, "Error encoding Channel Number\n"); + return rc; + } /* use request reference extracted from CHAN_RQD */ memcpy(&ia->req_ref, lchan->rqd_ref, sizeof(ia->req_ref)); @@ -2297,13 +2346,19 @@ */ int rsl_tx_ipacc_crcx(const struct gsm_lchan *lchan) { - struct msgb *msg = rsl_msgb_alloc(); + struct msgb *msg; struct abis_rsl_dchan_hdr *dh; + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) + return chan_nr; + + msg = rsl_msgb_alloc(); + dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); init_dchan_hdr(dh, RSL_MT_IPAC_CRCX); dh->c.msg_discr = ABIS_RSL_MDISC_IPACCESS; - dh->chan_nr = gsm_lchan2chan_nr(lchan); + dh->chan_nr = chan_nr; /* 0x1- == receive-only, 0x-1 == EFR codec */ msgb_tv_put(msg, RSL_IE_IPAC_SPEECH_MODE, lchan->abis_ip.speech_mode); @@ -2324,14 +2379,20 @@ */ struct msgb *rsl_make_ipacc_mdcx(const struct gsm_lchan *lchan, uint32_t dest_ip, uint16_t dest_port) { - struct msgb *msg = rsl_msgb_alloc(); + struct msgb *msg; struct abis_rsl_dchan_hdr *dh; uint32_t *att_ip; + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) + return NULL; + + msg = rsl_msgb_alloc(); + dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); init_dchan_hdr(dh, RSL_MT_IPAC_MDCX); dh->c.msg_discr = ABIS_RSL_MDISC_IPACCESS; - dh->chan_nr = gsm_lchan2chan_nr(lchan); + dh->chan_nr = chan_nr; msgb_tv16_put(msg, RSL_IE_IPAC_CONN_ID, lchan->abis_ip.conn_id); msgb_v_put(msg, RSL_IE_IPAC_REMOTE_IP); @@ -2356,6 +2417,9 @@ { struct msgb *msg = rsl_make_ipacc_mdcx(lchan, lchan->abis_ip.connect_ip, lchan->abis_ip.connect_port); + if (!msg) + return -EINVAL; + LOG_LCHAN(lchan, LOGL_DEBUG, "Sending IPACC MDCX to BTS:" " %s:%u rtp_payload=%u rtp_payload2=%u conn_id=%u speech_mode=0x%02x\n", ip_to_a(lchan->abis_ip.connect_ip), @@ -2547,13 +2611,19 @@ /*! Tx simplified channel (de-)activation message for non-standard ip.access dyn TS PDCH type. */ static int send_ipacc_style_pdch_act(struct gsm_bts_trx_ts *ts, bool activate) { - struct msgb *msg = rsl_msgb_alloc(); + struct msgb *msg; struct abis_rsl_dchan_hdr *dh; + int chan_nr = gsm_pchan2chan_nr(GSM_PCHAN_TCH_F, ts->nr, 0); + if (chan_nr < 0) + return chan_nr; + + msg = rsl_msgb_alloc(); + dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); init_dchan_hdr(dh, activate ? RSL_MT_IPAC_PDCH_ACT : RSL_MT_IPAC_PDCH_DEACT); dh->c.msg_discr = ABIS_RSL_MDISC_DED_CHAN; - dh->chan_nr = gsm_pchan2chan_nr(GSM_PCHAN_TCH_F, ts->nr, 0); + dh->chan_nr = chan_nr; msg->dst = ts->trx->rsl_link_primary; return abis_rsl_sendmsg(msg); diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 7cc5664..dc6434b 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -546,7 +546,10 @@ /* mandatory bits */ gsm48_cell_desc(&ho->cell_desc, new_lchan->ts->trx->bts); - gsm48_lchan2chan_desc(&ho->chan_desc, new_lchan, gsm_ts_tsc(new_lchan->ts)); + if (gsm48_lchan2chan_desc(&ho->chan_desc, new_lchan, gsm_ts_tsc(new_lchan->ts))) { + msgb_free(msg); + return NULL; + } ho->ho_ref = ho_ref; ho->power_command = power_command; @@ -597,6 +600,7 @@ /* Chapter 9.1.2: Assignment Command */ int gsm48_send_rr_ass_cmd(struct gsm_lchan *current_lchan, struct gsm_lchan *new_lchan, uint8_t power_command) { + int rc; struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 ASS CMD"); struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); struct gsm48_ass_cmd *ass = @@ -618,7 +622,11 @@ * the chan_desc. But as long as multi-slot configurations * are not used we seem to be fine. */ - gsm48_lchan2chan_desc(&ass->chan_desc, new_lchan, new_lchan->tsc); + rc = gsm48_lchan2chan_desc(&ass->chan_desc, new_lchan, new_lchan->tsc); + if (rc) { + msgb_free(msg); + return rc; + } ass->power_command = power_command; /* Cell Channel Description (freq. hopping), TV (see 3GPP TS 44.018, 10.5.2.1b) */ @@ -682,6 +690,7 @@ /* 9.1.5 Channel mode modify: Modify the mode on the MS side */ int gsm48_lchan_modify(struct gsm_lchan *lchan, uint8_t mode) { + int rc; struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 CHN MOD"); struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); struct gsm48_chan_mode_modify *cmm = @@ -694,7 +703,11 @@ gh->proto_discr = GSM48_PDISC_RR; gh->msg_type = GSM48_MT_RR_CHAN_MODE_MODIF; - gsm48_lchan2chan_desc(&cmm->chan_desc, lchan, lchan->modify.tsc); + rc = gsm48_lchan2chan_desc(&cmm->chan_desc, lchan, lchan->modify.tsc); + if (rc) { + msgb_free(msg); + return rc; + } cmm->mode = mode; /* in case of multi rate we need to attach a config */ diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 5f647e2..ce883b0 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -495,23 +495,26 @@ } /* See Table 10.5.25 of GSM04.08 */ -uint8_t gsm_pchan2chan_nr(enum gsm_phys_chan_config pchan, - uint8_t ts_nr, uint8_t lchan_nr) +int gsm_pchan2chan_nr(enum gsm_phys_chan_config pchan, + uint8_t ts_nr, uint8_t lchan_nr) { uint8_t cbits, chan_nr; switch (pchan) { case GSM_PCHAN_TCH_F: case GSM_PCHAN_TCH_F_PDCH: - OSMO_ASSERT(lchan_nr == 0); + if (lchan_nr != 0) + return -EINVAL; cbits = 0x01; break; case GSM_PCHAN_PDCH: - OSMO_ASSERT(lchan_nr == 0); + if (lchan_nr != 0) + return -EINVAL; cbits = RSL_CHAN_OSMO_PDCH >> 3; break; case GSM_PCHAN_TCH_H: - OSMO_ASSERT(lchan_nr < 2); + if (lchan_nr > 1) + return -EINVAL; cbits = 0x02; cbits += lchan_nr; break; @@ -525,19 +528,21 @@ if (lchan_nr == CCCH_LCHAN) chan_nr = 0; else - OSMO_ASSERT(lchan_nr < 4); + return -EINVAL; cbits = 0x04; cbits += lchan_nr; break; case GSM_PCHAN_SDCCH8_SACCH8C: case GSM_PCHAN_SDCCH8_SACCH8C_CBCH: - OSMO_ASSERT(lchan_nr < 8); + if (lchan_nr > 7) + return -EINVAL; cbits = 0x08; cbits += lchan_nr; break; default: case GSM_PCHAN_CCCH: - OSMO_ASSERT(lchan_nr == 0); + if (lchan_nr != 0) + return -EINVAL; cbits = 0x10; break; } @@ -547,15 +552,23 @@ return chan_nr; } -uint8_t gsm_lchan2chan_nr(const struct gsm_lchan *lchan) +int gsm_lchan2chan_nr(const struct gsm_lchan *lchan) { + int rc; uint8_t lchan_nr = lchan->nr; /* The VAMOS lchans are behind the primary ones in the ts->lchan[] array. They keep their lchan->nr as in the * array, but on the wire they are the "shadow" lchans for the primary lchans. For example, for TCH/F, there is * a primary ts->lchan[0] and a VAMOS ts->lchan[1]. Still, the VAMOS lchan should send chan_nr = 0. */ if (lchan->vamos.is_secondary) lchan_nr -= lchan->ts->max_primary_lchans; - return gsm_pchan2chan_nr(lchan->ts->pchan_is, lchan->ts->nr, lchan_nr); + rc = gsm_pchan2chan_nr(lchan->ts->pchan_is, lchan->ts->nr, lchan_nr); + /* Log an error so that we don't need to add logging to each caller of this function */ + if (rc < 0) + LOG_LCHAN(lchan, LOGL_ERROR, + "Error encoding Channel Number: pchan %s ts %u ss %u%s\n", + gsm_pchan_name(lchan->ts->pchan_from_config), lchan->ts->nr, lchan->nr, + lchan->vamos.is_secondary ? " (VAMOS shadow)" : ""); + return rc; } static const uint8_t subslots_per_pchan[] = { @@ -677,23 +690,40 @@ } } -void gsm48_lchan2chan_desc(struct gsm48_chan_desc *cd, - const struct gsm_lchan *lchan, - uint8_t tsc) +int gsm48_lchan2chan_desc(struct gsm48_chan_desc *cd, + const struct gsm_lchan *lchan, + uint8_t tsc) { - cd->chan_nr = gsm_lchan2chan_nr(lchan); + int chan_nr = gsm_lchan2chan_nr(lchan); + if (chan_nr < 0) { + /* Log an error so that we don't need to add logging to each caller of this function */ + LOG_LCHAN(lchan, LOGL_ERROR, "Error encoding Channel Number\n"); + return chan_nr; + } + cd->chan_nr = chan_nr; _chan_desc_fill_tail(cd, lchan, tsc); + return 0; } /* like gsm48_lchan2chan_desc() above, but use ts->pchan_from_config to * return a channel description based on what is configured, rather than * what the current state of the pchan type is */ -void gsm48_lchan2chan_desc_as_configured(struct gsm48_chan_desc *cd, - const struct gsm_lchan *lchan, - uint8_t tsc) +int gsm48_lchan2chan_desc_as_configured(struct gsm48_chan_desc *cd, + const struct gsm_lchan *lchan, + uint8_t tsc) { - cd->chan_nr = gsm_pchan2chan_nr(lchan->ts->pchan_from_config, lchan->ts->nr, lchan->nr); + int chan_nr = gsm_pchan2chan_nr(lchan->ts->pchan_from_config, lchan->ts->nr, lchan->nr); + if (chan_nr < 0) { + /* Log an error so that we don't need to add logging to each caller of this function */ + LOG_LCHAN(lchan, LOGL_ERROR, + "Error encoding Channel Number: pchan %s ts %u ss %u%s (rc = %d)\n", + gsm_pchan_name(lchan->ts->pchan_from_config), lchan->ts->nr, lchan->nr, + lchan->vamos.is_secondary ? " (VAMOS shadow)" : "", chan_nr); + return chan_nr; + } + cd->chan_nr = chan_nr; _chan_desc_fill_tail(cd, lchan, tsc); + return 0; } uint8_t gsm_ts_tsc(const struct gsm_bts_trx_ts *ts) diff --git a/src/osmo-bsc/lcs_loc_req.c b/src/osmo-bsc/lcs_loc_req.c index 1a68316..d5298eb 100644 --- a/src/osmo-bsc/lcs_loc_req.c +++ b/src/osmo-bsc/lcs_loc_req.c @@ -369,7 +369,10 @@ .cause = BSSLAP_CAUSE_INTRA_BSS_HO, }, }; - gsm48_lchan2chan_desc(&apdu->reset.chan_desc, lchan, lchan->tsc); + if (gsm48_lchan2chan_desc(&apdu->reset.chan_desc, lchan, lchan->tsc)) { + lcs_loc_req_fail(LCS_CAUSE_SYSTEM_FAILURE, "Error encoding Channel Number"); + return; + } } lcs_loc_req_send(lcs_loc_req, &bsslap); diff --git a/src/osmo-bsc/osmo_bsc_lcls.c b/src/osmo-bsc/osmo_bsc_lcls.c index 2c90d01..542bbf5 100644 --- a/src/osmo-bsc/osmo_bsc_lcls.c +++ b/src/osmo-bsc/osmo_bsc_lcls.c @@ -243,13 +243,19 @@ uint32_t ip = enable ? conn->lcls.other->lchan->abis_ip.bound_ip : lchan->abis_ip.connect_ip; /* RSL_IE_IPAC_REMOTE_PORT */ uint16_t port = enable ? conn->lcls.other->lchan->abis_ip.bound_port : lchan->abis_ip.connect_port; + struct msgb *msg; if (!conn->lcls.other) { LOGPFSM(conn->lcls.fi, "%s LCLS: other conn is not available!\n", enable ? "enable" : "disable"); return; } - abis_rsl_sendmsg(rsl_make_ipacc_mdcx(lchan, ip, port)); + msg = rsl_make_ipacc_mdcx(lchan, ip, port); + if (!msg) { + LOGPFSML(conn->lcls.fi, LOGL_ERROR, "Error encoding IPACC MDCX\n"); + return; + } + abis_rsl_sendmsg(msg); } static inline bool lcls_check_toggle_allowed(const struct gsm_subscriber_connection *conn, bool enable) diff --git a/src/osmo-bsc/system_information.c b/src/osmo-bsc/system_information.c index 21cbcae..e8b3b7d 100644 --- a/src/osmo-bsc/system_information.c +++ b/src/osmo-bsc/system_information.c @@ -1018,7 +1018,8 @@ struct gsm48_chan_desc cd; /* 10.5.2.5 (TV) CBCH Channel Description IE */ - gsm48_lchan2chan_desc_as_configured(&cd, cbch_lchan, gsm_ts_tsc(cbch_lchan->ts)); + if (gsm48_lchan2chan_desc_as_configured(&cd, cbch_lchan, gsm_ts_tsc(cbch_lchan->ts))) + return -EINVAL; tail = tv_fixed_put(tail, GSM48_IE_CBCH_CHAN_DESC, sizeof(cd), (uint8_t *) &cd); l2_plen += 1 + sizeof(cd); diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index e653920..b741e25 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -100,10 +100,11 @@ { struct msgb *msg = msgb_alloc_headroom(256, 64, "RSL"); struct abis_rsl_dchan_hdr *dh; - uint8_t chan_nr = gsm_lchan2chan_nr(lchan); uint8_t ulm[3], l1i[2], *buf; struct gsm48_hdr *gh; struct gsm48_meas_res *mr; + int chan_nr = gsm_lchan2chan_nr(lchan); + OSMO_ASSERT(chan_nr >= 0); dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); dh->c.msg_discr = ABIS_RSL_MDISC_DED_CHAN; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71ed6437c403a3f9336e17a94b4948fca295d853 Gerrit-Change-Number: 24524 Gerrit-PatchSet: 9 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder 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 Thu Jun 10 15:22:04 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:22:04 +0000 Subject: Change in osmo-bsc[master]: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24430 ) Change subject: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans ...................................................................... RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans Add the Osmocom-specific extension to indicate VAMOS shadow lchans in RSL, in lchan lookup and RSL message transmission. Note that RR messages containing cbits (Assignment Command, Handover Command, ...) must *not* send Osmocom specific cbits to the MS. Only the RSL messages directed to the BTS send Osmocom specific bits. Related: SYS#5315 OS#4940 Depends: If33c1695922d110c0d2c60d5c0136caf2587194e (libosmocore) Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bts_trx.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lcs_loc_req.c M tests/handover/handover_test.c 7 files changed, 83 insertions(+), 42 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved fixeria: Looks good to me, but someone else must approve diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 0d207b8..11b19ec 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1028,12 +1028,12 @@ const struct abis_om_obj_inst *obj_inst); int gsm_pchan2chan_nr(enum gsm_phys_chan_config pchan, - uint8_t ts_nr, uint8_t lchan_nr); -int gsm_lchan2chan_nr(const struct gsm_lchan *lchan); + uint8_t ts_nr, uint8_t lchan_nr, bool vamos_is_secondary); +int gsm_lchan2chan_nr(const struct gsm_lchan *lchan, bool allow_osmo_cbits); int gsm48_lchan2chan_desc(struct gsm48_chan_desc *cd, const struct gsm_lchan *lchan, - uint8_t tsc); + uint8_t tsc, bool allow_osmo_cbits); int gsm48_lchan2chan_desc_as_configured(struct gsm48_chan_desc *cd, const struct gsm_lchan *lchan, uint8_t tsc); diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 9fb5362..c430a16 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -280,7 +280,7 @@ { struct abis_rsl_dchan_hdr *dh; struct msgb *msg; - int chan_nr = gsm_lchan2chan_nr(lchan); + int chan_nr = gsm_lchan2chan_nr(lchan, true); if (chan_nr < 0) return chan_nr; @@ -304,7 +304,7 @@ struct abis_rsl_dchan_hdr *dh; struct msgb *msg; uint8_t bs_power_enc; - int chan_nr = gsm_lchan2chan_nr(lchan); + int chan_nr = gsm_lchan2chan_nr(lchan, true); if (chan_nr < 0) return chan_nr; @@ -336,7 +336,7 @@ { struct abis_rsl_dchan_hdr *dh; struct msgb *msg; - int chan_nr = gsm_lchan2chan_nr(lchan); + int chan_nr = gsm_lchan2chan_nr(lchan, true); if (chan_nr < 0) return chan_nr; @@ -534,7 +534,7 @@ struct rsl_ie_chan_mode cm; struct gsm48_chan_desc cd; - int chan_nr = gsm_lchan2chan_nr(lchan); + int chan_nr = gsm_lchan2chan_nr(lchan, true); if (chan_nr < 0) return chan_nr; @@ -554,7 +554,7 @@ } memset(&cd, 0, sizeof(cd)); - rc = gsm48_lchan2chan_desc(&cd, lchan, lchan->activate.tsc); + rc = gsm48_lchan2chan_desc(&cd, lchan, lchan->activate.tsc, true); if (rc) { LOG_LCHAN(lchan, LOGL_ERROR, "Error encoding Channel Number\n"); return rc; @@ -667,7 +667,7 @@ struct rsl_ie_chan_mode cm; struct gsm_bts *bts = lchan->ts->trx->bts; - int chan_nr = gsm_lchan2chan_nr(lchan); + int chan_nr = gsm_lchan2chan_nr(lchan, true); if (chan_nr < 0) return chan_nr; @@ -721,7 +721,7 @@ uint8_t l3_len = msg->len; int rc; - int chan_nr = gsm_lchan2chan_nr(lchan); + int chan_nr = gsm_lchan2chan_nr(lchan, true); if (chan_nr < 0) return chan_nr; @@ -753,7 +753,7 @@ struct abis_rsl_dchan_hdr *dh; struct msgb *msg = rsl_msgb_alloc(); - int chan_nr = gsm_lchan2chan_nr(lchan); + int chan_nr = gsm_lchan2chan_nr(lchan, true); if (chan_nr < 0) return chan_nr; @@ -775,7 +775,7 @@ struct abis_rsl_dchan_hdr *dh; struct msgb *msg; - int chan_nr = gsm_lchan2chan_nr(lchan); + int chan_nr = gsm_lchan2chan_nr(lchan, true); if (chan_nr < 0) return chan_nr; @@ -914,7 +914,7 @@ struct msgb *msg; struct abis_rsl_dchan_hdr *dh; - int chan_nr = gsm_lchan2chan_nr(lchan); + int chan_nr = gsm_lchan2chan_nr(lchan, true); if (chan_nr < 0) return chan_nr; @@ -939,7 +939,7 @@ /* Chapter 8.3.1 */ int rsl_data_request(struct msgb *msg, uint8_t link_id) { - int chan_nr = gsm_lchan2chan_nr(msg->lchan); + int chan_nr = gsm_lchan2chan_nr(msg->lchan, true); if (chan_nr < 0) { msgb_free(msg); return chan_nr; @@ -963,7 +963,7 @@ int rsl_establish_request(struct gsm_lchan *lchan, uint8_t link_id) { struct msgb *msg; - int chan_nr = gsm_lchan2chan_nr(lchan); + int chan_nr = gsm_lchan2chan_nr(lchan, true); if (chan_nr < 0) return chan_nr; @@ -986,7 +986,7 @@ { struct msgb *msg; - int chan_nr = gsm_lchan2chan_nr(lchan); + int chan_nr = gsm_lchan2chan_nr(lchan, true); if (chan_nr < 0) return chan_nr; @@ -1903,7 +1903,7 @@ ia->proto_discr = GSM48_PDISC_RR; ia->msg_type = GSM48_MT_RR_IMM_ASS; ia->page_mode = GSM48_PM_SAME; - rc = gsm48_lchan2chan_desc(&ia->chan_desc, lchan, lchan->tsc); + rc = gsm48_lchan2chan_desc(&ia->chan_desc, lchan, lchan->tsc, true); if (rc) { LOG_LCHAN(lchan, LOGL_ERROR, "Error encoding Channel Number\n"); return rc; @@ -2349,7 +2349,7 @@ struct msgb *msg; struct abis_rsl_dchan_hdr *dh; - int chan_nr = gsm_lchan2chan_nr(lchan); + int chan_nr = gsm_lchan2chan_nr(lchan, true); if (chan_nr < 0) return chan_nr; @@ -2383,7 +2383,7 @@ struct abis_rsl_dchan_hdr *dh; uint32_t *att_ip; - int chan_nr = gsm_lchan2chan_nr(lchan); + int chan_nr = gsm_lchan2chan_nr(lchan, true); if (chan_nr < 0) return NULL; @@ -2614,7 +2614,7 @@ struct msgb *msg; struct abis_rsl_dchan_hdr *dh; - int chan_nr = gsm_pchan2chan_nr(GSM_PCHAN_TCH_F, ts->nr, 0); + int chan_nr = gsm_pchan2chan_nr(GSM_PCHAN_TCH_F, ts->nr, 0, false); if (chan_nr < 0) return chan_nr; diff --git a/src/osmo-bsc/bts_trx.c b/src/osmo-bsc/bts_trx.c index 3f73f7f..f23f16e 100644 --- a/src/osmo-bsc/bts_trx.c +++ b/src/osmo-bsc/bts_trx.c @@ -151,6 +151,7 @@ uint8_t cbits = chan_nr >> 3; uint8_t lch_idx; struct gsm_bts_trx_ts *ts = &trx->ts[ts_nr]; + bool vamos = false; bool ok; if (rc) @@ -160,6 +161,21 @@ * timeslot that is in transition between pchan modes. That ACK actually confirms the pchan switch, so instead * of checking the current pchan mode, we must allow any pchans that a dyn TS is capable of. */ + /* Interpret Osmocom specific cbits only for OsmoBTS type */ + if (trx->bts->model->type == GSM_BTS_TYPE_OSMOBTS) { + /* For VAMOS cbits, set vamos = true and handle cbits as their equivalent non-VAMOS cbits below. */ + switch (cbits) { + case ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Bm_ACCHs: + case ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Lm_ACCHs(0): + case ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Lm_ACCHs(1): + cbits &= ~RSL_CHAN_OSMO_VAMOS_MASK; + vamos = true; + break; + default: + break; + } + } + switch (cbits) { case ABIS_RSL_CHAN_NR_CBITS_Bm_ACCHs: lch_idx = 0; /* TCH/F */ @@ -207,6 +223,8 @@ if (rc && ok) *rc = 0; + if (vamos && (trx->bts->model->type == GSM_BTS_TYPE_OSMOBTS)) + lch_idx += ts->max_primary_lchans; return &ts->lchan[lch_idx]; } diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index dc6434b..a641b45 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -546,7 +546,7 @@ /* mandatory bits */ gsm48_cell_desc(&ho->cell_desc, new_lchan->ts->trx->bts); - if (gsm48_lchan2chan_desc(&ho->chan_desc, new_lchan, gsm_ts_tsc(new_lchan->ts))) { + if (gsm48_lchan2chan_desc(&ho->chan_desc, new_lchan, gsm_ts_tsc(new_lchan->ts), false)) { msgb_free(msg); return NULL; } @@ -622,7 +622,7 @@ * the chan_desc. But as long as multi-slot configurations * are not used we seem to be fine. */ - rc = gsm48_lchan2chan_desc(&ass->chan_desc, new_lchan, new_lchan->tsc); + rc = gsm48_lchan2chan_desc(&ass->chan_desc, new_lchan, new_lchan->tsc, false); if (rc) { msgb_free(msg); return rc; @@ -703,7 +703,7 @@ gh->proto_discr = GSM48_PDISC_RR; gh->msg_type = GSM48_MT_RR_CHAN_MODE_MODIF; - rc = gsm48_lchan2chan_desc(&cmm->chan_desc, lchan, lchan->modify.tsc); + rc = gsm48_lchan2chan_desc(&cmm->chan_desc, lchan, lchan->modify.tsc, false); if (rc) { msgb_free(msg); return rc; diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index ce883b0..33a2249 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -496,7 +496,7 @@ /* See Table 10.5.25 of GSM04.08 */ int gsm_pchan2chan_nr(enum gsm_phys_chan_config pchan, - uint8_t ts_nr, uint8_t lchan_nr) + uint8_t ts_nr, uint8_t lchan_nr, bool vamos_is_secondary) { uint8_t cbits, chan_nr; @@ -505,7 +505,10 @@ case GSM_PCHAN_TCH_F_PDCH: if (lchan_nr != 0) return -EINVAL; - cbits = 0x01; + if (vamos_is_secondary) + cbits = ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Bm_ACCHs; + else + cbits = 0x01; break; case GSM_PCHAN_PDCH: if (lchan_nr != 0) @@ -513,10 +516,14 @@ cbits = RSL_CHAN_OSMO_PDCH >> 3; break; case GSM_PCHAN_TCH_H: - if (lchan_nr > 1) + if (lchan_nr >= 2) return -EINVAL; - cbits = 0x02; - cbits += lchan_nr; + if (vamos_is_secondary) + cbits = ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Lm_ACCHs(lchan_nr); + else { + cbits = 0x02; + cbits += lchan_nr; + } break; case GSM_PCHAN_CCCH_SDCCH4: case GSM_PCHAN_CCCH_SDCCH4_CBCH: @@ -527,14 +534,14 @@ */ if (lchan_nr == CCCH_LCHAN) chan_nr = 0; - else + else if (lchan_nr >= 4) return -EINVAL; cbits = 0x04; cbits += lchan_nr; break; case GSM_PCHAN_SDCCH8_SACCH8C: case GSM_PCHAN_SDCCH8_SACCH8C_CBCH: - if (lchan_nr > 7) + if (lchan_nr >= 8) return -EINVAL; cbits = 0x08; cbits += lchan_nr; @@ -552,16 +559,31 @@ return chan_nr; } -int gsm_lchan2chan_nr(const struct gsm_lchan *lchan) +/* For RSL, to talk to osmo-bts, we introduce Osmocom specific channel number cbits to indicate VAMOS secondary lchans. + * However, in RR, which is sent to the MS, these special cbits must not be sent, but their "normal" equivalent; for RR + * messages, pass allow_osmo_cbits = false. */ +int gsm_lchan2chan_nr(const struct gsm_lchan *lchan, bool allow_osmo_cbits) { int rc; uint8_t lchan_nr = lchan->nr; + + /* Take care that we never send Osmocom specific cbits to non-Osmo BTS. */ + if (allow_osmo_cbits && lchan->vamos.is_secondary + && lchan->ts->trx->bts->model->type != GSM_BTS_TYPE_OSMOBTS) { + LOG_LCHAN(lchan, LOGL_ERROR, "Cannot address VAMOS shadow lchan on this BTS type: %s\n", + get_value_string(bts_type_names, lchan->ts->trx->bts->model->type)); + return -ENOTSUP; + } + if (allow_osmo_cbits && lchan->ts->trx->bts->model->type != GSM_BTS_TYPE_OSMOBTS) + allow_osmo_cbits = false; + /* The VAMOS lchans are behind the primary ones in the ts->lchan[] array. They keep their lchan->nr as in the * array, but on the wire they are the "shadow" lchans for the primary lchans. For example, for TCH/F, there is * a primary ts->lchan[0] and a VAMOS ts->lchan[1]. Still, the VAMOS lchan should send chan_nr = 0. */ if (lchan->vamos.is_secondary) lchan_nr -= lchan->ts->max_primary_lchans; - rc = gsm_pchan2chan_nr(lchan->ts->pchan_is, lchan->ts->nr, lchan_nr); + rc = gsm_pchan2chan_nr(lchan->ts->pchan_is, lchan->ts->nr, lchan_nr, + allow_osmo_cbits ? lchan->vamos.is_secondary : false); /* Log an error so that we don't need to add logging to each caller of this function */ if (rc < 0) LOG_LCHAN(lchan, LOGL_ERROR, @@ -692,9 +714,9 @@ int gsm48_lchan2chan_desc(struct gsm48_chan_desc *cd, const struct gsm_lchan *lchan, - uint8_t tsc) + uint8_t tsc, bool allow_osmo_cbits) { - int chan_nr = gsm_lchan2chan_nr(lchan); + int chan_nr = gsm_lchan2chan_nr(lchan, allow_osmo_cbits); if (chan_nr < 0) { /* Log an error so that we don't need to add logging to each caller of this function */ LOG_LCHAN(lchan, LOGL_ERROR, "Error encoding Channel Number\n"); @@ -712,7 +734,8 @@ const struct gsm_lchan *lchan, uint8_t tsc) { - int chan_nr = gsm_pchan2chan_nr(lchan->ts->pchan_from_config, lchan->ts->nr, lchan->nr); + int chan_nr = gsm_pchan2chan_nr(lchan->ts->pchan_from_config, lchan->ts->nr, lchan->nr, + lchan->vamos.is_secondary); if (chan_nr < 0) { /* Log an error so that we don't need to add logging to each caller of this function */ LOG_LCHAN(lchan, LOGL_ERROR, diff --git a/src/osmo-bsc/lcs_loc_req.c b/src/osmo-bsc/lcs_loc_req.c index d5298eb..7153ce6 100644 --- a/src/osmo-bsc/lcs_loc_req.c +++ b/src/osmo-bsc/lcs_loc_req.c @@ -369,7 +369,7 @@ .cause = BSSLAP_CAUSE_INTRA_BSS_HO, }, }; - if (gsm48_lchan2chan_desc(&apdu->reset.chan_desc, lchan, lchan->tsc)) { + if (gsm48_lchan2chan_desc(&apdu->reset.chan_desc, lchan, lchan->tsc, false)) { lcs_loc_req_fail(LCS_CAUSE_SYSTEM_FAILURE, "Error encoding Channel Number"); return; } diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index b741e25..bcf9019 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -103,7 +103,7 @@ uint8_t ulm[3], l1i[2], *buf; struct gsm48_hdr *gh; struct gsm48_meas_res *mr; - int chan_nr = gsm_lchan2chan_nr(lchan); + int chan_nr = gsm_lchan2chan_nr(lchan, true); OSMO_ASSERT(chan_nr >= 0); dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); @@ -555,7 +555,7 @@ dh->c.msg_discr = ABIS_RSL_MDISC_DED_CHAN; dh->c.msg_type = (act) ? RSL_MT_CHAN_ACTIV_ACK : RSL_MT_RF_CHAN_REL_ACK; dh->ie_chan = RSL_IE_CHAN_NR; - dh->chan_nr = gsm_lchan2chan_nr(lchan); + dh->chan_nr = gsm_lchan2chan_nr(lchan, true); msg->dst = rsl_chan_link(lchan); msg->l2h = (unsigned char *)dh; @@ -568,7 +568,7 @@ { struct msgb *msg = msgb_alloc_headroom(256, 64, "RSL"); struct abis_rsl_rll_hdr *rh; - uint8_t chan_nr = gsm_lchan2chan_nr(lchan); + uint8_t chan_nr = gsm_lchan2chan_nr(lchan, true); uint8_t *buf; struct gsm48_hdr *gh; struct gsm48_ho_cpl *hc; @@ -606,7 +606,7 @@ { struct msgb *msg = msgb_alloc_headroom(256, 64, "RSL"); struct abis_rsl_rll_hdr *rh; - uint8_t chan_nr = gsm_lchan2chan_nr(lchan); + uint8_t chan_nr = gsm_lchan2chan_nr(lchan, true); fprintf(stderr, "- Send EST IND for %s\n", gsm_lchan_name(lchan)); @@ -628,7 +628,7 @@ { struct msgb *msg = msgb_alloc_headroom(256, 64, "RSL"); struct abis_rsl_rll_hdr *rh; - uint8_t chan_nr = gsm_lchan2chan_nr(lchan); + uint8_t chan_nr = gsm_lchan2chan_nr(lchan, true); fprintf(stderr, "- Send HO DETECT for %s\n", gsm_lchan_name(lchan)); @@ -654,7 +654,7 @@ { struct msgb *msg = msgb_alloc_headroom(256, 64, "RSL"); struct abis_rsl_rll_hdr *rh; - uint8_t chan_nr = gsm_lchan2chan_nr(lchan); + uint8_t chan_nr = gsm_lchan2chan_nr(lchan, true); uint8_t *buf; struct gsm48_hdr *gh; struct gsm48_ho_cpl *hc; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 Gerrit-Change-Number: 24430 Gerrit-PatchSet: 19 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder 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 Jun 10 15:22:04 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:22:04 +0000 Subject: Change in osmo-bsc[master]: VTY: 'show lchan': show that lchan is in VAMOS mode In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24379 ) Change subject: VTY: 'show lchan': show that lchan is in VAMOS mode ...................................................................... VTY: 'show lchan': show that lchan is in VAMOS mode Related: SYS#5315 OS#4940 Change-Id: I9f38712f941d60531526cc3395875655455909d9 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 4 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 1f208bc..3eedffb 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1682,6 +1682,8 @@ 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); @@ -1726,9 +1728,10 @@ 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 TSC-s%dc%u, State %s - L1 MS Power: %u dBm RXL-FULL-dl: %4d dBm RXL-FULL-ul: %4d dBm%s", + 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, gsm_lchant_name(lchan->type), + lchan->vamos.enabled ? " (VAMOS)" : "", lchan->tsc_set > 0 ? lchan->tsc_set : 1, lchan->tsc, lchan_state_name(lchan), -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9f38712f941d60531526cc3395875655455909d9 Gerrit-Change-Number: 24379 Gerrit-PatchSet: 26 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 15:22:05 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:22:05 +0000 Subject: Change in osmo-bsc[master]: VTY: add 'vamos-subslot' to activate a secondary lchan In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24380 ) Change subject: VTY: add 'vamos-subslot' to activate a secondary lchan ...................................................................... VTY: add 'vamos-subslot' to activate a secondary lchan Related: SYS#5315 OS#4940 Change-Id: If44b6bdb78046502eb0b66529ae190a955d9978c --- M src/osmo-bsc/bsc_vty.c M tests/osmo-bsc.vty 2 files changed, 27 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved dexter: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 3eedffb..71a0f0b 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -6297,8 +6297,10 @@ * 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 <0-7> (activate|activate-vamos|deactivate) (hr|fr|efr|amr|sig) [<0-7>]", - BTS_NR_TRX_TS_SS_STR2 + "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" @@ -6306,19 +6308,33 @@ { struct gsm_bts_trx_ts *ts; struct gsm_lchan *lchan; - int ss_nr = atoi(argv[3]); - const char *act_str = argv[4]; - const char *codec_str = argv[5]; + 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]; int activate; int amr_mode = -1; - if (argc > 6) - amr_mode = atoi(argv[6]); + if (argc > 7) + amr_mode = atoi(argv[7]); ts = vty_get_ts(vty, argv[0], argv[1], argv[2]); if (!ts) return CMD_WARNING; + if (ss_nr >= ts->max_primary_lchans) { + vty_out(vty, "Invalid sub-slot number for this timeslot type%s", VTY_NEWLINE); + return CMD_WARNING; + } + + if (vamos && !osmo_bts_has_feature(&ts->trx->bts->features, BTS_FEAT_VAMOS)) { + vty_out(vty, "BTS does not support VAMOS%s", VTY_NEWLINE); + return CMD_WARNING; + } + + if (vamos) + ss_nr += ts->max_primary_lchans; + lchan = &ts->lchan[ss_nr]; if (!strcmp(act_str, "activate")) diff --git a/tests/osmo-bsc.vty b/tests/osmo-bsc.vty index c7e9e6d..cbd4985 100644 --- a/tests/osmo-bsc.vty +++ b/tests/osmo-bsc.vty @@ -33,7 +33,7 @@ OsmoBSC# list ... - bts <0-255> trx <0-255> timeslot <0-7> 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|deactivate) (hr|fr|efr|amr|sig) [<0-7>] ... OsmoBSC# bts? @@ -59,8 +59,9 @@ <0-7> Timeslot Number OsmoBSC# bts 0 trx 0 timeslot 0 ? - pdch Packet Data Channel - sub-slot Sub-slot for manual command + pdch Packet Data Channel + sub-slot Primary sub-slot + vamos-sub-slot VAMOS secondary shadow subslot, range <0-1>, only valid for TCH type timeslots OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot ? <0-7> Sub-slot Number -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If44b6bdb78046502eb0b66529ae190a955d9978c Gerrit-Change-Number: 24380 Gerrit-PatchSet: 26 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter 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 Jun 10 15:22:05 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:22:05 +0000 Subject: Change in osmo-bsc[master]: VTY: add lchan re-assignment command In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24381 ) Change subject: VTY: add lchan re-assignment command ...................................................................... VTY: add lchan re-assignment command Add VTY command to trigger an intra-cell re-assignment, also allowing to re-assign to a secondary VAMOS lchan. Related: SYS#5315 OS#4940 Change-Id: If006f5caaf83b07675f57e5665cfa79328da55e6 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c M tests/osmo-bsc.vty 4 files changed, 129 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/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 11b19ec..dccf5a1 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -131,6 +131,7 @@ ASSIGN_FOR_NONE, ASSIGN_FOR_BSSMAP_REQ, ASSIGN_FOR_CONGESTION_RESOLUTION, + ASSIGN_FOR_VTY, }; extern const struct value_string assign_for_names[]; diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 71a0f0b..430863b 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -6590,6 +6590,94 @@ return CMD_SUCCESS; } +DEFUN(lchan_reassign, lchan_reassign_cmd, + "bts <0-255> trx <0-255> timeslot <0-7> (sub-slot|vamos-sub-slot) <0-7> " + "reassign-to trx <0-255> timeslot <0-7> (sub-slot|vamos-sub-slot) <0-7> " + TSC_ARGS_OPT, + 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 + "Trigger Assignment to an unused lchan on the same cell\n" + "Target TRX\nTRX nr\nTarget timeslot\ntimeslot nr\n" + "Primary sub-slot\n" "VAMOS secondary shadow subslot, range <0-1>, only valid for TCH type timeslots\n" + SS_NR_STR + TSC_ARGS_DOC) +{ + const char *bts_str = argv[0]; + const char *from_trx_str = argv[1]; + const char *from_ts_str = argv[2]; + bool from_vamos = (strcmp(argv[3], "vamos-sub-slot") == 0); + int from_ss_nr = atoi(argv[4]); + const char *to_trx_str = argv[5]; + const char *to_ts_str = argv[6]; + bool to_vamos = (strcmp(argv[7], "vamos-sub-slot") == 0); + int to_ss_nr = atoi(argv[8]); + int tsc_set = (argc > 10) ? atoi(argv[10]) : -1; + int tsc = (argc > 11) ? atoi(argv[11]) : -1; + + struct gsm_bts_trx_ts *from_ts; + struct gsm_bts_trx_ts *to_ts; + struct gsm_lchan *from_lchan; + struct gsm_lchan *to_lchan; + + from_ts = vty_get_ts(vty, bts_str, from_trx_str, from_ts_str); + if (!from_ts) + return CMD_WARNING; + to_ts = vty_get_ts(vty, bts_str, to_trx_str, to_ts_str); + if (!to_ts) + return CMD_WARNING; + + if (!ts_is_capable_of_pchan(to_ts, from_ts->pchan_is)) { + vty_out(vty, "cannot re-assign, target timeslot has mismatching physical channel config: %s -> %s%s", + gsm_pchan_name(from_ts->pchan_is), gsm_pchan_name(to_ts->pchan_on_init), VTY_NEWLINE); + return CMD_WARNING; + } + + if (from_ss_nr >= from_ts->max_primary_lchans) { + vty_out(vty, "cannot re-assign, invalid source subslot number: %d%s", + from_ss_nr, VTY_NEWLINE); + return CMD_WARNING; + } + + if (to_ss_nr >= to_ts->max_primary_lchans) { + vty_out(vty, "cannot re-assign, invalid target subslot number: %d%s", + to_ss_nr, VTY_NEWLINE); + return CMD_WARNING; + } + + if (from_vamos) + from_ss_nr += from_ts->max_primary_lchans; + from_lchan = &from_ts->lchan[from_ss_nr]; + + if (to_vamos) + to_ss_nr += to_ts->max_primary_lchans; + to_lchan = &to_ts->lchan[to_ss_nr]; + + if (!lchan_state_is(from_lchan, LCHAN_ST_ESTABLISHED)) { + vty_out(vty, "cannot re-assign, source lchan is not in ESTABLISHED state%s", VTY_NEWLINE); + return CMD_WARNING; + } + if (!lchan_state_is(to_lchan, LCHAN_ST_UNUSED)) { + vty_out(vty, "cannot re-assign, target lchan is already in use%s", VTY_NEWLINE); + 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); + + 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)" : ""); + LOG_LCHAN(to_lchan, LOGL_NOTICE, "VTY requests re-assignment of %s to this lchan%s TSC %d/%d\n", + gsm_lchan_name(from_lchan), to_lchan->vamos.is_secondary ? " (to VAMOS mode)" : "", + tsc_set, tsc); + if (reassignment_request_to_lchan(ASSIGN_FOR_VTY, from_lchan, to_lchan, tsc_set, tsc)) { + vty_out(vty, "failed to request re-assignment%s", VTY_NEWLINE); + return CMD_WARNING; + } + return CMD_SUCCESS; +} + DEFUN(ctrl_trap, ctrl_trap_cmd, "ctrl-interface generate-trap TRAP VALUE", "Commands related to the CTRL Interface\n" @@ -8069,6 +8157,7 @@ install_element(ENABLE_NODE, &vamos_modify_lchan_cmd); install_element(ENABLE_NODE, &lchan_mdcx_cmd); install_element(ENABLE_NODE, &lchan_set_borken_cmd); + install_element(ENABLE_NODE, &lchan_reassign_cmd); install_element(ENABLE_NODE, &handover_subscr_conn_cmd); install_element(ENABLE_NODE, &assignment_subscr_conn_cmd); diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 33a2249..0d1395c 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -1061,6 +1061,7 @@ OSMO_VALUE_STRING(ASSIGN_FOR_NONE), OSMO_VALUE_STRING(ASSIGN_FOR_BSSMAP_REQ), OSMO_VALUE_STRING(ASSIGN_FOR_CONGESTION_RESOLUTION), + OSMO_VALUE_STRING(ASSIGN_FOR_VTY), {} }; diff --git a/tests/osmo-bsc.vty b/tests/osmo-bsc.vty index cbd4985..48f3f0b 100644 --- a/tests/osmo-bsc.vty +++ b/tests/osmo-bsc.vty @@ -11,6 +11,7 @@ deactivate Manual Channel Deactivation (e.g. for BER test) modify Manually send Channel Mode Modify (for debugging) mdcx Modify RTP Connection + reassign-to Trigger Assignment to an unused lchan on the same cell handover Manually trigger handover (for debugging) assignment Manually trigger assignment (for debugging) @@ -72,6 +73,7 @@ deactivate Manual Channel Deactivation (e.g. for BER test) modify Manually send Channel Mode Modify (for debugging) mdcx Modify RTP Connection + reassign-to Trigger Assignment to an unused lchan on the same cell handover Manually trigger handover (for debugging) assignment Manually trigger assignment (for debugging) @@ -88,6 +90,42 @@ OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 activate fr 0 ? +OsmoBSC# list +... + bts <0-255> trx <0-255> timeslot <0-7> (sub-slot|vamos-sub-slot) <0-7> reassign-to trx <0-255> timeslot <0-7> (sub-slot|vamos-sub-slot) <0-7> [tsc] [<1-4>] [<0-7>] +... + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 reassign-to ? + trx Target TRX + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 reassign-to trx ? + <0-255> TRX nr + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 reassign-to trx 0 ? + timeslot Target timeslot + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 reassign-to trx 0 timeslot ? + <0-7> timeslot nr + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 reassign-to trx 0 timeslot 0 ? + sub-slot Primary sub-slot + vamos-sub-slot VAMOS secondary shadow subslot, range <0-1>, only valid for TCH type timeslots + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 reassign-to trx 0 timeslot 0 vamos-sub-slot ? + <0-7> Sub-slot Number + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 reassign-to trx 0 timeslot 0 vamos-sub-slot 0 ? + [tsc] Provide specific TSC Set and Training Sequence Code + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 reassign-to trx 0 timeslot 0 vamos-sub-slot 0 tsc ? + [<1-4>] TSC Set + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 reassign-to trx 0 timeslot 0 vamos-sub-slot 0 tsc 1 ? + [<0-7>] Training Sequence Code + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 reassign-to trx 0 timeslot 0 vamos-sub-slot 0 tsc 1 0 ? + + OsmoBSC# configure terminal OsmoBSC(config)# network OsmoBSC(config-net)# list -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If006f5caaf83b07675f57e5665cfa79328da55e6 Gerrit-Change-Number: 24381 Gerrit-PatchSet: 29 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 Thu Jun 10 15:22:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:22:07 +0000 Subject: Change in osmo-bsc[master]: log: assignment_fsm: drop newline from assignment_fail In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24382 ) Change subject: log: assignment_fsm: drop newline from assignment_fail ...................................................................... log: assignment_fsm: drop newline from assignment_fail Drop terminating newline from an assignment_fail() call which causes an erratic line feed in logging. Change-Id: Ib56e1f6a45c7e2c235f8ef0c8dea7151481677ab --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, approved diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index a54bee5..fd047eb 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -603,7 +603,7 @@ assignment_count_result(CTR_ASSIGNMENT_NO_CHANNEL); assignment_fail(GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE, "BSSMAP Assignment Command:" - " No lchan available for: pref=%s:%s / alt1=%s:%s / alt2=%s:%s\n", + " No lchan available for: pref=%s:%s / alt1=%s:%s / alt2=%s:%s", gsm48_chan_mode_name(req->ch_mode_rate_list[0].chan_mode), rate_names[req->ch_mode_rate_list[0].chan_rate], req->n_ch_mode_rate > 1 ? gsm48_chan_mode_name(req->ch_mode_rate_list[1].chan_mode) : "", -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib56e1f6a45c7e2c235f8ef0c8dea7151481677ab Gerrit-Change-Number: 24382 Gerrit-PatchSet: 29 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 15:22:08 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:22:08 +0000 Subject: Change in osmo-bsc[master]: log: assignment_fsm: tweak err msg for incompatible chan In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24383 ) Change subject: log: assignment_fsm: tweak err msg for incompatible chan ...................................................................... log: assignment_fsm: tweak err msg for incompatible chan Related: SYS#5315 OS#4940 Change-Id: Ifd8790923d54a27061708ff8077d509238b9c7dd --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 4 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index fd047eb..f5aee82 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -576,8 +576,10 @@ } if (!matching_mode) { assignment_fail(GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE, - "Assignment to lchan %s requested, but lchan is not compatible\n", - gsm_lchan_name(req->target_lchan)); + "Assignment of lchan %s to %s type %s requested, but lchan is not compatible", + gsm_lchan_name(conn->lchan), + gsm_lchan_name(req->target_lchan), + gsm_lchant_name(conn->assignment.new_lchan->type)); return; } } else { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24383 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifd8790923d54a27061708ff8077d509238b9c7dd Gerrit-Change-Number: 24383 Gerrit-PatchSet: 29 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 15:22:08 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:22:08 +0000 Subject: Change in osmo-bsc[master]: clarify bts_chan_load In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24384 ) Change subject: clarify bts_chan_load ...................................................................... clarify bts_chan_load Change-Id: I9bd80a08472018e69360ac5739979c7056d4f063 --- M src/osmo-bsc/chan_alloc.c 1 file changed, 6 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/osmo-bsc/chan_alloc.c b/src/osmo-bsc/chan_alloc.c index 5915a93..f2a41b7 100644 --- a/src/osmo-bsc/chan_alloc.c +++ b/src/osmo-bsc/chan_alloc.c @@ -59,18 +59,17 @@ if (!nm_is_running(&ts->mo.nm_state)) continue; - /* Dynamic timeslots have to be counted separately - * when not in TCH/F or TCH/H mode because they don't - * have an lchan's allocated to them. At the same time, - * dynamic timeslots in NONE and PDCH modes are same - * as in UNUSED mode from the CS channel load perspective - * beause they can be switched to TCH mode at any moment. - * I.e. they are "available" for TCH. */ + /* 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 + * 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 || ts->pchan_on_init == GSM_PCHAN_TCH_F_PDCH) && (ts->pchan_is == GSM_PCHAN_NONE || ts->pchan_is == GSM_PCHAN_PDCH)) { pl->total++; + /* Below loop would not count this timeslot, since in PDCH mode it has no usable + * timeslots. But let's make it clear that the timeslot must not be counted again: */ + continue; } ts_for_n_lchans(lchan, ts, ts->max_primary_lchans) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9bd80a08472018e69360ac5739979c7056d4f063 Gerrit-Change-Number: 24384 Gerrit-PatchSet: 29 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 Thu Jun 10 15:22:09 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:22:09 +0000 Subject: Change in osmo-bsc[master]: get_any_lchan(): reduce minor code dup In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24385 ) Change subject: get_any_lchan(): reduce minor code dup ...................................................................... get_any_lchan(): reduce minor code dup Change-Id: I304a7333adc265e156f04b42a10bac6912f58ad2 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 4 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, approved diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index c430a16..ac8006d 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1701,19 +1701,12 @@ ts = &trx->ts[ts_nr]; ts_for_n_lchans(lchan, ts, ts->max_primary_lchans) { if (lchan->type == GSM_LCHAN_TCH_F || lchan->type == GSM_LCHAN_TCH_H) { - if (bts->chan_alloc_reverse) { - if (lchan->fi->state == LCHAN_ST_ESTABLISHED) + if (lchan->fi->state == LCHAN_ST_ESTABLISHED) { + if (!lchan_est || bts->chan_alloc_reverse) lchan_est = lchan; - else - lchan_any = lchan; } else { - if (lchan->fi->state == LCHAN_ST_ESTABLISHED) { - if (!lchan_est) - lchan_est = lchan; - } else { - if (!lchan_any) - lchan_any = lchan; - } + if (!lchan_any || bts->chan_alloc_reverse) + lchan_any = lchan; } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I304a7333adc265e156f04b42a10bac6912f58ad2 Gerrit-Change-Number: 24385 Gerrit-PatchSet: 29 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 Thu Jun 10 15:22:09 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:22:09 +0000 Subject: Change in osmo-bsc[master]: cosmetic loop simplification in gsm48_multirate_config() In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24394 ) Change subject: cosmetic loop simplification in gsm48_multirate_config() ...................................................................... cosmetic loop simplification in gsm48_multirate_config() Change-Id: I52424ad6a0bf499fe040cf0a1de00e636a0a40fe --- M src/osmo-bsc/gsm_04_08_rr.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve neels: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index a641b45..16fe999 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -417,13 +417,13 @@ uint8_t *data; /* Check if modes for consistency (order and duplicates) */ - for (i = 0; i < num_modes; i++) { - if (i > 0 && modes[i - 1].mode > modes[i].mode) { + for (i = 1; i < num_modes; i++) { + if (modes[i - 1].mode > modes[i].mode) { LOGP(DRR, LOGL_ERROR, "BUG: Multirate codec with inconsistent config (mode order).\n"); return -EINVAL; } - if (i > 0 && modes[i - 1].mode == modes[i].mode) { + if (modes[i - 1].mode == modes[i].mode) { LOGP(DRR, LOGL_ERROR, "BUG: Multirate codec with inconsistent config (duplicate modes).\n"); return -EINVAL; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I52424ad6a0bf499fe040cf0a1de00e636a0a40fe Gerrit-Change-Number: 24394 Gerrit-PatchSet: 25 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 15:22:10 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:22:10 +0000 Subject: Change in osmo-bsc[master]: RSL: set default TEI according to TRX number In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24395 ) Change subject: RSL: set default TEI according to TRX number ...................................................................... RSL: set default TEI according to TRX number Change-Id: I3c500f7a5afc9143d4ea7102ab96e52aeb67b4b6 --- M src/osmo-bsc/bts_trx.c 1 file changed, 2 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/osmo-bsc/bts_trx.c b/src/osmo-bsc/bts_trx.c index f23f16e..f183742 100644 --- a/src/osmo-bsc/bts_trx.c +++ b/src/osmo-bsc/bts_trx.c @@ -67,6 +67,8 @@ trx->bts = bts; trx->nr = bts->num_trx++; + trx->rsl_tei_primary = trx->nr; + trx->mo.fi = osmo_fsm_inst_alloc(&nm_rcarrier_fsm, trx, trx, LOGL_INFO, NULL); osmo_fsm_inst_update_id_f(trx->mo.fi, "bts%d-trx%d", bts->nr, trx->nr); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3c500f7a5afc9143d4ea7102ab96e52aeb67b4b6 Gerrit-Change-Number: 24395 Gerrit-PatchSet: 25 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 15:22:10 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:22:10 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: lchan_fail() strings should not have a terminating newline In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24460 ) Change subject: lchan_fsm: lchan_fail() strings should not have a terminating newline ...................................................................... lchan_fsm: lchan_fail() strings should not have a terminating newline Change-Id: I063fd5598add75c39338d90798189c10a0714094 --- M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lchan_rtp_fsm.c 2 files changed, 10 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve dexter: Looks good to me, approved fixeria: Looks good to me, but someone else must approve diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index c56be8d..03ccec0 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -720,7 +720,7 @@ return; } - lchan_fail("Failed to setup RTP stream: %s in state %s\n", + lchan_fail("Failed to setup RTP stream: %s in state %s", osmo_fsm_event_name(fi->fsm, event), osmo_fsm_inst_state_name(fi)); return; @@ -858,7 +858,7 @@ case ACTIVATE_FOR_MS_CHANNEL_REQUEST: rc = rsl_tx_imm_assignment(lchan); if (rc) { - lchan_fail("Failed to Tx RR Immediate Assignment message (rc=%d %s)\n", + lchan_fail("Failed to Tx RR Immediate Assignment message (rc=%d %s)", rc, strerror(-rc)); return; } @@ -961,7 +961,7 @@ return; } - lchan_fail("Failed to setup RTP stream: %s in state %s\n", + lchan_fail("Failed to setup RTP stream: %s in state %s", osmo_fsm_event_name(fi->fsm, event), osmo_fsm_inst_state_name(fi)); return; @@ -986,7 +986,7 @@ return; case LCHAN_EV_RR_CHAN_MODE_MODIFY_ERROR: - lchan_fail("Failed to change channel mode on the MS side: %s in state %s\n", + lchan_fail("Failed to change channel mode on the MS side: %s in state %s", osmo_fsm_event_name(fi->fsm, event), osmo_fsm_inst_state_name(fi)); return; @@ -1003,7 +1003,7 @@ rc = rsl_chan_mode_modify_req(lchan); if (rc < 0) { - lchan_fail("Failed to send rsl message to change the channel mode on the BTS side: state %s\n", + lchan_fail("Failed to send rsl message to change the channel mode on the BTS side: state %s", osmo_fsm_inst_state_name(fi)); } } @@ -1046,7 +1046,7 @@ return; case LCHAN_EV_RSL_CHAN_MODE_MODIFY_NACK: - lchan_fail("Failed to change channel mode on the BTS side: %s in state %s\n", + lchan_fail("Failed to change channel mode on the BTS side: %s in state %s", osmo_fsm_event_name(fi->fsm, event), osmo_fsm_inst_state_name(fi)); return; @@ -1155,7 +1155,7 @@ return; } - lchan_fail("RTP stream closed unexpectedly: %s in state %s\n", + lchan_fail("RTP stream closed unexpectedly: %s in state %s", osmo_fsm_event_name(fi->fsm, event), osmo_fsm_inst_state_name(fi)); return; @@ -1179,7 +1179,7 @@ if (gsm48_chan_mode_to_non_vamos(modif_info->ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { if (lchan_mr_config(&lchan->modify.mr_conf_filtered, lchan, modif_info->ch_mode_rate.s15_s0) < 0) { - lchan_fail("Can not generate multirate configuration IE\n"); + lchan_fail("Can not generate multirate configuration IE"); return; } } diff --git a/src/osmo-bsc/lchan_rtp_fsm.c b/src/osmo-bsc/lchan_rtp_fsm.c index 3ba4189..7bd8209 100644 --- a/src/osmo-bsc/lchan_rtp_fsm.c +++ b/src/osmo-bsc/lchan_rtp_fsm.c @@ -270,7 +270,7 @@ val = ipacc_speech_mode(lchan->activate.ch_mode_rate.chan_mode, lchan->type); if (val < 0) { - lchan_rtp_fail("Cannot determine Abis/IP speech mode for tch_mode=%s type=%s\n", + lchan_rtp_fail("Cannot determine Abis/IP speech mode for tch_mode=%s type=%s", get_value_string(gsm48_chan_mode_names, lchan->activate.ch_mode_rate.chan_mode), gsm_lchant_name(lchan->type)); return; @@ -279,7 +279,7 @@ val = ipacc_payload_type(lchan->activate.ch_mode_rate.chan_mode, lchan->type); if (val < 0) { - lchan_rtp_fail("Cannot determine Abis/IP payload type for tch_mode=%s type=%s\n", + lchan_rtp_fail("Cannot determine Abis/IP payload type for tch_mode=%s type=%s", get_value_string(gsm48_chan_mode_names, lchan->activate.ch_mode_rate.chan_mode), gsm_lchant_name(lchan->type)); return; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I063fd5598add75c39338d90798189c10a0714094 Gerrit-Change-Number: 24460 Gerrit-PatchSet: 19 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder 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 Thu Jun 10 15:22:12 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 15:22:12 +0000 Subject: Change in osmo-bsc[master]: gsm_data.h: add comments about immutable activ/modif/assign request info In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24611 ) Change subject: gsm_data.h: add comments about immutable activ/modif/assign request info ...................................................................... gsm_data.h: add comments about immutable activ/modif/assign request info Change-Id: I7997b802d997073ae6a05db2f40e82cb8e83764f --- M include/osmocom/bsc/gsm_data.h 1 file changed, 18 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index dccf5a1..d3d5b7d 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -177,7 +177,13 @@ * currently used lchan and gscon unmodified until the outcome of an Assignment is known. If the Assignment fails, this * state is simply discarded, and the gscon carries on with the original lchan remaining unchanged. */ struct assignment_fsm_data { + /* The request as made by the caller, see GSCON_EV_ASSIGNMENT_START or reassignment_request_to_lchan() / + * reassignment_request_to_chan_type(). + * conn->assignment.req is treated immutable: remains unchanged throughout the Assignment. The mutable fields + * are below: choices and automatic adjustments are stored in conn->assignment.*, not conn->assignment.req. + */ struct assignment_request req; + bool requires_voice_stream; struct channel_mode_and_rate selected_ch_mode_rate; @@ -647,7 +653,13 @@ struct osmo_mgcpc_ep_ci *mgw_endpoint_ci_bts; struct { + /* The request as made by the caller, see lchan_activate(). + * lchan->activate.info is treated immutable: remains unchanged throughout the Activation. + * The mutable versions are below: some values need automatic adjustments, in which case they are copied + * from immutable lchan->activate.info.* to lchan->activate.*, for example lchan->activate.ch_mode_rate + * is initially a copy of lchan->activate.info.ch_mode_rate, and is possibly adjusted afterwards. */ struct lchan_activate_info info; + struct channel_mode_and_rate ch_mode_rate; struct gsm48_multi_rate_conf mr_conf_filtered; bool activ_ack; /*< true as soon as RSL Chan Activ Ack is received */ @@ -662,7 +674,13 @@ } activate; struct { + /* The request as made by the caller, see lchan_mode_modify(). + * lchan->modify.info is treated immutable: remains unchanged throughout the Mode Modify. + * The mutable versions are below: some values need automatic adjustments, in which case they are copied + * from immutable lchan->modify.info.* to lchan->modify.*, for example lchan->modify.ch_mode_rate + * is initially a copy of lchan->modify.info.ch_mode_rate, and is possibly adjusted afterwards. */ struct lchan_modify_info info; + struct channel_mode_and_rate ch_mode_rate; struct gsm48_multi_rate_conf mr_conf_filtered; int tsc_set; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24611 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7997b802d997073ae6a05db2f40e82cb8e83764f Gerrit-Change-Number: 24611 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 15:23:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Jun 2021 15:23:58 +0000 Subject: Change in libosmocore[master]: msgb_alloc_headroom: Change size args to be uint16_t In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24641 ) Change subject: msgb_alloc_headroom: Change size args to be uint16_t ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24641/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmocore/+/24641/2//COMMIT_MSG at 10 PS2, Line 10: until now passing a value > 2^16 would succeed providing a msgb with > probably >= 2^16 [?] You are not hiding the problem to the application/user. Rather if the user looks at the documentation it finds out needs to pass a uint16_t, and hence can't pass values bigger than 2^16. Believe me, I run into this a few minutes ago while doing some tests ;) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I83c8222484e4856c68134a1a9d8cf96eb91af1b8 Gerrit-Change-Number: 24641 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: neels Gerrit-Comment-Date: Thu, 10 Jun 2021 15:23:58 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 15:27:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Jun 2021 15:27:46 +0000 Subject: Change in libosmocore[master]: ctrl: Support recovering from short write In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24640 ) Change subject: ctrl: Support recovering from short write ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24640/1/src/ctrl/control_if.c File src/ctrl/control_if.c: https://gerrit.osmocom.org/c/libosmocore/+/24640/1/src/ctrl/control_if.c at 494 PS1, Line 494: return 0; > I guess it should be [?] "if (rc <= 0)" no, because the rc==0 case is already checked above, so it can't be 0. "returning 0 here?" I'm keeping old behavior here, which to me is fine, since the caller of this callback actually does stuff with error conditions, so returning 0 is fine, as in "do nothing, drop the message and continue". -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6cbc7ec6ae6832e61cddf4402332ba09b142a7d4 Gerrit-Change-Number: 24640 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: neels Gerrit-Comment-Date: Thu, 10 Jun 2021 15:27:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 15:30:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Jun 2021 15:30:06 +0000 Subject: Change in libosmocore[master]: ctrl: Pre-calculate required size before allocating msgb In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24639 ) Change subject: ctrl: Pre-calculate required size before allocating msgb ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24639/1/tests/ctrl/ctrl_test.c File tests/ctrl/ctrl_test.c: https://gerrit.osmocom.org/c/libosmocore/+/24639/1/tests/ctrl/ctrl_test.c at 120 PS1, Line 120: > this part seems unrelated to the commit log message. [?] It's not unrelated, I explain why is it related in the commit description. the buffer is also checked with strcmp later, so I cannot do what you suggest. "also:..." I don't get what do you mean here. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0b8f370f7b08736207f9efed13a0663b5e482824 Gerrit-Change-Number: 24639 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 10 Jun 2021 15:30:06 +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 Jun 10 15:37:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Jun 2021 15:37:46 +0000 Subject: Change in libosmocore[master]: ctrl: Pre-calculate required size before allocating msgb In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24639 ) Change subject: ctrl: Pre-calculate required size before allocating msgb ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24639/1/src/ctrl/control_cmd.c File src/ctrl/control_cmd.c: https://gerrit.osmocom.org/c/libosmocore/+/24639/1/src/ctrl/control_cmd.c at a526 PS1, Line 526: msg = msgb_alloc_headroom(4096, 128, "ctrl command make"); allocating same-sized msgbs is a big tradition in osmocom, the idea is that there's less memory fragmentation this way. But given all our msgbs are typically very short-lived, we can probably ignore it. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0b8f370f7b08736207f9efed13a0663b5e482824 Gerrit-Change-Number: 24639 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 10 Jun 2021 15:37: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 Thu Jun 10 15:39:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Jun 2021 15:39:17 +0000 Subject: Change in libosmocore[master]: ctrl: Support recovering from short write In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24640 ) Change subject: ctrl: Support recovering from short write ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24640/1/src/ctrl/control_if.c File src/ctrl/control_if.c: https://gerrit.osmocom.org/c/libosmocore/+/24640/1/src/ctrl/control_if.c at 494 PS1, Line 494: return 0; > "if (rc <= 0)" no, because the rc==0 case is already checked above, so it can't be 0. [?] a write() returning rc == 0 after select/poll returned write-able would mean 'socket has been closed'. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6cbc7ec6ae6832e61cddf4402332ba09b142a7d4 Gerrit-Change-Number: 24640 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-CC: neels Gerrit-Comment-Date: Thu, 10 Jun 2021 15:39:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 15:39:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Jun 2021 15:39:59 +0000 Subject: Change in libosmocore[master]: msgb_alloc_headroom: Change size args to be uint16_t In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24641 ) Change subject: msgb_alloc_headroom: Change size args to be uint16_t ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I83c8222484e4856c68134a1a9d8cf96eb91af1b8 Gerrit-Change-Number: 24641 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Thu, 10 Jun 2021 15:39:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 16:10:50 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 10 Jun 2021 16:10:50 +0000 Subject: Change in libosmocore[master]: msgb_alloc_headroom: Change size args to be uint16_t In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24641 ) Change subject: msgb_alloc_headroom: Change size args to be uint16_t ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I83c8222484e4856c68134a1a9d8cf96eb91af1b8 Gerrit-Change-Number: 24641 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: Thu, 10 Jun 2021 16:10:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 16:15:05 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 10 Jun 2021 16:15:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc a54 tests In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24630 ) Change subject: bsc a54 tests ...................................................................... Patch Set 1: > Patch Set 1: > > not yet ready for merge due to a54 vty req you can set patches also to WIP to make clear that they are not ready to get merged yet. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24630 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4940d06b55824936b94f97649401b691339c2e7d Gerrit-Change-Number: 24630 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-Comment-Date: Thu, 10 Jun 2021 16:15: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 Jun 10 16:26:35 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Thu, 10 Jun 2021 16:26:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc a54 tests In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24630 ) Change subject: bsc a54 tests ...................................................................... Patch Set 1: yes, but a -1 stays in gerrit and does not change the commit, while changing the commit message to ad or remove a [wip] means either going through amending/rebasing in the checkout or changing it in gerrit and having different local commits and gerrit commits... -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24630 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4940d06b55824936b94f97649401b691339c2e7d Gerrit-Change-Number: 24630 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-Comment-Date: Thu, 10 Jun 2021 16:26: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 Thu Jun 10 16:48:44 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Thu, 10 Jun 2021 16:48:44 +0000 Subject: Change in osmo-gsm-tester[master]: ms-srs: change the cpu governor before launching the ms. In-Reply-To: References: Message-ID: alealcon has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24270 ) Change subject: ms-srs: change the cpu governor before launching the ms. ...................................................................... Patch Set 1: We'll try to configure the cpu governor in the devices, so I abandon this commit -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I86ec4fbba8a965e60103b30e2aa60cd2c3f348c9 Gerrit-Change-Number: 24270 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: srs_andre Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 16:48: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 Thu Jun 10 16:48:47 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Thu, 10 Jun 2021 16:48:47 +0000 Subject: Change in osmo-gsm-tester[master]: ms-srs: change the cpu governor before launching the ms. In-Reply-To: References: Message-ID: alealcon has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24270 ) Change subject: ms-srs: change the cpu governor before launching the ms. ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I86ec4fbba8a965e60103b30e2aa60cd2c3f348c9 Gerrit-Change-Number: 24270 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: srs_andre Gerrit-CC: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 16:49:21 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 10 Jun 2021 16:49:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 ) Change subject: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401/4/library/NS_Provider_IPL4.ttcn File library/NS_Provider_IPL4.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401/4/library/NS_Provider_IPL4.ttcn at 219 PS4, Line 219: f_nspip_add_nsvc2 > I'm a bit surprised we need this extra function. [?] yes, because it runs on RAW_NS_CT and not on NS_CT -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iafd9310e04066958914201da0cbdcd563bd5c976 Gerrit-Change-Number: 24401 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 10 Jun 2021 16:49:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 17:42:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Jun 2021 17:42:31 +0000 Subject: Change in osmo-ggsn[master]: ggsn: Fix heap-use-after-free during Recovery without associated PDP References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24642 ) Change subject: ggsn: Fix heap-use-after-free during Recovery without associated PDP ...................................................................... ggsn: Fix heap-use-after-free during Recovery without associated PDP Related: OS#4641 Change-Id: Ib4dca2e30e723a196084b0fa0040fbceca835359 --- M ggsn/sgsn.c 1 file changed, 10 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/42/24642/1 diff --git a/ggsn/sgsn.c b/ggsn/sgsn.c index 8360439..15548ef 100644 --- a/ggsn/sgsn.c +++ b/ggsn/sgsn.c @@ -116,6 +116,7 @@ { unsigned int num = 0; char buf[INET_ADDRSTRLEN]; + unsigned int count = llist_count(&sgsn->pdp_list); inet_ntop(AF_INET, &sgsn->addr, buf, sizeof(buf)); @@ -125,10 +126,17 @@ continue; ggsn_close_one_pdp(pdp->lib); num++; + if (num == count) { + /* Note: if except is NULL, all pdp contexts are freed and sgsn + * is most probably already freed at this point. + * As a result, last access to sgsn->pdp_list before exiting + * loop would access already freed memory. Avoid it by exiting + * the loop without the last check, and make sure sgsn is not + * accessed after this loop. */ + break; + } } - /* Note: if except is NULL, all pdp contexts are freed and sgsn is - already freed at this point */ LOGP(DGGSN, LOGL_INFO, "SGSN(%s) Dropped %u PDP contexts\n", buf, num); return num; -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24642 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ib4dca2e30e723a196084b0fa0040fbceca835359 Gerrit-Change-Number: 24642 Gerrit-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 Jun 10 17:51:08 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Thu, 10 Jun 2021 17:51:08 +0000 Subject: Change in osmo-gsm-tester[master]: iperf: adds the option to define the packet length for udp. 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-gsm-tester/+/24273 to look at the new patch set (#2). Change subject: iperf: adds the option to define the packet length for udp. ...................................................................... iperf: adds the option to define the packet length for udp. Added the feature to configure the packet length in udp iperf. Added a modifier to select the length value. The default value is configured to 1460. Change-Id: Ic886faa82b7cb25f2bce685eb80910623e4ff686 --- M src/osmo_gsm_tester/obj/iperf3.py M sysmocom/defaults.conf A sysmocom/scenarios/cfg-iperf3-length at .conf 3 files changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/73/24273/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24273 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic886faa82b7cb25f2bce685eb80910623e4ff686 Gerrit-Change-Number: 24273 Gerrit-PatchSet: 2 Gerrit-Owner: alealcon 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 Jun 10 17:51:08 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Thu, 10 Jun 2021 17:51:08 +0000 Subject: Change in osmo-gsm-tester[master]: 4g-iperf3-ul: modified the test to parameterize the number of ue in t... 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-gsm-tester/+/24274 to look at the new patch set (#2). Change subject: 4g-iperf3-ul: modified the test to parameterize the number of ue in the test. ...................................................................... 4g-iperf3-ul: modified the test to parameterize the number of ue in the test. Parameterize the iperf3 uplink test for the 4g test suite to execute a given number of UEs. By default, the number of ue is 1. Change-Id: I4b006df04bd1af6c117bcb25e6a6b1609ac732fb --- M sysmocom/suites/4g/iperf3_ul.py 1 file changed, 72 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/74/24274/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4b006df04bd1af6c117bcb25e6a6b1609ac732fb Gerrit-Change-Number: 24274 Gerrit-PatchSet: 2 Gerrit-Owner: alealcon 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 Jun 10 17:51:08 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Thu, 10 Jun 2021 17:51:08 +0000 Subject: Change in osmo-gsm-tester[master]: 4g-iperf3-dl: modified the test to parameterize the number of ue in t... 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-gsm-tester/+/24275 to look at the new patch set (#2). Change subject: 4g-iperf3-dl: modified the test to parameterize the number of ue in the test. ...................................................................... 4g-iperf3-dl: modified the test to parameterize the number of ue in the test. Parameterize the iperf3 downlink test for the 4g test suite to execute a given number of UEs. By default, the number of ue is 1. Change-Id: Ifafea196289d1ce0d35ae66c6564266ba123b27a --- M sysmocom/suites/4g/iperf3_dl.py 1 file changed, 73 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/75/24275/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24275 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ifafea196289d1ce0d35ae66c6564266ba123b27a Gerrit-Change-Number: 24275 Gerrit-PatchSet: 2 Gerrit-Owner: alealcon 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 Jun 10 17:51:08 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Thu, 10 Jun 2021 17:51:08 +0000 Subject: Change in osmo-gsm-tester[master]: 4g-iperf3-bidir: modified the test to parameterize the number of ue i... 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-gsm-tester/+/24276 to look at the new patch set (#2). Change subject: 4g-iperf3-bidir: modified the test to parameterize the number of ue in the test. ...................................................................... 4g-iperf3-bidir: modified the test to parameterize the number of ue in the test. Parameterize the iperf3 bidirectional test for the 4g test suite to execute a given number of UEs. By default, the number of ue is 1. Change-Id: I34fb436d581eda12388819b5dee9a3bafd419a7f --- M sysmocom/suites/4g/iperf3_bidir.py 1 file changed, 75 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/76/24276/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24276 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I34fb436d581eda12388819b5dee9a3bafd419a7f Gerrit-Change-Number: 24276 Gerrit-PatchSet: 2 Gerrit-Owner: alealcon 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 Jun 10 17:51:08 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Thu, 10 Jun 2021 17:51:08 +0000 Subject: Change in osmo-gsm-tester[master]: srs-ms: allows to run given scripts before the execution of the UE. In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24277 to look at the new patch set (#2). Change subject: srs-ms: allows to run given scripts before the execution of the UE. ...................................................................... srs-ms: allows to run given scripts before the execution of the UE. Executes the scripts given by the 'prerun_scripts' variable before launching the UE. Change-Id: I718e686b5844f2f07eda820914678052f1008182 --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 51 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/77/24277/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24277 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I718e686b5844f2f07eda820914678052f1008182 Gerrit-Change-Number: 24277 Gerrit-PatchSet: 2 Gerrit-Owner: alealcon 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 Jun 10 17:51:08 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Thu, 10 Jun 2021 17:51:08 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: sets the remote directory to the given one. In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24282 to look at the new patch set (#2). Change subject: srs-enb: sets the remote directory to the given one. ...................................................................... srs-enb: sets the remote directory to the given one. Sets the remote directory for fapi to the given in the variable 'remote_dir' in the reource schema. Change-Id: I77a56835a4054b86d1d3f7da823a013b3370f767 --- M src/osmo_gsm_tester/obj/enb_srs.py 1 file changed, 9 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/82/24282/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I77a56835a4054b86d1d3f7da823a013b3370f767 Gerrit-Change-Number: 24282 Gerrit-PatchSet: 2 Gerrit-Owner: alealcon 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 Jun 10 17:51:08 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Thu, 10 Jun 2021 17:51:08 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: adds support to the malloc interceptor. In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24284 to look at the new patch set (#2). Change subject: srs-enb: adds support to the malloc interceptor. ...................................................................... srs-enb: adds support to the malloc interceptor. Adds support to the malloc interceptor for the SRS eNodeB. This interceptor will generate a log file that lists the mallocs, reallocs and frees produced by the srsenb. Change-Id: I0078020468f58bdd70b0b5de879eb58192f947a6 --- M src/osmo_gsm_tester/obj/enb_srs.py M src/osmo_gsm_tester/obj/run_node.py A sysmocom/scenarios/cfg-enb-malloc-interceptor.conf 3 files changed, 40 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/84/24284/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I0078020468f58bdd70b0b5de879eb58192f947a6 Gerrit-Change-Number: 24284 Gerrit-PatchSet: 2 Gerrit-Owner: alealcon 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 Jun 10 17:51:12 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Thu, 10 Jun 2021 17:51:12 +0000 Subject: Change in osmo-gsm-tester[master]: jenkins-build-common: adds support to the new variables for patchelf. References: Message-ID: alealcon has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24643 ) Change subject: jenkins-build-common: adds support to the new variables for patchelf. ...................................................................... jenkins-build-common: adds support to the new variables for patchelf. 2 variables are added in order to increase the flexibility of the add_rpath function. patchelf_rpath_extra_args: adds more arguments to the rpath patch. For example "--force-rpath" patchelf_rpath_dir: path to the libraries. This path is appended to the default '$ORIGIN/../lib/' This commit add the jenkins-build-srslte-bbu.sh script, that builds the given repository filling the information for the 2 newly added variables. Change-Id: I9f510112c63e7598add8c00f8573e34cac1b6064 --- M contrib/jenkins-build-common.sh A contrib/jenkins-build-srslte-bbu.sh 2 files changed, 33 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/43/24643/1 diff --git a/contrib/jenkins-build-common.sh b/contrib/jenkins-build-common.sh index 9d59ca7..2d7dfae 100644 --- a/contrib/jenkins-build-common.sh +++ b/contrib/jenkins-build-common.sh @@ -204,11 +204,22 @@ # # Add an rpath relative to the binary and library if the directory # exists. + + rpath_args='--set-rpath' + rpath_dir='$ORIGIN/../lib/' + if [ -n "$patchelf_rapth_extra_args" ]; then + rpath_args="$patchelf_rapth_extra_args $rpath_args" + fi + + if [ -n "$patchelf_rpath_dir" ]; then + rpath_dir="$rpath_dir:$patchelf_rpath_dir" + fi + if [ -d bin/ ]; then - find bin -depth -type f -exec patchelf --set-rpath '$ORIGIN/../lib/' {} \; + find bin -depth -type f -exec patchelf $rpath_args $rpath_dir {} \; fi if [ -d sbin/ ]; then - find sbin -depth -type f -exec patchelf --set-rpath '$ORIGIN/../lib/' {} \; + find sbin -depth -type f -exec patchelf $rpath_args $rpath_dir {} \; fi if [ -d lib/ ]; then find lib -depth -type f -name "lib*.so.*" -exec patchelf --set-rpath '$ORIGIN/' {} \; diff --git a/contrib/jenkins-build-srslte-bbu.sh b/contrib/jenkins-build-srslte-bbu.sh new file mode 100755 index 0000000..48ae622 --- /dev/null +++ b/contrib/jenkins-build-srslte-bbu.sh @@ -0,0 +1,20 @@ +#!/bin/sh +set -e -x + +if [ -z "$trial_binaries" ]; then + trial_binaries="srsue srsenb srsepc" +fi + +export patchelf_rpath_dir="/mnt/nfs/bdlibs" +export patchelf_rapth_extra_args="--force-rpath" + +base="$PWD" +name="srslte" +git_url="${git_url:-https://github.com/srsLTE}" +project_name="${project_name:-srsLTE}" +. "$(dirname "$0")/jenkins-build-common.sh" + +#TODO: make sure libconfig, zeroMQ is installed +build_repo $project_name $configure_opts + +create_bin_tgz "$trial_binaries" -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24643 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I9f510112c63e7598add8c00f8573e34cac1b6064 Gerrit-Change-Number: 24643 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 18:29:45 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Thu, 10 Jun 2021 18:29:45 +0000 Subject: Change in libosmocore[master]: ctrl: Pre-calculate required size before allocating msgb In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24639 ) Change subject: ctrl: Pre-calculate required size before allocating msgb ...................................................................... Patch Set 1: Code-Review+1 I don't mean to ignore neels' concerns.. All I can say is it Wo?ks 4 m3. I Note that osmo_ctrl.py from osmo-python-tests truncates output. Maybe there might be other fallout to consider before merging this? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0b8f370f7b08736207f9efed13a0663b5e482824 Gerrit-Change-Number: 24639 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 10 Jun 2021 18:29: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 Jun 10 18:34:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Jun 2021 18:34:50 +0000 Subject: Change in osmo-gsm-tester[master]: iperf: adds the option to define the packet length for udp. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24273 ) Change subject: iperf: adds the option to define the packet length for udp. ...................................................................... Patch Set 2: (1 comment) Please reword attribute from "length" to "packet_length", imho length is too generic and if we add more params later it may become confusing. Other than that looks good to me, please rename and I'll merge. https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24273/2/sysmocom/defaults.conf File sysmocom/defaults.conf: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24273/2/sysmocom/defaults.conf at 206 PS2, Line 206: length: 1460 since a default value is not needed, I'd drop it from here, to simplify stuff -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24273 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic886faa82b7cb25f2bce685eb80910623e4ff686 Gerrit-Change-Number: 24273 Gerrit-PatchSet: 2 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 18:34:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 18:38:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Jun 2021 18:38:10 +0000 Subject: Change in osmo-gsm-tester[master]: 4g-iperf3-ul: modified the test to parameterize the number of ue in t... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24274 ) Change subject: 4g-iperf3-ul: modified the test to parameterize the number of ue in the test. ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4b006df04bd1af6c117bcb25e6a6b1609ac732fb Gerrit-Change-Number: 24274 Gerrit-PatchSet: 2 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 18:38: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 Jun 10 18:38:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Jun 2021 18:38:22 +0000 Subject: Change in osmo-gsm-tester[master]: 4g-iperf3-dl: modified the test to parameterize the number of ue in t... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24275 ) Change subject: 4g-iperf3-dl: modified the test to parameterize the number of ue in the test. ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24275 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ifafea196289d1ce0d35ae66c6564266ba123b27a Gerrit-Change-Number: 24275 Gerrit-PatchSet: 2 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 18:38: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 Jun 10 18:38:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Jun 2021 18:38:40 +0000 Subject: Change in osmo-gsm-tester[master]: 4g-iperf3-bidir: modified the test to parameterize the number of ue i... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24276 ) Change subject: 4g-iperf3-bidir: modified the test to parameterize the number of ue in the test. ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24276 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I34fb436d581eda12388819b5dee9a3bafd419a7f Gerrit-Change-Number: 24276 Gerrit-PatchSet: 2 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 18:38:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 18:44:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Jun 2021 18:44:37 +0000 Subject: Change in osmo-gsm-tester[master]: srs-ms: allows to run given scripts before the execution of the UE. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24277 ) Change subject: srs-ms: allows to run given scripts before the execution of the UE. ...................................................................... Patch Set 2: So, after the discussions we had previously on this topic, what do you plan to use these for in the end? IIRC this is to run device-specific stuff like making sure UHD device is fine, running dmesg, etc. My proposal regarding this was to have device-specific ogt python classes handling all this, and then based on attribute config, load them from ms-srs, enb-srs, etc. Like the "BBU" class, or have a "UHDUtils" class (we could then for instance make use of it ourselves at sysmocom to reset the device if ever needed). So I'm not saying I'm not going to merge this, but I'd like to find out what we conclude regarding those topics. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24277 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I718e686b5844f2f07eda820914678052f1008182 Gerrit-Change-Number: 24277 Gerrit-PatchSet: 2 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 18:44: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 Jun 10 18:46:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Jun 2021 18:46:17 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: runs the given list of scripts before and after launching th... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24278 ) Change subject: srs-enb: runs the given list of scripts before and after launching the eNodeB. ...................................................................... Patch Set 2: So here again you probably end up running similar scripts, which are actually related to using UHD, or running in a specific device (like the BBU). So again, my proposal would be to have that in a BBU class or UHDUtils class, and then use it from different classes like srs-enb or srs-ms. If you still really require or prefer this way, I'm fine with merging this. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I5017caae933809b89b32ea132be8552d6554e20e Gerrit-Change-Number: 24278 Gerrit-PatchSet: 2 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 18:46: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 Thu Jun 10 18:47:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Jun 2021 18:47:59 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: sets the remote directory to the given one. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24282 ) Change subject: srs-enb: sets the remote directory to the given one. ...................................................................... Patch Set 2: Code-Review+1 (1 comment) Can you explain better what's the use for this? why do you need to change the directory? just curious. https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24282/2/src/osmo_gsm_tester/obj/enb_srs.py File src/osmo_gsm_tester/obj/enb_srs.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24282/2/src/osmo_gsm_tester/obj/enb_srs.py at 231 PS2, Line 231: unrelated whitespace change -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I77a56835a4054b86d1d3f7da823a013b3370f767 Gerrit-Change-Number: 24282 Gerrit-PatchSet: 2 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 18:47:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 18:51:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Jun 2021 18:51:30 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: adds support to the malloc interceptor. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24284 ) Change subject: srs-enb: adds support to the malloc interceptor. ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I0078020468f58bdd70b0b5de879eb58192f947a6 Gerrit-Change-Number: 24284 Gerrit-PatchSet: 2 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 18:51: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 Jun 10 18:55:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Jun 2021 18:55:40 +0000 Subject: Change in osmo-gsm-tester[master]: jenkins-build-common: adds support to the new variables for patchelf. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24643 ) Change subject: jenkins-build-common: adds support to the new variables for patchelf. ...................................................................... Patch Set 1: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24643/1/contrib/jenkins-build-common.sh File contrib/jenkins-build-common.sh: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24643/1/contrib/jenkins-build-common.sh at 219 PS1, Line 219: find bin -depth -type f -exec patchelf $rpath_args $rpath_dir {} \; "$rpath_dir" https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24643/1/contrib/jenkins-build-common.sh at 222 PS1, Line 222: find sbin -depth -type f -exec patchelf $rpath_args $rpath_dir {} \; "$rpath_dir" -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24643 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I9f510112c63e7598add8c00f8573e34cac1b6064 Gerrit-Change-Number: 24643 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 10 Jun 2021 18:55: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 Thu Jun 10 20:05:13 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 10 Jun 2021 20:05:13 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7_vty: allow config-cs7-rt also in client role References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24644 ) Change subject: osmo_ss7_vty: allow config-cs7-rt also in client role ...................................................................... osmo_ss7_vty: allow config-cs7-rt also in client role The VTY commands config-cs7-rt are used to set up routing in SG mode, they are usually not needed in client applications like osmo-hnbgw. However, in some situations it may be still useful to have control over the routes in client mode as well, lets move the installation of rtable_node and its related VTY commands from osmo_ss7_vty_init_sg() to vty_init_shared() Change-Id: I72950cb58edb201f21c35dd7e032ce0fdc1530f7 Related: SYS#5392 --- M src/osmo_ss7_vty.c 1 file changed, 7 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/44/24644/1 diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 63625a8..42e51ce 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -2137,6 +2137,13 @@ install_lib_element(L_CS7_AS_NODE, &as_pc_override_cmd); install_lib_element(L_CS7_AS_NODE, &as_pc_patch_sccp_cmd); + install_node(&rtable_node, NULL); + install_lib_element_ve(&show_cs7_route_cmd); + install_lib_element(L_CS7_NODE, &cs7_route_table_cmd); + install_lib_element(L_CS7_RTABLE_NODE, &cfg_description_cmd); + install_lib_element(L_CS7_RTABLE_NODE, &cs7_rt_upd_cmd); + install_lib_element(L_CS7_RTABLE_NODE, &cs7_rt_rem_cmd); + vty_init_addr(); } @@ -2151,13 +2158,6 @@ cs7_role = CS7_ROLE_SG; vty_init_shared(ctx); - install_node(&rtable_node, NULL); - install_lib_element_ve(&show_cs7_route_cmd); - install_lib_element(L_CS7_NODE, &cs7_route_table_cmd); - install_lib_element(L_CS7_RTABLE_NODE, &cfg_description_cmd); - install_lib_element(L_CS7_RTABLE_NODE, &cs7_rt_upd_cmd); - install_lib_element(L_CS7_RTABLE_NODE, &cs7_rt_rem_cmd); - install_node(&xua_node, NULL); install_lib_element(L_CS7_NODE, &cs7_xua_cmd); install_lib_element(L_CS7_NODE, &no_cs7_xua_cmd); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24644 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I72950cb58edb201f21c35dd7e032ce0fdc1530f7 Gerrit-Change-Number: 24644 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 Jun 10 20:06:58 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 10 Jun 2021 20:06:58 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7_vty: allow config-cs7-rt also in client role In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24644 ) Change subject: osmo_ss7_vty: allow config-cs7-rt also in client role ...................................................................... Patch Set 1: This is probably a bit controversial and for now more an experimental solution for a problem. -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24644 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I72950cb58edb201f21c35dd7e032ce0fdc1530f7 Gerrit-Change-Number: 24644 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 10 Jun 2021 20:06: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 Thu Jun 10 20:32:50 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 20:32:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc a54 tests In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24630 ) Change subject: bsc a54 tests ...................................................................... Patch Set 1: > yes, but a -1 stays in gerrit and does not change the commit, while changing the commit message to ad or remove a [wip] means either going through amending/rebasing in the checkout or changing it in gerrit and having different local commits and gerrit commits... not the commit message, you can literally set a gerrit patch in WIP mode by clicking "..." / "WIP", which stays until you click on "start review". CR -1 only stays with the patch until you submit a new patch version. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24630 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4940d06b55824936b94f97649401b691339c2e7d Gerrit-Change-Number: 24630 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-CC: neels Gerrit-Comment-Date: Thu, 10 Jun 2021 20:32:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 20:33:40 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 10 Jun 2021 20:33:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc a54 tests In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24630 ) Change subject: bsc a54 tests ...................................................................... Patch Set 1: > "..." / "WIP", that's "..." / "Mark work in progress" -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24630 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4940d06b55824936b94f97649401b691339c2e7d Gerrit-Change-Number: 24630 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-CC: neels Gerrit-Comment-Date: Thu, 10 Jun 2021 20:33: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 Thu Jun 10 21:45:02 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 10 Jun 2021 21:45:02 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: report interference levels to the upper layers In-Reply-To: References: Message-ID: Hello Jenkins Builder, Hoernchen, laforge, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24613 to look at the new patch set (#2). Change subject: osmo-bts-trx: report interference levels to the upper layers ...................................................................... osmo-bts-trx: report interference levels to the upper layers In trx_sched_ul_burst(), treat all BURST.ind and NOPE.ind mapped to inactive logical channels as interference. Average the RSSI values on the fly using a sliding average with constant a=0.5. Report averaged values for each logical channel every 104 TDMA frames (SACCH period) by calling gsm_lchan_interf_meas_push(). Change-Id: I4686448e42a40df56c1d27a14fd0a4d43fd144a5 Related: I78b6d8beffa5228a28231b75728e7aebdd3cb23c Related: SYS#5313, OS#1569 --- M include/osmo-bts/scheduler.h M src/common/scheduler.c M src/osmo-bts-trx/scheduler_trx.c 3 files changed, 100 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/13/24613/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4686448e42a40df56c1d27a14fd0a4d43fd144a5 Gerrit-Change-Number: 24613 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge 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 Thu Jun 10 21:45:03 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 10 Jun 2021 21:45:03 +0000 Subject: Change in osmo-bts[master]: scheduler: reorder enum trx_chan_type, add TRX_CHAN_IS_DEDIC() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24645 ) Change subject: scheduler: reorder enum trx_chan_type, add TRX_CHAN_IS_DEDIC() ...................................................................... scheduler: reorder enum trx_chan_type, add TRX_CHAN_IS_DEDIC() With the new ordering, all TRXC_* values starting from TRXC_TCHF belong to dedicated channels. This is useful for the interference reporting logic, where we're not interested in broadcast channels. Change-Id: I7148f4d0bd1abbfe309bc5477e32a56d884533ea Related: SYS#5313, OS#1569 --- M include/osmo-bts/scheduler.h 1 file changed, 7 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/45/24645/1 diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index 86bfdf9..40b7330 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -18,6 +18,9 @@ #define TRX_8PSK_NB_TSC(br) \ _sched_train_seq_8psk_nb[(br)->tsc] +#define TRX_CHAN_IS_DEDIC(chan) \ + (chan >= TRXC_TCHF) + /* These types define the different channels on a multiframe. * Each channel has queues and can be activated individually. */ @@ -28,6 +31,10 @@ TRXC_BCCH, TRXC_RACH, TRXC_CCCH, + TRXC_CBCH, + TRXC_PDTCH, + TRXC_PTCCH, +/* Dedicated channels start here */ TRXC_TCHF, TRXC_TCHH_0, TRXC_TCHH_1, @@ -58,9 +65,6 @@ TRXC_SACCH8_5, TRXC_SACCH8_6, TRXC_SACCH8_7, - TRXC_PDTCH, - TRXC_PTCCH, - TRXC_CBCH, _TRX_CHAN_MAX }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24645 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7148f4d0bd1abbfe309bc5477e32a56d884533ea Gerrit-Change-Number: 24645 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 Jun 10 21:49:57 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 10 Jun 2021 21:49:57 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: report interference levels to the upper layers In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24613 ) Change subject: osmo-bts-trx: report interference levels to the upper layers ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24613/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/24613/1/src/common/scheduler.c at 1494 PS1, Line 1494: if (bi->chan >= TRXC_TCHF) > I'll introduce a macro in the new patchset, thanks! Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4686448e42a40df56c1d27a14fd0a4d43fd144a5 Gerrit-Change-Number: 24613 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Thu, 10 Jun 2021 21:49:57 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria 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 Thu Jun 10 21:50:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 10 Jun 2021 21:50:26 +0000 Subject: Change in osmo-bts[master]: osmo-bts-octphy: drop talloc_replace(), use osmo_talloc_replace_string() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24597 ) Change subject: osmo-bts-octphy: drop talloc_replace(), use osmo_talloc_replace_string() ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24597 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ied39cc594fedc712d751ab1c7b636bbbff527bd6 Gerrit-Change-Number: 24597 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 21:50:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 21:50:45 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 10 Jun 2021 21:50:45 +0000 Subject: Change in osmo-bts[master]: l1sap: fix TDMA frame number arithmetic in fn_ms_adj() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24601 ) Change subject: l1sap: fix TDMA frame number arithmetic in fn_ms_adj() ...................................................................... Patch Set 2: Code-Review+2 Trivial change. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie17670d150489014a4a2e140cede42086100bbc0 Gerrit-Change-Number: 24601 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Jun 2021 21:50:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 21:50:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 10 Jun 2021 21:50:48 +0000 Subject: Change in osmo-bts[master]: osmo-bts-octphy: drop talloc_replace(), use osmo_talloc_replace_string() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24597 ) Change subject: osmo-bts-octphy: drop talloc_replace(), use osmo_talloc_replace_string() ...................................................................... osmo-bts-octphy: drop talloc_replace(), use osmo_talloc_replace_string() Change-Id: Ied39cc594fedc712d751ab1c7b636bbbff527bd6 --- M src/osmo-bts-octphy/l1_oml.c 1 file changed, 10 insertions(+), 12 deletions(-) Approvals: fixeria: Looks good to me, approved dexter: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bts-octphy/l1_oml.c b/src/osmo-bts-octphy/l1_oml.c index 9bd01f4..acd43e4 100644 --- a/src/osmo-bts-octphy/l1_oml.c +++ b/src/osmo-bts-octphy/l1_oml.c @@ -1119,13 +1119,6 @@ return 0; } -#define talloc_replace(dst, ctx, src) \ - do { \ - if (dst) \ - talloc_free(dst); \ - dst = talloc_strdup(ctx, (const char *) src); \ - } while (0) - static int app_info_sys_compl_cb(struct octphy_hdl *fl1h, struct msgb *resp, void *data) { tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP *aisr = @@ -1145,8 +1138,10 @@ LOGP(DL1C, LOGL_INFO, "Note: compiled without multi-trx support.\n"); #endif - talloc_replace(fl1h->info.system.platform, fl1h, aisr->szPlatform); - talloc_replace(fl1h->info.system.version, fl1h, aisr->szVersion); + osmo_talloc_replace_string(fl1h, &fl1h->info.system.platform, + (const char *) aisr->szPlatform); + osmo_talloc_replace_string(fl1h, &fl1h->info.system.version, + (const char *) aisr->szVersion); msgb_free(resp); @@ -1210,9 +1205,12 @@ } } - talloc_replace(fl1h->info.app.name, fl1h, air->szName); - talloc_replace(fl1h->info.app.description, fl1h, air->szDescription); - talloc_replace(fl1h->info.app.version, fl1h, air->szVersion); + osmo_talloc_replace_string(fl1h, &fl1h->info.app.name, + (const char *) air->szName); + osmo_talloc_replace_string(fl1h, &fl1h->info.app.description, + (const char *) air->szDescription); + osmo_talloc_replace_string(fl1h, &fl1h->info.app.version, + (const char *) air->szVersion); OSMO_ASSERT(strlen(ver_hdr) < sizeof(pinst->version)); osmo_strlcpy(pinst->version, ver_hdr, strlen(ver_hdr)); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24597 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ied39cc594fedc712d751ab1c7b636bbbff527bd6 Gerrit-Change-Number: 24597 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 21:50:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 10 Jun 2021 21:50:48 +0000 Subject: Change in osmo-bts[master]: l1sap: fix TDMA frame number arithmetic in fn_ms_adj() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24601 ) Change subject: l1sap: fix TDMA frame number arithmetic in fn_ms_adj() ...................................................................... l1sap: fix TDMA frame number arithmetic in fn_ms_adj() Using the normal arithmetic for TDMA frame numbers is wrong. Change-Id: Ie17670d150489014a4a2e140cede42086100bbc0 --- M src/common/l1sap.c 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/common/l1sap.c b/src/common/l1sap.c index cd2af57..0debae0 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -139,7 +139,8 @@ /* 12/13 frames usable for audio in TCH, 160 samples per RTP packet, 1 RTP packet per 4 frames */ - samples_passed = (fn - lchan->tch.last_fn) * 12 * 160 / (13 * 4); + const uint32_t num_fn = GSM_TDMA_FN_SUB(fn, lchan->tch.last_fn); + samples_passed = num_fn * 12 * 160 / (13 * 4); /* round number of samples to the nearest multiple of GSM_RTP_DURATION */ r = samples_passed + GSM_RTP_DURATION / 2; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie17670d150489014a4a2e140cede42086100bbc0 Gerrit-Change-Number: 24601 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 22:57:23 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Thu, 10 Jun 2021 22:57:23 +0000 Subject: Change in osmo-bsc[master]: assignment: special mixed desc/alloc conditions References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24646 ) 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 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 7 files changed, 147 insertions(+), 27 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/46/24646/1 diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 72f83eb..196fb05 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -288,6 +288,11 @@ /* maximum Tx power that the MS is permitted to use in this cell */ int ms_max_power; + /* conditions for desc alloc usage */ + int assign_tsused_tresh; + int assign_rxlev_avgnum; + int assign_rxlev_tresh; + /* how do we talk OML with this TRX? */ struct gsm_e1_subslot oml_e1_link; uint8_t oml_tei; diff --git a/include/osmocom/bsc/lchan_select.h b/include/osmocom/bsc/lchan_select.h index aa2f40e..3f0375f 100644 --- a/include/osmocom/bsc/lchan_select.h +++ b/include/osmocom/bsc/lchan_select.h @@ -5,4 +5,6 @@ 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_mode2(struct gsm_bts *bts, + enum gsm48_chan_mode chan_mode, enum channel_rate chan_rate, struct gsm_lchan* old_lchan); +struct gsm_lchan *lchan_avail_by_type(struct gsm_bts *bts, enum gsm_chan_t type, bool log, struct gsm_lchan* old_lchan); diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index ac8006d..25ef5a1 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1731,12 +1731,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, true, 0)) { 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, true, 0)) { LOG_BTS(rqd->bts, DRSL, LOGL_NOTICE, "CHAN RQD/EMERGENCY-PRIORITY: at least one TCH/H is (now) available!\n"); return false; diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index f5aee82..d6ea525 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -585,8 +585,8 @@ } 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); + conn->assignment.new_lchan = lchan_select_by_chan_mode2(bts, + req->ch_mode_rate_list[i].chan_mode, req->ch_mode_rate_list[i].chan_rate, conn->lchan); if (!conn->assignment.new_lchan) continue; LOG_ASSIGNMENT(conn, LOGL_DEBUG, "selected new lchan %s for mode[%d] = %s channel_rate=%d\n", diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 430863b..4a5101a 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1293,6 +1293,12 @@ config_write_power_ctrl(vty, 2, &bts->bs_power_ctrl); config_write_power_ctrl(vty, 2, &bts->ms_power_ctrl); + if (bts->assign_rxlev_avgnum > 0) { + vty_out(vty, " assign_rxlev_avgnum %u%s", bts->assign_rxlev_avgnum, VTY_NEWLINE); + vty_out(vty, " assign_rxlev_tresh %d%s", bts->assign_rxlev_tresh, VTY_NEWLINE); + vty_out(vty, " assign_tsused_tresh %u%s", bts->assign_tsused_tresh, VTY_NEWLINE); + } + config_write_bts_model(vty, bts); } @@ -5051,6 +5057,67 @@ return CMD_SUCCESS; } +DEFUN_USRATTR(cfg_bts_assign_tsused_tresh, + cfg_bts_assign_tsused_tresh_cmd, + X(BSC_VTY_ATTR_NEW_LCHAN), + "assign_tsused_tresh <0-65535>", + "Set #ts used cutoff value for enabling descending chan alloc\n" "#ts\n") +{ + struct gsm_bts *bts = vty->index; + int tresh = atoi(argv[0]); + + if (tresh < 0 || tresh > 0xffff) { + vty_out(vty, "%% assign_tsused_tresh %d is not in the valid range (0-65535)%s", + tresh, VTY_NEWLINE); + return CMD_WARNING; + } + + bts->assign_tsused_tresh = tresh; + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_bts_assign_rxlev_avgnum, + cfg_bts_assign_rxlev_avgnum_cmd, + X(BSC_VTY_ATTR_NEW_LCHAN), + "assign_rxlev_avgnum <0-10>", + "Set numver of measurements to average for enabling descending chan alloc\n" "#meas\n") +{ + struct gsm_bts *bts = vty->index; + int avg = atoi(argv[0]); + + if (avg < 0 || avg > 10) { + vty_out(vty, "%% assign_rxlev_avgnum %d is not in the valid range (0-10)%s", + avg, VTY_NEWLINE); + return CMD_WARNING; + } + + bts->assign_rxlev_avgnum = avg; + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_bts_assign_rxlev_tresh, + cfg_bts_assign_rxlev_tresh_cmd, + X(BSC_VTY_ATTR_NEW_LCHAN), + "assign_rxlev_tresh <-150-150>", + "Set rxlev cutoff value (dBm) for enabling descending chan alloc\n" "num ts\n") +{ + struct gsm_bts *bts = vty->index; + int tresh = atoi(argv[0]); + + if (tresh < -150 || tresh > 150) { + vty_out(vty, "%% assign_rxlev_tresh %d is not in the valid range (-150-150)%s", + tresh, VTY_NEWLINE); + return CMD_WARNING; + } + + bts->assign_rxlev_tresh = tresh; + + return CMD_SUCCESS; +} + + DEFUN_USRATTR(cfg_power_ctrl_mode, cfg_power_ctrl_mode_cmd, X(BSC_VTY_ATTR_NEW_LCHAN), @@ -8107,6 +8174,10 @@ install_element(BTS_NODE, &cfg_bts_power_ctrl_cmd); install_element(BTS_NODE, &cfg_bts_no_power_ctrl_cmd); + install_element(BTS_NODE, &cfg_bts_assign_tsused_tresh_cmd); + install_element(BTS_NODE, &cfg_bts_assign_rxlev_avgnum_cmd); + install_element(BTS_NODE, &cfg_bts_assign_rxlev_tresh_cmd); + install_node(&power_ctrl_node, dummy_config_write); install_element(POWER_CTRL_NODE, &cfg_power_ctrl_mode_cmd); install_element(POWER_CTRL_NODE, &cfg_power_ctrl_bs_power_cmd); diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index a866293..e0458b0 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -1009,7 +1009,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, false, 0); if (next_lchan && next_lchan->ts->pchan_on_init == GSM_PCHAN_TCH_F_TCH_H_PDCH) c->target.next_tchf_reduces_tchh = 2; else @@ -1017,7 +1017,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, false, 0); if (next_lchan && next_lchan->ts->pchan_on_init == GSM_PCHAN_TCH_F_TCH_H_PDCH && next_lchan->ts->pchan_is != GSM_PCHAN_TCH_H) c->target.next_tchh_reduces_tchf = 1; diff --git a/src/osmo-bsc/lchan_select.c b/src/osmo-bsc/lchan_select.c index 53c4358..22fb3bd 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, bool log, bool use_desc_alloc) { struct gsm_lchan *lchan; struct gsm_bts_trx_ts *ts; @@ -52,7 +52,7 @@ return NULL; } - if (trx->bts->chan_alloc_reverse) { + if (trx->bts->chan_alloc_reverse || use_desc_alloc) { /* check TS 7..0 */ start = 7; stop = -1; @@ -106,7 +106,7 @@ 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) + enum gsm_phys_chan_config dyn_as_pchan, bool log, bool use_desc_alloc) { struct gsm_bts_trx *trx; struct gsm_lchan *lc; @@ -120,15 +120,15 @@ * 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++) { - if (bts->chan_alloc_reverse) { + if (bts->chan_alloc_reverse || use_desc_alloc) { 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, log, use_desc_alloc); 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, log, use_desc_alloc); if (lc) return lc; } @@ -139,9 +139,9 @@ } static struct gsm_lchan * -_lc_find_bts(struct gsm_bts *bts, enum gsm_phys_chan_config pchan, bool log) +_lc_find_bts(struct gsm_bts *bts, enum gsm_phys_chan_config pchan, bool log, bool use_desc_alloc) { - return _lc_dyn_find_bts(bts, pchan, pchan, log); + return _lc_dyn_find_bts(bts, pchan, pchan, log, use_desc_alloc); } enum gsm_chan_t chan_mode_to_chan_type(enum gsm48_chan_mode chan_mode, enum channel_rate chan_rate) @@ -187,17 +187,34 @@ return lchan_select_by_type(bts, type); } -struct gsm_lchan *lchan_avail_by_type(struct gsm_bts *bts, enum gsm_chan_t type, bool log) +static bool special_alloc_handling(struct gsm_bts *bts, struct gsm_lchan* lc) +{ + int ts_used; + int avglev; + + if (!bts->assign_rxlev_avgnum || !lc) + return false; + + ts_used = bts_count_free_ts(bts, GSM_PCHAN_TCH_F) + bts_count_free_ts(bts, GSM_PCHAN_TCH_H); + avglev = get_meas_rep_avg(lc, MEAS_REP_DL_RXLEV_FULL, bts->assign_rxlev_avgnum); + + if (rxlev2dbm(avglev) > bts->assign_rxlev_tresh && ts_used > bts->assign_tsused_tresh) + return true; + return false; +} + +struct gsm_lchan *lchan_avail_by_type(struct gsm_bts *bts, enum gsm_chan_t type, bool log, struct gsm_lchan* old_lchan) { struct gsm_lchan *lchan = NULL; enum gsm_phys_chan_config first, first_cbch, second, second_cbch; + bool use_desc_alloc = special_alloc_handling(bts, old_lchan); if (log) LOG_BTS(bts, DRLL, LOGL_DEBUG, "lchan_avail_by_type(%s)\n", gsm_lchant_name(type)); switch (type) { case GSM_LCHAN_SDCCH: - if (bts->chan_alloc_reverse) { + if (bts->chan_alloc_reverse || use_desc_alloc) { first = GSM_PCHAN_SDCCH8_SACCH8C; first_cbch = GSM_PCHAN_SDCCH8_SACCH8C_CBCH; second = GSM_PCHAN_CCCH_SDCCH4; @@ -209,20 +226,20 @@ second_cbch = GSM_PCHAN_SDCCH8_SACCH8C_CBCH; } - lchan = _lc_find_bts(bts, first, log); + lchan = _lc_find_bts(bts, first, log, use_desc_alloc); if (lchan == NULL) - lchan = _lc_find_bts(bts, first_cbch, log); + lchan = _lc_find_bts(bts, first_cbch, log, use_desc_alloc); if (lchan == NULL) - lchan = _lc_find_bts(bts, second, log); + lchan = _lc_find_bts(bts, second, log, use_desc_alloc); if (lchan == NULL) - lchan = _lc_find_bts(bts, second_cbch, log); + lchan = _lc_find_bts(bts, second_cbch, log, use_desc_alloc); break; case GSM_LCHAN_TCH_F: - lchan = _lc_find_bts(bts, GSM_PCHAN_TCH_F, log); + lchan = _lc_find_bts(bts, GSM_PCHAN_TCH_F, log, use_desc_alloc); /* 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); + GSM_PCHAN_TCH_F, log, use_desc_alloc); /* TCH/F_PDCH used as TCH/F -- here, type is already * set to GSM_LCHAN_TCH_F, but for clarity's sake... */ if (lchan) @@ -233,19 +250,19 @@ if (!lchan && bts->network->dyn_ts_allow_tch_f) { lchan = _lc_dyn_find_bts(bts, GSM_PCHAN_TCH_F_TCH_H_PDCH, - GSM_PCHAN_TCH_F, log); + GSM_PCHAN_TCH_F, log, use_desc_alloc); if (lchan) type = GSM_LCHAN_TCH_F; } break; case GSM_LCHAN_TCH_H: - lchan = _lc_find_bts(bts, GSM_PCHAN_TCH_H, log); + lchan = _lc_find_bts(bts, GSM_PCHAN_TCH_H, log, use_desc_alloc); /* No dedicated TCH/x available -- try fully dynamic * TCH/F_TCH/H_PDCH */ if (!lchan) { lchan = _lc_dyn_find_bts(bts, GSM_PCHAN_TCH_F_TCH_H_PDCH, - GSM_PCHAN_TCH_H, log); + GSM_PCHAN_TCH_H, log, use_desc_alloc); if (lchan) type = GSM_LCHAN_TCH_H; } @@ -264,7 +281,7 @@ { struct gsm_lchan *lchan = NULL; - lchan = lchan_avail_by_type(bts, type, true); + lchan = lchan_avail_by_type(bts, type, true, 0); LOG_BTS(bts, DRLL, LOGL_DEBUG, "lchan_select_by_type(%s)\n", gsm_lchant_name(type)); @@ -277,3 +294,28 @@ return lchan; } + + + +struct gsm_lchan *lchan_select_by_chan_mode2(struct gsm_bts *bts, + enum gsm48_chan_mode chan_mode, enum channel_rate chan_rate, struct gsm_lchan* old_lchan) +{ + enum gsm_chan_t type = chan_mode_to_chan_type(chan_mode, chan_rate); + struct gsm_lchan *lchan = NULL; + + if (type == GSM_LCHAN_NONE) + return NULL; + + lchan = lchan_avail_by_type(bts, type, true, old_lchan); + + LOG_BTS(bts, DRLL, LOGL_DEBUG, "lchan_select_by_type2(%s)\n", gsm_lchant_name(type)); + + if (lchan) { + lchan->type = type; + LOG_LCHAN(lchan, LOGL_INFO, "Selected\n"); + } else + LOG_BTS(bts, DRLL, LOGL_NOTICE, "Failed to select %s channel\n", + gsm_lchant_name(type)); + + return lchan; +} \ No newline at end of file -- 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: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 10 22:58:23 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Thu, 10 Jun 2021 22:58:23 +0000 Subject: Change in osmo-bsc[master]: assignment: special mixed desc/alloc conditions In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24646 ) Change subject: assignment: special mixed desc/alloc conditions ...................................................................... Patch Set 1: Code-Review-1 I suppose this does what it's supposed to do... -- 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: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 10 Jun 2021 22:58: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 Jun 11 00:56:38 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 11 Jun 2021 00:56:38 +0000 Subject: Change in libosmocore[master]: ctrl: Support recovering from short write In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24640 ) Change subject: ctrl: Support recovering from short write ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24640/1/src/ctrl/control_if.c File src/ctrl/control_if.c: https://gerrit.osmocom.org/c/libosmocore/+/24640/1/src/ctrl/control_if.c at 494 PS1, Line 494: return 0; > a write() returning rc == 0 after select/poll returned write-able would mean 'socket has been closed [?] my bad didn't notice the rc == 0 case, sorry for the noise -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6cbc7ec6ae6832e61cddf4402332ba09b142a7d4 Gerrit-Change-Number: 24640 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-CC: neels Gerrit-Comment-Date: Fri, 11 Jun 2021 00:56:38 +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: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 11 00:57:43 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 11 Jun 2021 00:57:43 +0000 Subject: Change in libosmocore[master]: ctrl: Support recovering from short write In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24640 ) Change subject: ctrl: Support recovering from short write ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24640/1/src/ctrl/control_if.c File src/ctrl/control_if.c: https://gerrit.osmocom.org/c/libosmocore/+/24640/1/src/ctrl/control_if.c at 494 PS1, Line 494: return 0; > my bad didn't notice the rc == 0 case, sorry for the noise fixeria's question still unresolved: Are you sure about returning 0 here? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6cbc7ec6ae6832e61cddf4402332ba09b142a7d4 Gerrit-Change-Number: 24640 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-CC: neels Gerrit-Comment-Date: Fri, 11 Jun 2021 00:57:43 +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: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 11 05:46:53 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Fri, 11 Jun 2021 05:46:53 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: sets the remote directory to the given one. In-Reply-To: References: Message-ID: alealcon has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24282 ) Change subject: srs-enb: sets the remote directory to the given one. ...................................................................... Patch Set 2: Sure Pau. We need a to change the run directory because in one of our devices (an embedded Linux ppc) doesn't have enough free disk space to run OGT, so we need to move the OGT run dir to another path (in this case is an nfs path). -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I77a56835a4054b86d1d3f7da823a013b3370f767 Gerrit-Change-Number: 24282 Gerrit-PatchSet: 2 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Jun 2021 05:46:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 11 06:15:52 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Fri, 11 Jun 2021 06:15:52 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: runs the given list of scripts before and after launching th... In-Reply-To: References: Message-ID: alealcon has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24278 ) Change subject: srs-enb: runs the given list of scripts before and after launching the eNodeB. ...................................................................... Patch Set 2: Hi Pau, we prefer this way, it allows us a faster development to get this BBU device stable. Once it is stable I'd like to go your way, creating the BBU class. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I5017caae933809b89b32ea132be8552d6554e20e Gerrit-Change-Number: 24278 Gerrit-PatchSet: 2 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 11 Jun 2021 06:15: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 Jun 11 06:29:27 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Fri, 11 Jun 2021 06:29:27 +0000 Subject: Change in osmo-gsm-tester[master]: iperf: adds the option to define the packet length for udp. In-Reply-To: References: Message-ID: alealcon has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24273 ) Change subject: iperf: adds the option to define the packet length for udp. ...................................................................... Patch Set 2: (2 comments) That sounds good to me too. I've renamed the modifier to "cfg-iperf3-packet-length at conf". It's a name a little larger, but it's clearer than before https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24273/1/src/osmo_gsm_tester/obj/iperf3.py File src/osmo_gsm_tester/obj/iperf3.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24273/1/src/osmo_gsm_tester/obj/iperf3.py at 276 PS1, Line 276: buffer_length = str(values.get('length')) > what if length is not defined? Probably safer to have something like this: [?] Done https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24273/1/sysmocom/scenarios/cfg-iperf3-length%40.conf File sysmocom/scenarios/cfg-iperf3-length at .conf: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24273/1/sysmocom/scenarios/cfg-iperf3-length%40.conf at 3 PS1, Line 3: length: ${param1} > extra trailing whitespace Done -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24273 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic886faa82b7cb25f2bce685eb80910623e4ff686 Gerrit-Change-Number: 24273 Gerrit-PatchSet: 2 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Jun 2021 06:29:27 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 11 06:52:11 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Fri, 11 Jun 2021 06:52:11 +0000 Subject: Change in osmo-gsm-tester[master]: srs-ms: allows to run given scripts before the execution of the UE. In-Reply-To: References: Message-ID: alealcon has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24277 ) Change subject: srs-ms: allows to run given scripts before the execution of the UE. ...................................................................... Patch Set 2: For me, this case is the same as the srs-enb pre-init scripts. I agree with you that the best solution is to add these new features to OGT the way you propose (creating specific classes that add this support/features) and that's what we should do in the future. Right now we're under heavy development, with a lot of changes and testing, so the idea of the pre/post init script is very good to us, because it allows to run utilities/scripts that will help us to debug the system. I see two big advantages with this: we can do it faster with a script that adding this new feature to OGT and some of this utilities may be temporal and don't make sense to add them to OGT(for example the dmesg before and after the launch of the srs-enb). My proposal is to add the pre/post run scripts feature to the srs-ms and srs-enb. Then we can list and discuss the feature that each script adds and decide whether to add it to OGT or not (sometimes may be not needed because it's temporal, sometimes won't be worth it, because it's too unstable to add it and most of the times we will add them) Does it sound good to you? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24277 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I718e686b5844f2f07eda820914678052f1008182 Gerrit-Change-Number: 24277 Gerrit-PatchSet: 2 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-CC: srs_andre Gerrit-Comment-Date: Fri, 11 Jun 2021 06:52: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 Jun 11 06:53:54 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Fri, 11 Jun 2021 06:53:54 +0000 Subject: Change in osmo-gsm-tester[master]: iperf: adds the option to define the packet length for udp. 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-gsm-tester/+/24273 to look at the new patch set (#3). Change subject: iperf: adds the option to define the packet length for udp. ...................................................................... iperf: adds the option to define the packet length for udp. Added the feature to configure the packet length in udp iperf. Added a modifier to select the length value. The default value is configured to 1460. Change-Id: Ic886faa82b7cb25f2bce685eb80910623e4ff686 --- M src/osmo_gsm_tester/obj/iperf3.py A sysmocom/scenarios/cfg-iperf3-packet-length at .conf 2 files changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/73/24273/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24273 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic886faa82b7cb25f2bce685eb80910623e4ff686 Gerrit-Change-Number: 24273 Gerrit-PatchSet: 3 Gerrit-Owner: alealcon 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 Jun 11 06:53:54 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Fri, 11 Jun 2021 06:53:54 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: runs the given list of scripts before and after launching th... In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24278 to look at the new patch set (#3). Change subject: srs-enb: runs the given list of scripts before and after launching the eNodeB. ...................................................................... srs-enb: runs the given list of scripts before and after launching the eNodeB. Allows to run given scripts before and after the execution of the SRS eNodeB. The scripts are retrieved as a list from the resource.conf file. Change-Id: I5017caae933809b89b32ea132be8552d6554e20e --- M src/osmo_gsm_tester/obj/enb_srs.py 1 file changed, 72 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/78/24278/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I5017caae933809b89b32ea132be8552d6554e20e Gerrit-Change-Number: 24278 Gerrit-PatchSet: 3 Gerrit-Owner: alealcon 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 Jun 11 06:53:54 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Fri, 11 Jun 2021 06:53:54 +0000 Subject: Change in osmo-gsm-tester[master]: jenkins-build-common: adds support to the new variables for patchelf. 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-gsm-tester/+/24643 to look at the new patch set (#2). Change subject: jenkins-build-common: adds support to the new variables for patchelf. ...................................................................... jenkins-build-common: adds support to the new variables for patchelf. 2 variables are added in order to increase the flexibility of the add_rpath function. patchelf_rpath_extra_args: adds more arguments to the rpath patch. For example "--force-rpath" patchelf_rpath_dir: path to the libraries. This path is appended to the default '$ORIGIN/../lib/' This commit add the jenkins-build-srslte-bbu.sh script, that builds the given repository filling the information for the 2 newly added variables. Change-Id: I9f510112c63e7598add8c00f8573e34cac1b6064 --- M contrib/jenkins-build-common.sh A contrib/jenkins-build-srslte-bbu.sh 2 files changed, 33 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/43/24643/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24643 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I9f510112c63e7598add8c00f8573e34cac1b6064 Gerrit-Change-Number: 24643 Gerrit-PatchSet: 2 Gerrit-Owner: alealcon 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 Jun 11 10:13:31 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 11 Jun 2021 10:13:31 +0000 Subject: Change in osmo-bts[master]: scheduler: reorder enum trx_chan_type, add TRX_CHAN_IS_DEDIC() In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24645 ) Change subject: scheduler: reorder enum trx_chan_type, add TRX_CHAN_IS_DEDIC() ...................................................................... Patch Set 1: Code-Review+2 looks correct to me. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24645 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7148f4d0bd1abbfe309bc5477e32a56d884533ea Gerrit-Change-Number: 24645 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Fri, 11 Jun 2021 10:13: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 Jun 11 10:19:04 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 11 Jun 2021 10:19:04 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: report interference levels to the upper layers In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24613 ) Change subject: osmo-bts-trx: report interference levels to the upper layers ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4686448e42a40df56c1d27a14fd0a4d43fd144a5 Gerrit-Change-Number: 24613 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Fri, 11 Jun 2021 10: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 Fri Jun 11 11:42:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Jun 2021 11:42:45 +0000 Subject: Change in libosmocore[master]: ctrl: Support recovering from short write In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24640 ) Change subject: ctrl: Support recovering from short write ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24640/1/src/ctrl/control_if.c File src/ctrl/control_if.c: https://gerrit.osmocom.org/c/libosmocore/+/24640/1/src/ctrl/control_if.c at 494 PS1, Line 494: return 0; > fixeria's question still unresolved: [?] It's resolved from my side, I already posted my opinion above. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6cbc7ec6ae6832e61cddf4402332ba09b142a7d4 Gerrit-Change-Number: 24640 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-CC: neels Gerrit-Comment-Date: Fri, 11 Jun 2021 11:42:45 +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: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 11 11:46:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Jun 2021 11:46:34 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: sets the remote directory to the given one. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24282 ) Change subject: srs-enb: sets the remote directory to the given one. ...................................................................... Patch Set 3: Code-Review+2 ACK makes sense, thanks. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I77a56835a4054b86d1d3f7da823a013b3370f767 Gerrit-Change-Number: 24282 Gerrit-PatchSet: 3 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Jun 2021 11:46:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 11 11:47:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Jun 2021 11:47:28 +0000 Subject: Change in osmo-gsm-tester[master]: srs-ms: allows to run given scripts before the execution of the UE. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24277 ) Change subject: srs-ms: allows to run given scripts before the execution of the UE. ...................................................................... Patch Set 3: Code-Review+2 ACK -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24277 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I718e686b5844f2f07eda820914678052f1008182 Gerrit-Change-Number: 24277 Gerrit-PatchSet: 3 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: srs_andre Gerrit-Comment-Date: Fri, 11 Jun 2021 11:47:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 11 11:48:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Jun 2021 11:48:04 +0000 Subject: Change in osmo-gsm-tester[master]: iperf: adds the option to define the packet length for udp. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24273 ) Change subject: iperf: adds the option to define the packet length for udp. ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24273 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic886faa82b7cb25f2bce685eb80910623e4ff686 Gerrit-Change-Number: 24273 Gerrit-PatchSet: 3 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Jun 2021 11: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 Fri Jun 11 11:48:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Jun 2021 11:48:30 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: runs the given list of scripts before and after launching th... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24278 ) Change subject: srs-enb: runs the given list of scripts before and after launching the eNodeB. ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I5017caae933809b89b32ea132be8552d6554e20e Gerrit-Change-Number: 24278 Gerrit-PatchSet: 3 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Jun 2021 11:48:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 11 11:48:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Jun 2021 11:48:49 +0000 Subject: Change in osmo-gsm-tester[master]: jenkins-build-common: adds support to the new variables for patchelf. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24643 ) Change subject: jenkins-build-common: adds support to the new variables for patchelf. ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24643 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I9f510112c63e7598add8c00f8573e34cac1b6064 Gerrit-Change-Number: 24643 Gerrit-PatchSet: 2 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Jun 2021 11:48:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 11 11:49:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Jun 2021 11:49:08 +0000 Subject: Change in osmo-gsm-tester[master]: iperf: adds the option to define the packet length for udp. In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24273 ) Change subject: iperf: adds the option to define the packet length for udp. ...................................................................... iperf: adds the option to define the packet length for udp. Added the feature to configure the packet length in udp iperf. Added a modifier to select the length value. The default value is configured to 1460. Change-Id: Ic886faa82b7cb25f2bce685eb80910623e4ff686 --- M src/osmo_gsm_tester/obj/iperf3.py A sysmocom/scenarios/cfg-iperf3-packet-length at .conf 2 files changed, 8 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/iperf3.py b/src/osmo_gsm_tester/obj/iperf3.py index 4b88df0..9e03a02 100644 --- a/src/osmo_gsm_tester/obj/iperf3.py +++ b/src/osmo_gsm_tester/obj/iperf3.py @@ -32,6 +32,7 @@ config_schema = { 'time': schema.DURATION, 'protocol': 'iperf3_protocol', + 'packet_length' : schema.UINT, } schema.register_config_schema('iperf3cli', config_schema) @@ -271,6 +272,10 @@ popen_args += ('--bidir',) if proto == IPerf3Client.PROTO_UDP: popen_args += ('-u', '-b', str(bitrate)) + # Add the buffer length. + if values.get('packet_length'): + packet_length = str(values.get('packet_length')) + popen_args += ('-l', packet_length) if tos is not None: popen_args += ('-S', str(tos)) diff --git a/sysmocom/scenarios/cfg-iperf3-packet-length at .conf b/sysmocom/scenarios/cfg-iperf3-packet-length at .conf new file mode 100644 index 0000000..340daf0 --- /dev/null +++ b/sysmocom/scenarios/cfg-iperf3-packet-length at .conf @@ -0,0 +1,3 @@ +config: + iperf3cli: + packet_length: ${param1} \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24273 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic886faa82b7cb25f2bce685eb80910623e4ff686 Gerrit-Change-Number: 24273 Gerrit-PatchSet: 3 Gerrit-Owner: alealcon 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 Jun 11 11:49:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Jun 2021 11:49:08 +0000 Subject: Change in osmo-gsm-tester[master]: 4g-iperf3-ul: modified the test to parameterize the number of ue in t... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24274 ) Change subject: 4g-iperf3-ul: modified the test to parameterize the number of ue in the test. ...................................................................... 4g-iperf3-ul: modified the test to parameterize the number of ue in the test. Parameterize the iperf3 uplink test for the 4g test suite to execute a given number of UEs. By default, the number of ue is 1. Change-Id: I4b006df04bd1af6c117bcb25e6a6b1609ac732fb --- M sysmocom/suites/4g/iperf3_ul.py 1 file changed, 72 insertions(+), 23 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/sysmocom/suites/4g/iperf3_ul.py b/sysmocom/suites/4g/iperf3_ul.py index e243774..ae6da51 100755 --- a/sysmocom/suites/4g/iperf3_ul.py +++ b/sysmocom/suites/4g/iperf3_ul.py @@ -6,43 +6,92 @@ if os.path.isdir(os.path.join(os.path.dirname(__file__), 'templates')): tenv.set_overlay_template_dir(os.path.join(os.path.dirname(__file__), 'templates')) +# Retrieve the number of physical ue from the test suite configuration. +test_config = tenv.config_test_specific() +nof_ue = int(test_config.get("nof_physical_ue", 1)) + +print(f'Number of physical ue: {nof_ue}') + +ue_li = [] + +# Get the ue from the test configuration. +for n in range(0, nof_ue): + ue_li.append(tenv.modem()) + print(f'ue index{n}: {ue_li[n]}') + epc = tenv.epc() enb = tenv.enb() -ue = tenv.modem() -iperf3srv = tenv.iperf3srv({'addr': epc.tun_addr()}) -iperf3srv.set_run_node(epc.run_node()) -iperf3cli = iperf3srv.create_client() -iperf3cli.set_run_node(ue.run_node()) -epc.subscriber_add(ue) +iperf3srv = [] +for n in range(0, nof_ue): + iperf3srv.append(tenv.iperf3srv({'addr': epc.tun_addr()})) + iperf3srv[n].set_run_node(epc.run_node()) + iperf3srv[n].set_port(iperf3srv[n].DEFAULT_SRV_PORT + n) + +# Set the iperf clients in the ue. +iperf3cli = [] +for n in range(0, nof_ue): + iperf3cli.append(iperf3srv[n].create_client()) + iperf3cli[n].set_run_node(ue_li[n].run_node()) + +for n in range(0, nof_ue): + epc.subscriber_add(ue_li[n]) epc.start() -enb.ue_add(ue) + +enb.ue_add(ue_li[0]) enb.start(epc) print('waiting for ENB to connect to EPC...') wait(epc.enb_is_connected, enb) print('ENB is connected to EPC') -ue.connect(enb) +for n in range(0, nof_ue): + ue_li[n].connect(enb) -max_rate = enb.ue_max_rate(downlink=False, num_carriers=ue.num_carriers) +for n in range(0, nof_ue): + iperf3srv[n].start() -iperf3srv.start() -proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_UL, ue.netns(), bitrate=max_rate) +proc_li = [] -print('waiting for UE to attach...') -wait(ue.is_registered) -print('UE is attached') +# Attach all the ue's. +for n in range(0, nof_ue): + max_rate = enb.ue_max_rate(downlink=False, num_carriers=ue_li[n].num_carriers) + client = iperf3cli[n].prepare_test_proc(iperf3cli[n].DIR_UL, ue_li[n].netns(), bitrate=max_rate) + print(f'Iperf client type: {type(client)}') + proc_li.append(client) -print("Running iperf3 client to %s through %s" % (str(iperf3cli), ue.netns())) -proc.launch_sync() -iperf3srv.stop() +for n in range(0, nof_ue): + print(f'waiting for UE {n} to attach...') + wait(ue_li[n].is_registered) + print(f'UE {n} is attached') -iperf3cli.print_results() -iperf3srv.print_results(iperf3cli.proto() == iperf3cli.PROTO_UDP) +# Execute the iperfs and wait for its finish. +try: + for proc in proc_li: + proc.launch() + for proc in proc_li: + proc.wait() +except Exception as e: + for proc in proc_li: + try: + proc.terminate() + except Exception: + print("Exception while terminanting process %r" % repr(process)) + raise e + +for n in range(0, nof_ue): + iperf3cli[n].print_results() + iperf3srv[n].print_results(iperf3cli[n].proto() == iperf3cli[n].PROTO_UDP) # 80% of the maximum rate for half of the test duration -half_duration = int(round(iperf3cli.time_sec() / 2)) -res_str = ue.verify_metric(max_rate * 0.8, operation='max_rolling_avg', metric='ul_brate', criterion='gt', window=half_duration) -print(res_str) -test.set_report_stdout(res_str) +out = '' +for n in range(0, nof_ue): + half_duration = int(round(iperf3cli[n].time_sec() / 2)) + max_rate = enb.ue_max_rate(downlink=False, num_carriers=ue_li[n].num_carriers) + res_str = ue_li[n].verify_metric(max_rate * 0.8, operation='max_rolling_avg', metric='ul_brate', criterion='gt', window=half_duration) + print(res_str) + out += res_str + if n != nof_ue - 1: + out += '\n' + +test.set_report_stdout(out) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4b006df04bd1af6c117bcb25e6a6b1609ac732fb Gerrit-Change-Number: 24274 Gerrit-PatchSet: 3 Gerrit-Owner: alealcon 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 Jun 11 11:49:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Jun 2021 11:49:08 +0000 Subject: Change in osmo-gsm-tester[master]: 4g-iperf3-dl: modified the test to parameterize the number of ue in t... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24275 ) Change subject: 4g-iperf3-dl: modified the test to parameterize the number of ue in the test. ...................................................................... 4g-iperf3-dl: modified the test to parameterize the number of ue in the test. Parameterize the iperf3 downlink test for the 4g test suite to execute a given number of UEs. By default, the number of ue is 1. Change-Id: Ifafea196289d1ce0d35ae66c6564266ba123b27a --- M sysmocom/suites/4g/iperf3_dl.py 1 file changed, 73 insertions(+), 23 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/sysmocom/suites/4g/iperf3_dl.py b/sysmocom/suites/4g/iperf3_dl.py index 9e172c4..8d4cb5a 100755 --- a/sysmocom/suites/4g/iperf3_dl.py +++ b/sysmocom/suites/4g/iperf3_dl.py @@ -6,43 +6,93 @@ if os.path.isdir(os.path.join(os.path.dirname(__file__), 'templates')): tenv.set_overlay_template_dir(os.path.join(os.path.dirname(__file__), 'templates')) +# Retrieve the number of physical ue from the test suite configuration. +test_config = tenv.config_test_specific() +nof_ue = int(test_config.get("nof_physical_ue", 1)) + +print(f'Number of physical ue: {nof_ue}') + +ue_li = [] + +# Get the ue from the test configuration. +for n in range(0, nof_ue): + ue_li.append(tenv.modem()) + print(f'ue index{n}: {ue_li[n]}') + epc = tenv.epc() enb = tenv.enb() -ue = tenv.modem() -iperf3srv = tenv.iperf3srv({'addr': epc.tun_addr()}) -iperf3srv.set_run_node(epc.run_node()) -iperf3cli = iperf3srv.create_client() -iperf3cli.set_run_node(ue.run_node()) -epc.subscriber_add(ue) +iperf3srv = [] +for n in range(0, nof_ue): + iperf3srv.append(tenv.iperf3srv({'addr': epc.tun_addr()})) + iperf3srv[n].set_run_node(epc.run_node()) + iperf3srv[n].set_port(iperf3srv[n].DEFAULT_SRV_PORT + n) + +# Set the iperf clients in the ue. +iperf3cli = [] +for n in range(0, nof_ue): + iperf3cli.append(iperf3srv[n].create_client()) + iperf3cli[n].set_run_node(ue_li[n].run_node()) + +for n in range(0, nof_ue): + epc.subscriber_add(ue_li[n]) epc.start() -enb.ue_add(ue) + +enb.ue_add(ue_li[0]) enb.start(epc) print('waiting for ENB to connect to EPC...') wait(epc.enb_is_connected, enb) print('ENB is connected to EPC') -ue.connect(enb) +for n in range(0, nof_ue): + ue_li[n].connect(enb) -max_rate = enb.ue_max_rate(downlink=True, num_carriers=ue.num_carriers) +for n in range(0, nof_ue): + iperf3srv[n].start() -iperf3srv.start() -proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_DL, ue.netns(), bitrate=max_rate) +proc_li = [] -print('waiting for UE to attach...') -wait(ue.is_registered) -print('UE is attached') +# Attach all the ue's. +for n in range(0, nof_ue): + max_rate = enb.ue_max_rate(downlink=True, num_carriers=ue_li[n].num_carriers); + client = iperf3cli[n].prepare_test_proc(iperf3cli[n].DIR_DL, ue_li[n].netns(), bitrate=max_rate) + print(f'Iperf client type: {type(client)}') + proc_li.append(client) -print("Running iperf3 client to %s through %s" % (str(iperf3cli), ue.netns())) -proc.launch_sync() -iperf3srv.stop() +# Wait until all ue are attached. +for n in range(0, nof_ue): + print(f'waiting for UE {n} to attach...') + wait(ue_li[n].is_registered) + print(f'UE {n} is attached') -iperf3cli.print_results() -iperf3srv.print_results(iperf3cli.proto() == iperf3cli.PROTO_UDP) +# Execute the iperfs and wait for its finish. +try: + for proc in proc_li: + proc.launch() + for proc in proc_li: + proc.wait() +except Exception as e: + for proc in proc_li: + try: + proc.terminate() + except Exception: + print("Exception while terminanting process %r" % repr(process)) + raise e + +for n in range(0, nof_ue): + iperf3cli[n].print_results() + iperf3srv[n].print_results(iperf3cli[n].proto() == iperf3cli[n].PROTO_UDP) # 80% of the maximum rate for half of the test duration -half_duration = int(round(iperf3cli.time_sec() / 2)) -res_str = ue.verify_metric(max_rate * 0.8, operation='max_rolling_avg', metric='dl_brate', criterion='gt', window=half_duration) -print(res_str) -test.set_report_stdout(res_str) +out = '' +for n in range(0, nof_ue): + half_duration = int(round(iperf3cli[n].time_sec() / 2)) + max_rate = enb.ue_max_rate(downlink=True, num_carriers=ue_li[n].num_carriers); + res_str = ue_li[n].verify_metric(max_rate * 0.8, operation='max_rolling_avg', metric='dl_brate', criterion='gt', window=half_duration) + print(res_str) + out += res_str + if n != nof_ue - 1: + out += '\n' + +test.set_report_stdout(out) \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24275 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ifafea196289d1ce0d35ae66c6564266ba123b27a Gerrit-Change-Number: 24275 Gerrit-PatchSet: 3 Gerrit-Owner: alealcon 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 Jun 11 11:49:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Jun 2021 11:49:09 +0000 Subject: Change in osmo-gsm-tester[master]: 4g-iperf3-bidir: modified the test to parameterize the number of ue i... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24276 ) Change subject: 4g-iperf3-bidir: modified the test to parameterize the number of ue in the test. ...................................................................... 4g-iperf3-bidir: modified the test to parameterize the number of ue in the test. Parameterize the iperf3 bidirectional test for the 4g test suite to execute a given number of UEs. By default, the number of ue is 1. Change-Id: I34fb436d581eda12388819b5dee9a3bafd419a7f --- M sysmocom/suites/4g/iperf3_bidir.py 1 file changed, 75 insertions(+), 25 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/sysmocom/suites/4g/iperf3_bidir.py b/sysmocom/suites/4g/iperf3_bidir.py index 3c94a88..70a2fde 100755 --- a/sysmocom/suites/4g/iperf3_bidir.py +++ b/sysmocom/suites/4g/iperf3_bidir.py @@ -6,45 +6,95 @@ if os.path.isdir(os.path.join(os.path.dirname(__file__), 'templates')): tenv.set_overlay_template_dir(os.path.join(os.path.dirname(__file__), 'templates')) +# Retrieve the number of physical ue from the test suite configuration. +test_config = tenv.config_test_specific() +nof_ue = int(test_config.get("nof_physical_ue", 1)) + +print(f'Number of physical ue: {nof_ue}') + +ue_li = [] + +# Get the ue from the test configuration. +for n in range(0, nof_ue): + ue_li.append(tenv.modem()) + print(f'ue index{n}: {ue_li[n]}') + epc = tenv.epc() enb = tenv.enb() -ue = tenv.modem() -iperf3srv = tenv.iperf3srv({'addr': epc.tun_addr()}) -iperf3srv.set_run_node(epc.run_node()) -iperf3cli = iperf3srv.create_client() -iperf3cli.set_run_node(ue.run_node()) -epc.subscriber_add(ue) +iperf3srv = [] +for n in range(0, nof_ue): + iperf3srv.append(tenv.iperf3srv({'addr': epc.tun_addr()})) + iperf3srv[n].set_run_node(epc.run_node()) + iperf3srv[n].set_port(iperf3srv[n].DEFAULT_SRV_PORT + n) + +# Set the iperf clients in the ue. +iperf3cli = [] +for n in range(0, nof_ue): + iperf3cli.append(iperf3srv[n].create_client()) + iperf3cli[n].set_run_node(ue_li[n].run_node()) + +for n in range(0, nof_ue): + epc.subscriber_add(ue_li[n]) epc.start() -enb.ue_add(ue) + +enb.ue_add(ue_li[0]) enb.start(epc) print('waiting for ENB to connect to EPC...') wait(epc.enb_is_connected, enb) print('ENB is connected to EPC') -ue.connect(enb) +for n in range(0, nof_ue): + ue_li[n].connect(enb) -max_rate_ratio = 0.8 -max_rate_dl = enb.ue_max_rate(downlink=True, num_carriers=ue.num_carriers) -max_rate_ul = enb.ue_max_rate(downlink=False, num_carriers=ue.num_carriers) +for n in range(0, nof_ue): + iperf3srv[n].start() -iperf3srv.start() -proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_BI, ue.netns(), bitrate=max_rate_dl) +proc_li = [] -print('waiting for UE to attach...') -wait(ue.is_registered) -print('UE is attached') +# Attach all the ue's. +for n in range(0, nof_ue): + max_rate_dl = enb.ue_max_rate(downlink=True, num_carriers=ue_li[n].num_carriers) + client = iperf3cli[n].prepare_test_proc(iperf3cli[n].DIR_BI, ue_li[n].netns(), bitrate=max_rate_dl) + print(f'Iperf client type: {type(client)}') + proc_li.append(client) -print("Running iperf3 client to %s through %s" % (str(iperf3cli), ue.netns())) -proc.launch_sync() -iperf3srv.stop() +# Wait for all the ue's attach. +for n in range(0, nof_ue): + print(f'waiting for UE {n} to attach...') + wait(ue_li[n].is_registered) + print(f'UE {n} is attached') -iperf3cli.print_results() -iperf3srv.print_results(iperf3cli.proto() == iperf3cli.PROTO_UDP) +# Execute the iperfs and wait for its finish. +try: + for proc in proc_li: + proc.launch() + for proc in proc_li: + proc.wait() +except Exception as e: + for proc in proc_li: + try: + proc.terminate() + except Exception: + print("Exception while terminanting process %r" % repr(process)) + raise e + +for n in range(0, nof_ue): + iperf3cli[n].print_results() + iperf3srv[n].print_results(iperf3cli[n].proto() == iperf3cli[n].PROTO_UDP) # 80% of the maximum rate for half of the test duration -half_duration = int(round(iperf3cli.time_sec() / 2)) -res_str = ue.verify_metric((max_rate_dl + max_rate_ul) * max_rate_ratio, operation='max_rolling_avg', metric='dl_brate+ul_brate', criterion='gt', window=half_duration) -print(res_str) -test.set_report_stdout(res_str) \ No newline at end of file +max_rate_ratio = 0.8 +out = '' +for n in range(0, nof_ue): + half_duration = int(round(iperf3cli[n].time_sec() / 2)) + max_rate_dl = enb.ue_max_rate(downlink=True, num_carriers=ue_li[n].num_carriers) + max_rate_ul = enb.ue_max_rate(downlink=False, num_carriers=ue_li[n].num_carriers) + res_str = ue_li[n].verify_metric((max_rate_dl + max_rate_ul) * max_rate_ratio, operation='max_rolling_avg', metric='dl_brate+ul_brate', criterion='gt', window=half_duration) + print(res_str) + out += res_str + if n != nof_ue - 1: + out += '\n' + +test.set_report_stdout(out) \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24276 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I34fb436d581eda12388819b5dee9a3bafd419a7f Gerrit-Change-Number: 24276 Gerrit-PatchSet: 3 Gerrit-Owner: alealcon 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 Jun 11 11:49:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Jun 2021 11:49:09 +0000 Subject: Change in osmo-gsm-tester[master]: srs-ms: allows to run given scripts before the execution of the UE. In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24277 ) Change subject: srs-ms: allows to run given scripts before the execution of the UE. ...................................................................... srs-ms: allows to run given scripts before the execution of the UE. Executes the scripts given by the 'prerun_scripts' variable before launching the UE. Change-Id: I718e686b5844f2f07eda820914678052f1008182 --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 51 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index ec4486f..bb5d226 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -45,7 +45,8 @@ 'freq_offset': schema.INT, 'force_ul_amplitude': schema.STR, 'dl_freq': schema.STR, - 'ul_freq': schema.STR + 'ul_freq': schema.STR, + 'prerun_scripts[]': schema.STR, } for key, val in RunNode.schema().items(): resource_schema['run_node.%s' % key] = val @@ -171,11 +172,60 @@ def zmq_base_bind_port(self): return self._zmq_base_bind_port + def run_task(self, task): + # Get the arguments. + args_index = task.find('args=') + + args = () + # No arguments, all the string is the script. + if args_index == -1: + index = task.rfind('/') + task_name = task [index + 1:] + run_dir = util.Dir(self.run_dir.new_dir(task_name)) + args = (task,) + self.log(f'task name is: {task_name}') + self.log(f'Running the script: {task} in the run dir: {run_dir}') + else: + ntask = task[:args_index - 1] + index = ntask.rfind('/') + task_name = ntask [index + 1:] + run_dir = util.Dir(self.run_dir.new_dir(task_name)) + args = (ntask,) + args += tuple(task[args_index + 5:].split(',')) + self.log(f'task name is: {task_name}') + self.log(f'Running the script: {task} in the run dir: {run_dir} with args: {args}') + + proc = process.Process(task_name, run_dir, args) + # Set the timeout to a high value 20 minutes. + proc.set_default_wait_timeout(1200) + returncode = proc.launch_sync() + if returncode != 0: + raise log.Error('Error executing the pre run scripts. Aborting') + return False + + return True + + # Runs all the tasks that are intended to run before the execution of the MS. + def prerun_tasks(self): + prerun_tasklist = self._conf.get('prerun_scripts', None) + if not prerun_tasklist: + return True + + for task in prerun_tasklist: + if not self.run_task(task): + return False + + return True + def connect(self, enb): self.log('Starting srsue') self.enb = enb self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() + + if not self.prerun_tasks(): + return + if self._run_node.is_local(): self.start_locally() else: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24277 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I718e686b5844f2f07eda820914678052f1008182 Gerrit-Change-Number: 24277 Gerrit-PatchSet: 3 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: srs_andre Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 11 11:49:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Jun 2021 11:49:09 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: runs the given list of scripts before and after launching th... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24278 ) Change subject: srs-enb: runs the given list of scripts before and after launching the eNodeB. ...................................................................... srs-enb: runs the given list of scripts before and after launching the eNodeB. Allows to run given scripts before and after the execution of the SRS eNodeB. The scripts are retrieved as a list from the resource.conf file. Change-Id: I5017caae933809b89b32ea132be8552d6554e20e --- M src/osmo_gsm_tester/obj/enb_srs.py 1 file changed, 72 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 708e63a..703fb2e 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -29,6 +29,12 @@ from ..core import schema def on_register_schemas(): + resource_schema = { + 'prerun_scripts[]': schema.STR, + 'postrun_scripts[]': schema.STR, + } + schema.register_resource_schema('enb', resource_schema) + config_schema = { 'enable_pcap': schema.BOOL_STR, 'enable_tracing': schema.BOOL_STR, @@ -100,6 +106,10 @@ # Make sure we give the UE time to tear down self.sleep_after_stop() + # Execute the post run tasks. + if not self.postrun_tasks(): + self.log('Could not execute the post run tasks') + # copy back files (may not exist, for instance if there was an early error of process): self.scp_back_metrics(raiseException=False) @@ -151,11 +161,73 @@ else: self.dbg('Metrics have already been copied back') + def run_task(self, task): + # Get the arguments. + args_index = task.find('args=') + + args = () + # No arguments, all the string is the script. + if args_index == -1: + index = task.rfind('/') + task_name = task [index + 1:] + run_dir = util.Dir(self.run_dir.new_dir(task_name)) + args = (task,) + self.log(f'task name is: {task_name}') + self.log(f'Running the script: {task} in the run dir: {run_dir}') + else: + ntask = task[:args_index - 1] + index = ntask.rfind('/') + task_name = ntask [index + 1:] + run_dir = util.Dir(self.run_dir.new_dir(task_name)) + args = (ntask,) + args += tuple(task[args_index + 5:].split(',')) + self.log(f'task name is: {task_name}') + self.log(f'Running the script: {task} in the run dir: {run_dir} with args: {args}') + + proc = process.Process(task_name, run_dir, args) + # Set the timeout to a high value 20 minutes. + proc.set_default_wait_timeout(1200) + returncode = proc.launch_sync() + if returncode != 0: + raise log.Error('Error executing the pre run scripts. Aborting') + return False + + return True + + # Runs all the tasks that are intended to run before the execution of the eNodeb. + def prerun_tasks(self): + prerun_tasklist = self._conf.get('prerun_scripts', None) + if not prerun_tasklist: + return True + + for task in prerun_tasklist: + if not self.run_task(task): + return False + + return True + + # Runs all the tasks that are intended to run after the execution of the eNodeb. + def postrun_tasks(self): + postrun_tasklist = self._conf.get('postrun_scripts', None) + if not postrun_tasklist: + return True + + for task in postrun_tasklist: + if not self.run_task(task): + return False + + return True + def start(self, epc): self.log('Starting srsENB') self._epc = epc self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() + + if not self.prerun_tasks(): + self.log('Pre run tasks failed. Aborting') + return + if self._run_node.is_local(): self.start_locally() else: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I5017caae933809b89b32ea132be8552d6554e20e Gerrit-Change-Number: 24278 Gerrit-PatchSet: 3 Gerrit-Owner: alealcon 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 Jun 11 11:49:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Jun 2021 11:49:09 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: adds fapi to the rf supported devices. In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24279 ) Change subject: srs-enb: adds fapi to the rf supported devices. ...................................................................... srs-enb: adds fapi to the rf supported devices. Added support to 'fapi' rf device for the SRS eNodeB. Change-Id: I0ac2a7db7c0533dfbc90f2526a7b823110d355c0 --- M src/osmo_gsm_tester/obj/enb_srs.py 1 file changed, 5 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 703fb2e..025960c 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -44,7 +44,7 @@ schema.register_config_schema('enb', config_schema) def rf_type_valid(rf_type_str): - return rf_type_str in ('zmq', 'uhd', 'soapy', 'bladerf') + return rf_type_str in ('zmq', 'uhd', 'soapy', 'bladerf', 'fapi') class srsENB(enb.eNodeB, srslte_common): @@ -371,6 +371,10 @@ config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) + if self._conf.get('rf_dev_type') == 'fapi': + rf_dev_args = '' + config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) + self.gen_conf = values self.gen_conf_file(self.config_file, srsENB.CFGFILE, values) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24279 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I0ac2a7db7c0533dfbc90f2526a7b823110d355c0 Gerrit-Change-Number: 24279 Gerrit-PatchSet: 3 Gerrit-Owner: alealcon 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 Jun 11 11:49:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Jun 2021 11:49:10 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: sets the remote directory to the given one. In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24282 ) Change subject: srs-enb: sets the remote directory to the given one. ...................................................................... srs-enb: sets the remote directory to the given one. Sets the remote directory for fapi to the given in the variable 'remote_dir' in the reource schema. Change-Id: I77a56835a4054b86d1d3f7da823a013b3370f767 --- M src/osmo_gsm_tester/obj/enb_srs.py 1 file changed, 8 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 025960c..69aa095 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -32,6 +32,7 @@ resource_schema = { 'prerun_scripts[]': schema.STR, 'postrun_scripts[]': schema.STR, + 'remote_dir': schema.STR } schema.register_resource_schema('enb', resource_schema) @@ -290,6 +291,13 @@ if not self._run_node.is_local(): self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr()) remote_prefix_dir = util.Dir(srsENB.REMOTE_DIR) + + # Modify the default remote directory if it is provided by the configuration. + remote_path = self._conf.get('remote_dir', None) + if remote_path: + remote_prefix_dir = util.Dir(remote_path) + self.log(f'Setting the remote dir to: {remote_path}') + self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) self.remote_run_dir = util.Dir(remote_prefix_dir.child(self.name())) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I77a56835a4054b86d1d3f7da823a013b3370f767 Gerrit-Change-Number: 24282 Gerrit-PatchSet: 3 Gerrit-Owner: alealcon 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 Jun 11 11:49:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Jun 2021 11:49:11 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: adds support to the malloc interceptor. In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24284 ) Change subject: srs-enb: adds support to the malloc interceptor. ...................................................................... srs-enb: adds support to the malloc interceptor. Adds support to the malloc interceptor for the SRS eNodeB. This interceptor will generate a log file that lists the mallocs, reallocs and frees produced by the srsenb. Change-Id: I0078020468f58bdd70b0b5de879eb58192f947a6 --- M src/osmo_gsm_tester/obj/enb_srs.py M src/osmo_gsm_tester/obj/run_node.py A sysmocom/scenarios/cfg-enb-malloc-interceptor.conf 3 files changed, 40 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 69aa095..93272c4 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -37,6 +37,7 @@ schema.register_resource_schema('enb', resource_schema) config_schema = { + 'enable_malloc_interceptor': schema.BOOL_STR, 'enable_pcap': schema.BOOL_STR, 'enable_tracing': schema.BOOL_STR, 'enable_ul_qam64': schema.BOOL_STR, @@ -60,6 +61,7 @@ S1AP_PCAPFILE = 'srsenb_s1ap.pcap' TRACINGFILE = 'srsenb_tracing.log' METRICSFILE = 'srsenb_metrics.csv' + INTERCEPTORFILE = 'srsenb_minterceptor.log' def __init__(self, testenv, conf): super().__init__(testenv, conf, srsENB.BINFILE) @@ -72,6 +74,7 @@ self.config_rr_file = None self.config_drb_file = None self.tracing_file = None + self.interceptor_file = None self.log_file = None self.pcap_file = None self.s1ap_pcap_file = None @@ -87,9 +90,11 @@ self.remote_s1ap_pcap_file = None self.remote_tracing_file = None self.remote_metrics_file = None + self.remote_interceptor_file = None self.enable_pcap = False self.enable_ul_qam64 = False self.enable_tracing = False + self.enable_malloc_interceptor = False self.metrics_file = None self.have_metrics_file = False self.stop_sleep_time = 6 # We require at most 5s to stop @@ -134,6 +139,12 @@ except Exception as e: self.log(repr(e)) + if self.enable_malloc_interceptor: + try: + self.rem_host.scpfrom('scp-back-interceptor', self.remote_interceptor_file, self.interceptor_file) + except Exception as e: + self.log(repr(e)) + # Collect KPIs for each TC self.testenv.test().set_kpis(self.get_kpi_tree()) # Clean up for parent class: @@ -244,10 +255,23 @@ def start_remotely(self): remote_env = { 'LD_LIBRARY_PATH': self.remote_inst.child('lib') } + # Add the malloc interceptor env variable when it's required. + if self.enable_malloc_interceptor: + path = self._run_node.lib_path_malloc_interceptor() + if not path: + raise log.Error('Could not get the environment variables. Aborting') + + self.log(f'Setting LD_PRELOAD var to value: {path}') + remote_env['LD_PRELOAD'] = path + remote_binary = self.remote_inst.child('bin', srsENB.BINFILE) args = (remote_binary, self.remote_config_file) args += tuple(self._additional_args) + # Force the output of the malloc interceptor to the interceptor_file. + if self.enable_malloc_interceptor: + args += tuple([f" 2> {self.remote_interceptor_file}"]) + self.process = self.rem_host.RemoteProcessSafeExit(srsENB.BINFILE, self.remote_run_dir, args, remote_env=remote_env, wait_time_sec=7) self.testenv.remember_to_stop(self.process) self.process.launch() @@ -287,6 +311,7 @@ self.s1ap_pcap_file = self.run_dir.child(srsENB.S1AP_PCAPFILE) self.metrics_file = self.run_dir.child(srsENB.METRICSFILE) self.tracing_file = self.run_dir.child(srsENB.TRACINGFILE) + self.interceptor_file = self.run_dir.child(srsENB.INTERCEPTORFILE) if not self._run_node.is_local(): self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr()) @@ -310,6 +335,7 @@ self.remote_s1ap_pcap_file = self.remote_run_dir.child(srsENB.S1AP_PCAPFILE) self.remote_metrics_file = self.remote_run_dir.child(srsENB.METRICSFILE) self.remote_tracing_file = self.remote_run_dir.child(srsENB.TRACINGFILE) + self.remote_interceptor_file = self.remote_run_dir.child(srsENB.INTERCEPTORFILE) values = super().configure(['srsenb']) @@ -331,6 +357,9 @@ s1ap_pcap_filename=s1ap_pcapfile, ))) + # Retrieve the malloc interceptor option. + self.enable_malloc_interceptor = util.str2bool(values['enb'].get('enable_malloc_interceptor', 'false')) + # Convert parsed boolean string to Python boolean: self.enable_pcap = util.str2bool(values['enb'].get('enable_pcap', 'false')) config.overlay(values, dict(enb={'enable_pcap': self.enable_pcap})) diff --git a/src/osmo_gsm_tester/obj/run_node.py b/src/osmo_gsm_tester/obj/run_node.py index 676c262..3549fc5 100644 --- a/src/osmo_gsm_tester/obj/run_node.py +++ b/src/osmo_gsm_tester/obj/run_node.py @@ -30,7 +30,7 @@ T_LOCAL = 'local' T_REM_SSH = 'ssh' - def __init__(self, type=None, run_addr=None, ssh_user=None, ssh_addr=None, run_label=None, label=None, ssh_port=None, adb_serial_id=None): + def __init__(self, type=None, run_addr=None, ssh_user=None, ssh_addr=None, run_label=None, label=None, ssh_port=None, adb_serial_id=None, lib_path_malloc_interceptor=None): super().__init__(log.C_RUN, 'runnode') self._type = type self._run_addr = run_addr @@ -40,6 +40,7 @@ self._label = label self._ssh_port = ssh_port self._adb_serial_id = adb_serial_id + self._lib_path_malloc_interceptor = lib_path_malloc_interceptor if not self._type: raise log.Error('run_type not set') if not self._run_addr: @@ -59,7 +60,8 @@ return cls(conf.get('run_type', None), conf.get('run_addr', None), conf.get('ssh_user', None), conf.get('ssh_addr', None), conf.get('run_label', None), conf.get('label', None), - conf.get('ssh_port', None), conf.get('adb_serial_id', None)) + conf.get('ssh_port', None), conf.get('adb_serial_id', None), + conf.get('lib_path_malloc_interceptor', None)) @classmethod def schema(cls): @@ -72,6 +74,7 @@ 'label': schema.STR, 'ssh_port': schema.STR, 'adb_serial_id': schema.STR, + 'lib_path_malloc_interceptor': schema.STR, } return resource_schema @@ -105,4 +108,7 @@ def adb_serial_id(self): return self._adb_serial_id + def lib_path_malloc_interceptor(self): + return self._lib_path_malloc_interceptor + # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/sysmocom/scenarios/cfg-enb-malloc-interceptor.conf b/sysmocom/scenarios/cfg-enb-malloc-interceptor.conf new file mode 100644 index 0000000..9f8cc0a --- /dev/null +++ b/sysmocom/scenarios/cfg-enb-malloc-interceptor.conf @@ -0,0 +1,3 @@ +config: + enb: + enable_malloc_interceptor: true -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I0078020468f58bdd70b0b5de879eb58192f947a6 Gerrit-Change-Number: 24284 Gerrit-PatchSet: 3 Gerrit-Owner: alealcon 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 Jun 11 11:49:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Jun 2021 11:49:11 +0000 Subject: Change in osmo-gsm-tester[master]: jenkins-build-common: adds support to the new variables for patchelf. In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24643 ) Change subject: jenkins-build-common: adds support to the new variables for patchelf. ...................................................................... jenkins-build-common: adds support to the new variables for patchelf. 2 variables are added in order to increase the flexibility of the add_rpath function. patchelf_rpath_extra_args: adds more arguments to the rpath patch. For example "--force-rpath" patchelf_rpath_dir: path to the libraries. This path is appended to the default '$ORIGIN/../lib/' This commit add the jenkins-build-srslte-bbu.sh script, that builds the given repository filling the information for the 2 newly added variables. Change-Id: I9f510112c63e7598add8c00f8573e34cac1b6064 --- M contrib/jenkins-build-common.sh A contrib/jenkins-build-srslte-bbu.sh 2 files changed, 33 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/contrib/jenkins-build-common.sh b/contrib/jenkins-build-common.sh index 9d59ca7..1579c34 100644 --- a/contrib/jenkins-build-common.sh +++ b/contrib/jenkins-build-common.sh @@ -204,11 +204,22 @@ # # Add an rpath relative to the binary and library if the directory # exists. + + rpath_args='--set-rpath' + rpath_dir='$ORIGIN/../lib/' + if [ -n "$patchelf_rapth_extra_args" ]; then + rpath_args="$patchelf_rapth_extra_args $rpath_args" + fi + + if [ -n "$patchelf_rpath_dir" ]; then + rpath_dir="$rpath_dir:$patchelf_rpath_dir" + fi + if [ -d bin/ ]; then - find bin -depth -type f -exec patchelf --set-rpath '$ORIGIN/../lib/' {} \; + find bin -depth -type f -exec patchelf $rpath_args "$rpath_dir" {} \; fi if [ -d sbin/ ]; then - find sbin -depth -type f -exec patchelf --set-rpath '$ORIGIN/../lib/' {} \; + find sbin -depth -type f -exec patchelf $rpath_args "$rpath_dir" {} \; fi if [ -d lib/ ]; then find lib -depth -type f -name "lib*.so.*" -exec patchelf --set-rpath '$ORIGIN/' {} \; diff --git a/contrib/jenkins-build-srslte-bbu.sh b/contrib/jenkins-build-srslte-bbu.sh new file mode 100755 index 0000000..48ae622 --- /dev/null +++ b/contrib/jenkins-build-srslte-bbu.sh @@ -0,0 +1,20 @@ +#!/bin/sh +set -e -x + +if [ -z "$trial_binaries" ]; then + trial_binaries="srsue srsenb srsepc" +fi + +export patchelf_rpath_dir="/mnt/nfs/bdlibs" +export patchelf_rapth_extra_args="--force-rpath" + +base="$PWD" +name="srslte" +git_url="${git_url:-https://github.com/srsLTE}" +project_name="${project_name:-srsLTE}" +. "$(dirname "$0")/jenkins-build-common.sh" + +#TODO: make sure libconfig, zeroMQ is installed +build_repo $project_name $configure_opts + +create_bin_tgz "$trial_binaries" -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24643 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I9f510112c63e7598add8c00f8573e34cac1b6064 Gerrit-Change-Number: 24643 Gerrit-PatchSet: 2 Gerrit-Owner: alealcon 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 Jun 11 11:49:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Jun 2021 11:49:58 +0000 Subject: Change in osmo-bts[master]: scheduler: reorder enum trx_chan_type, add TRX_CHAN_IS_DEDIC() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24645 ) Change subject: scheduler: reorder enum trx_chan_type, add TRX_CHAN_IS_DEDIC() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24645 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7148f4d0bd1abbfe309bc5477e32a56d884533ea Gerrit-Change-Number: 24645 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Jun 2021 11:49:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 11 11:50:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Jun 2021 11:50:23 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: report interference levels to the upper layers In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24613 ) Change subject: osmo-bts-trx: report interference levels to the upper layers ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4686448e42a40df56c1d27a14fd0a4d43fd144a5 Gerrit-Change-Number: 24613 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Fri, 11 Jun 2021 11:50: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 Jun 11 13:16:45 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 11 Jun 2021 13:16:45 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: fix error handling in mgcp message generation In-Reply-To: References: Message-ID: Hello Jenkins Builder, neels, laforge, pespin, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/24182 to look at the new patch set (#4). Change subject: mgcp_client: fix error handling in mgcp message generation ...................................................................... mgcp_client: fix error handling in mgcp message generation The functions add_lco and add_sdp assert when the codec string can not be generated. This is the case when an unexpected codec is addressed in the input parameter mgcp_msg for mgcp_msg_gen(). Even though the API user is expected only to use the codec identifiers in mgcp_client.h the check should not be done with an assert. Instead mgcp_msg_gen() should just return NULL imediately. Also all generation functions should not use magic numbers as return codes. Instead constants from errno.h should be used. It is also problematic that the return codes from msgb_printf are added up. Depending. It makes more sense to use an OR operator since msgb_printf only returns 0 or -EINVAL, so the end result will be -EINVAL if one or more msgb_printf fail and not just a random negative value. Change-Id: Ibb788343e0bec9c0eaf33e6e4727d4d36c100017 Related: OS#5119 --- M src/libosmo-mgcp-client/mgcp_client.c M tests/mgcp_client/mgcp_client_test.err 2 files changed, 67 insertions(+), 48 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/82/24182/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb788343e0bec9c0eaf33e6e4727d4d36c100017 Gerrit-Change-Number: 24182 Gerrit-PatchSet: 4 Gerrit-Owner: dexter 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 Fri Jun 11 13:17:10 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 11 Jun 2021 13:17:10 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: fix error handling in mgcp message generation In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24182 ) Change subject: mgcp_client: fix error handling in mgcp message generation ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24182/3/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24182/3/src/libosmo-mgcp-client/mgcp_client.c at 1352 PS3, Line 1352: rc_lco == -2 > you can simply return -ENOBUFS or some other errno value, whcih are guaranteed to be different from [?] I have fixed now. The code now uses proper return codes. I think it makes also sense to exit early when an error in the data is discovered. Continuing would be pointless. I guess when I wrote this I wanted to have a single location where the error message is printed. Now there are two more, but this also allows to narrow down the problem a bit more - if there is one. What I find also find problematic (came to my mind while reading Pau's comment). The rc of msgb_printf is currently added up. This is probably not so good since it may then evidently become a different return code if more then one msgb_printf failes. I have fixed that also. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb788343e0bec9c0eaf33e6e4727d4d36c100017 Gerrit-Change-Number: 24182 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Jun 2021 13:17:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria 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 Jun 11 13:19:10 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 11 Jun 2021 13:19:10 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: drop nunnecessary else statement In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24602 ) Change subject: mgcp_client: drop nunnecessary else statement ...................................................................... mgcp_client: drop nunnecessary else statement There is an elarly return statement, so there is no need for an else branch. Change-Id: I96d0d468ccab302f9add206164f4d5b1b768bb48 --- M src/libosmo-mgcp-client/mgcp_client.c 1 file changed, 1 insertion(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, approved diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index a134273..55ce7b2 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -1378,8 +1378,7 @@ rc_sdp = add_sdp(msg, mgcp_msg, mgcp); if (rc_sdp == -2) return NULL; - else - rc += rc_sdp; + rc += rc_sdp; } if (rc != 0) { -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I96d0d468ccab302f9add206164f4d5b1b768bb48 Gerrit-Change-Number: 24602 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 11 14:36:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Jun 2021 14:36:42 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: fix error handling in mgcp message generation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24182 ) Change subject: mgcp_client: fix error handling in mgcp message generation ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb788343e0bec9c0eaf33e6e4727d4d36c100017 Gerrit-Change-Number: 24182 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Jun 2021 14: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 Fri Jun 11 15:53:31 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 11 Jun 2021 15:53:31 +0000 Subject: Change in libosmocore[master]: bts_feature: Introduce feature to speak to PCU In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24615 ) Change subject: bts_feature: Introduce feature to speak to PCU ...................................................................... Patch Set 2: Code-Review+1 I guess that is for an Ericsson BTS OM2000 BTS. Maybe adding something like ... the BTS (e.g. Ericsson...) talks the ... would be helpful. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id62421f7f5540875ac877a187757f2cf0556bd02 Gerrit-Change-Number: 24615 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 11 Jun 2021 15:53: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 Jun 11 16:06:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Jun 2021 16:06:36 +0000 Subject: Change in libosmocore[master]: bts_feature: Introduce feature to speak to PCU In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24615 ) Change subject: bts_feature: Introduce feature to speak to PCU ...................................................................... Patch Set 2: > Patch Set 2: Code-Review+1 > > I guess that is for an Ericsson BTS OM2000 BTS. Maybe adding something like ... the BTS (e.g. Ericsson...) talks the ... would be helpful. I state "osmocom extension" in the commit description, so well, I think it's clear it's not for Ericsson BTS but for osmo-bts. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id62421f7f5540875ac877a187757f2cf0556bd02 Gerrit-Change-Number: 24615 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 11 Jun 2021 16:06:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 11 16:34:12 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 11 Jun 2021 16:34:12 +0000 Subject: Change in libosmocore[master]: bts_feature: Introduce feature to speak to PCU In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24615 ) Change subject: bts_feature: Introduce feature to speak to PCU ...................................................................... Patch Set 2: > Patch Set 2: > > > Patch Set 2: Code-Review+1 > > > > I guess that is for an Ericsson BTS OM2000 BTS. Maybe adding something like ... the BTS (e.g. Ericsson...) talks the ... would be helpful. > > I state "osmocom extension" in the commit description, so well, I think it's clear it's not for Ericsson BTS but for osmo-bts. Until now I thought all features in this enum are Osmocom specific. Am I missing something? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id62421f7f5540875ac877a187757f2cf0556bd02 Gerrit-Change-Number: 24615 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 11 Jun 2021 16:34:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 11 16:34:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 11 Jun 2021 16:34:48 +0000 Subject: Change in libosmocore[master]: ipaccess: Add new osmo extension IPAC_PROTO_EXT_PCU In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24614 ) Change subject: ipaccess: Add new osmo extension IPAC_PROTO_EXT_PCU ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24614 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I68b04def49946b6915dbd4e476999f249751cd28 Gerrit-Change-Number: 24614 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 11 Jun 2021 16:34: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 Jun 11 16:36:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Jun 2021 16:36:19 +0000 Subject: Change in libosmocore[master]: ipaccess: Add new osmo extension IPAC_PROTO_EXT_PCU In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24614 ) Change subject: ipaccess: Add new osmo extension IPAC_PROTO_EXT_PCU ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24614 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I68b04def49946b6915dbd4e476999f249751cd28 Gerrit-Change-Number: 24614 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Jun 2021 16:36: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 Jun 11 16:36:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Jun 2021 16:36:23 +0000 Subject: Change in libosmocore[master]: bts_feature: Introduce feature to speak to PCU In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24615 ) Change subject: bts_feature: Introduce feature to speak to PCU ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id62421f7f5540875ac877a187757f2cf0556bd02 Gerrit-Change-Number: 24615 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 11 Jun 2021 16:36:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 11 16:36:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Jun 2021 16:36:29 +0000 Subject: Change in libosmocore[master]: ipaccess: Add new osmo extension IPAC_PROTO_EXT_PCU In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24614 ) Change subject: ipaccess: Add new osmo extension IPAC_PROTO_EXT_PCU ...................................................................... ipaccess: Add new osmo extension IPAC_PROTO_EXT_PCU This new extension protocol is used to forward Osmocom PCUIF messages BSC<->BTS<->PCU. It will be sent re-using the IPA multiplex of the OML link between BSC and BTS. BTS is responsible for forwarding the message over the unix socket to the PCU. Related: SYS#5303 Change-Id: I68b04def49946b6915dbd4e476999f249751cd28 --- M include/osmocom/gsm/protocol/ipaccess.h 1 file changed, 1 insertion(+), 0 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/include/osmocom/gsm/protocol/ipaccess.h b/include/osmocom/gsm/protocol/ipaccess.h index 4f1d0b1..5182760 100644 --- a/include/osmocom/gsm/protocol/ipaccess.h +++ b/include/osmocom/gsm/protocol/ipaccess.h @@ -39,6 +39,7 @@ IPAC_PROTO_EXT_GSUP = 0x05, /* GSUP GPRS extension */ IPAC_PROTO_EXT_OAP = 0x06, /* Osmocom Authn Protocol */ IPAC_PROTO_EXT_RSPRO = 0x07, /* Remote SIM protocol */ + IPAC_PROTO_EXT_PCU = 0x08, /* BSC<->BTS<->PCU communication */ }; enum ipaccess_msgtype { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24614 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I68b04def49946b6915dbd4e476999f249751cd28 Gerrit-Change-Number: 24614 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 Fri Jun 11 16:36:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Jun 2021 16:36:31 +0000 Subject: Change in libosmocore[master]: bts_feature: Introduce feature to speak to PCU In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24615 ) Change subject: bts_feature: Introduce feature to speak to PCU ...................................................................... bts_feature: Introduce feature to speak to PCU This feature provides the BSC with information on whether the BTS talks the IPAC_PROTO_EXT_PCU osmocom extension over the underlying IPA multiplex of the OML link. Related: SYS#5303 Change-Id: Id62421f7f5540875ac877a187757f2cf0556bd02 --- M include/osmocom/gsm/bts_features.h M src/gsm/bts_features.c 2 files changed, 3 insertions(+), 0 deletions(-) Approvals: laforge: 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/include/osmocom/gsm/bts_features.h b/include/osmocom/gsm/bts_features.h index 93d35f3..8bd5ef5 100644 --- a/include/osmocom/gsm/bts_features.h +++ b/include/osmocom/gsm/bts_features.h @@ -29,6 +29,7 @@ BTS_FEAT_ACCH_REP, BTS_FEAT_CCN, /* Is CCN supported by the cell? TS 44.060 sec 8.8.2 */ BTS_FEAT_VAMOS, /* Is the BTS VAMOS capable? */ + BTS_FEAT_ABIS_OSMO_PCU, /* BTS supports forwarding data to PCUIF over IPA OML multiplex */ _NUM_BTS_FEAT }; diff --git a/src/gsm/bts_features.c b/src/gsm/bts_features.c index fb3193f..6e63d5c 100644 --- a/src/gsm/bts_features.c +++ b/src/gsm/bts_features.c @@ -44,6 +44,7 @@ { BTS_FEAT_ACCH_REP, "FACCH/SACCH Repetition" }, { BTS_FEAT_CCN, "Cell Change Notification (CCN)" }, { 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" }, { 0, NULL } }; @@ -75,5 +76,6 @@ { BTS_FEAT_ACCH_REP, "ACCH_REP" }, { BTS_FEAT_CCN, "CCN" }, { BTS_FEAT_VAMOS, "VAMOS" }, + { BTS_FEAT_ABIS_OSMO_PCU, "ABIS_OSMO_PCU" }, {} }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id62421f7f5540875ac877a187757f2cf0556bd02 Gerrit-Change-Number: 24615 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 11 16:38:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 11 Jun 2021 16:38:26 +0000 Subject: Change in libosmocore[master]: bts_feature: Introduce feature to speak to PCU In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24615 ) Change subject: bts_feature: Introduce feature to speak to PCU ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24615/3/include/osmocom/gsm/bts_features.h File include/osmocom/gsm/bts_features.h: https://gerrit.osmocom.org/c/libosmocore/+/24615/3/include/osmocom/gsm/bts_features.h at 32 PS3, Line 32: _OSMO I am still not sure about this part, aren't all other features here Osmocom specific? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id62421f7f5540875ac877a187757f2cf0556bd02 Gerrit-Change-Number: 24615 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 11 Jun 2021 16:38:26 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 11 16:52:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Jun 2021 16:52:03 +0000 Subject: Change in libosmocore[master]: bts_feature: Introduce feature to speak to PCU In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24615 ) Change subject: bts_feature: Introduce feature to speak to PCU ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24615/3/include/osmocom/gsm/bts_features.h File include/osmocom/gsm/bts_features.h: https://gerrit.osmocom.org/c/libosmocore/+/24615/3/include/osmocom/gsm/bts_features.h at 32 PS3, Line 32: _OSMO > I am still not sure about this part, aren't all other features here Osmocom specific? IIUC some of them are also sent by ipaccess nanobts? In any case, with "OSMO_PCU" I want to make it explicit that it's the "Osmocom" specific PCU protocol over Abis (that is, over the ipa multiplex "osmocom/pcu" extension of nthe OML link). -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id62421f7f5540875ac877a187757f2cf0556bd02 Gerrit-Change-Number: 24615 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 11 Jun 2021 16:52:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 11 20:34:39 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 11 Jun 2021 20:34:39 +0000 Subject: Change in libosmocore[master]: ctrl: Pre-calculate required size before allocating msgb In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24639 ) Change subject: ctrl: Pre-calculate required size before allocating msgb ...................................................................... Patch Set 1: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/24639/1/tests/ctrl/ctrl_test.c File tests/ctrl/ctrl_test.c: https://gerrit.osmocom.org/c/libosmocore/+/24639/1/tests/ctrl/ctrl_test.c at 120 PS1, Line 120: > It's not unrelated, I explain why is it related in the commit description. [?] I guess we can not simply do an msgb_put_u8 anymore to make sure that the string in sent_msg is terminated because the messages now are exactly as long as the string so we need to copy it into a buffer first. osmo_escape_str() would probably also not work, it has to store the terminating 0 also somewhere. I think this makes sense and it also means that this change is not unrelated. Maybe a comment about this may help to understand it better. https://gerrit.osmocom.org/c/libosmocore/+/24639/1/tests/ctrl/ctrl_test.c at 121 PS1, Line 121: char *strbuf = talloc_size(sent_msg, msgb_l2len(sent_msg) + 1); > (osmo style would want to declare char *strbuf above the OSMO_ASSERT) Declaring variables in the middle of the code may not be supported by older compilers anyway. I would declare it at the top of the function... - but if gcc eats it - why not? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0b8f370f7b08736207f9efed13a0663b5e482824 Gerrit-Change-Number: 24639 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 11 Jun 2021 20:34:39 +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 Fri Jun 11 21:39:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 11 Jun 2021 21:39:59 +0000 Subject: Change in pysim[master]: compatibility with cmd2 >= 2.0.0: Don't use 'use_ipython' References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24647 ) Change subject: compatibility with cmd2 >= 2.0.0: Don't use 'use_ipython' ...................................................................... compatibility with cmd2 >= 2.0.0: Don't use 'use_ipython' Upstream cmd2 removed the 'use_ipython' keyword argument. Three's a new 'include_ipy' instead. See https://github.com/python-cmd2/cmd2/commit/2397280cad072a27a51f5ec1cc64908039d14bd1 and https://github.com/python-cmd2/cmd2/issues/1120 To make our life simpler and as a quick fix, we simply disable ipython support for now. If this was to be re-introduced, we would have to use pkg_resources.get_distribution("cmd2") and use packaging.version.parse to compare against 2.0.0 Change-Id: Ibc9f7a9413b1656dbc1f75e1c3577e8e8db9c03c --- M pySim-shell.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/47/24647/1 diff --git a/pySim-shell.py b/pySim-shell.py index 59bfa28..01a1b94 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -56,7 +56,7 @@ def __init__(self, card, rs, script = None): basic_commands = [Iso7816Commands(), PySimCommands()] super().__init__(persistent_history_file='~/.pysim_shell_history', allow_cli_args=False, - use_ipython=True, auto_load_commands=False, command_sets=basic_commands, startup_script=script) + auto_load_commands=False, command_sets=basic_commands, startup_script=script) self.intro = style('Welcome to pySim-shell!', fg=fg.red) self.default_category = 'pySim-shell built-in commands' self.card = card -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24647 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ibc9f7a9413b1656dbc1f75e1c3577e8e8db9c03c Gerrit-Change-Number: 24647 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Fri Jun 11 21:43:48 2021 From: noreply at opensuse.org (OBS Notification) Date: Fri, 11 Jun 2021 21:43:48 +0000 Subject: Build failure of network:osmocom:nightly/sofia-sip in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <60c3d93095248_5f82ada45c626003131d7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/sofia-sip/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/sofia-sip failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly sofia-sip Last lines of build log: getbinaries: missing packages: libpcre2-posix2 (worker was armbuild14:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Jun 11 21:47:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 11 Jun 2021 21:47:40 +0000 Subject: Change in pysim[master]: cmd2: Constrain version to >= 1.3.0 but < 2.0.0 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24648 ) Change subject: cmd2: Constrain version to >= 1.3.0 but < 2.0.0 ...................................................................... cmd2: Constrain version to >= 1.3.0 but < 2.0.0 2.0.0 introduces several incompatible changes, see https://github.com/python-cmd2/cmd2/blob/master/CHANGELOG.md as well as https://github.com/python-cmd2/cmd2/issues/1120 As we want to be able to use what distributions ship, let's stay with 1.x for now. If piip is used, use 1.5 Change-Id: Iecc953269d5ae9ed9f31b829743c63bdfd29fa61 --- M README.md M contrib/jenkins.sh M requirements.txt M setup.py 4 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/48/24648/1 diff --git a/README.md b/README.md index 3751078..a45934c 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ - pyscard - serial - pytlv - - cmd2 + - cmd2 >= 1.3.0 but < 2.0.0 - jsonpath-ng - construct - bidict diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 27f0245..91dcdd2 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -19,7 +19,7 @@ . venv/bin/activate pip install pytlv pip install pyyaml -pip install cmd2 +pip install cmd2==1.5 pip install jsonpath-ng pip install construct pip install bidict diff --git a/requirements.txt b/requirements.txt index 10e9667..f547abf 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,7 @@ pyscard serial pytlv -cmd2 +cmd2==1.5 jsonpath-ng construct bidict diff --git a/setup.py b/setup.py index 2ef498f..e8e4173 100644 --- a/setup.py +++ b/setup.py @@ -12,7 +12,7 @@ "pyscard", "serial", "pytlv", - "cmd2 >= 1.3.0", + "cmd2 >= 1.3.0, < 2.0.0", "jsonpath-ng", "construct >= 2.9", "bidict", -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24648 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iecc953269d5ae9ed9f31b829743c63bdfd29fa61 Gerrit-Change-Number: 24648 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 Jun 11 21:49:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 11 Jun 2021 21:49:01 +0000 Subject: Change in pysim[master]: compatibility with cmd2 >= 2.0.0: Don't use 'use_ipython' In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/pysim/+/24647 ) Change subject: compatibility with cmd2 >= 2.0.0: Don't use 'use_ipython' ...................................................................... Abandoned there are more incompatible changes, we have to stick with cmd2 1.x -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24647 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ibc9f7a9413b1656dbc1f75e1c3577e8e8db9c03c Gerrit-Change-Number: 24647 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-CC: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 11 21:50:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 11 Jun 2021 21:50:25 +0000 Subject: Change in osmo-ggsn[master]: ggsn: Fix heap-use-after-free during Recovery without associated PDP In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24642 ) Change subject: ggsn: Fix heap-use-after-free during Recovery without associated PDP ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24642 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ib4dca2e30e723a196084b0fa0040fbceca835359 Gerrit-Change-Number: 24642 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 11 Jun 2021 21:50: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 Jun 11 21:50:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 11 Jun 2021 21:50:27 +0000 Subject: Change in osmo-ggsn[master]: ggsn: Fix heap-use-after-free during Recovery without associated PDP In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24642 ) Change subject: ggsn: Fix heap-use-after-free during Recovery without associated PDP ...................................................................... ggsn: Fix heap-use-after-free during Recovery without associated PDP Related: OS#4641 Change-Id: Ib4dca2e30e723a196084b0fa0040fbceca835359 --- M ggsn/sgsn.c 1 file changed, 10 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/ggsn/sgsn.c b/ggsn/sgsn.c index 8360439..15548ef 100644 --- a/ggsn/sgsn.c +++ b/ggsn/sgsn.c @@ -116,6 +116,7 @@ { unsigned int num = 0; char buf[INET_ADDRSTRLEN]; + unsigned int count = llist_count(&sgsn->pdp_list); inet_ntop(AF_INET, &sgsn->addr, buf, sizeof(buf)); @@ -125,10 +126,17 @@ continue; ggsn_close_one_pdp(pdp->lib); num++; + if (num == count) { + /* Note: if except is NULL, all pdp contexts are freed and sgsn + * is most probably already freed at this point. + * As a result, last access to sgsn->pdp_list before exiting + * loop would access already freed memory. Avoid it by exiting + * the loop without the last check, and make sure sgsn is not + * accessed after this loop. */ + break; + } } - /* Note: if except is NULL, all pdp contexts are freed and sgsn is - already freed at this point */ LOGP(DGGSN, LOGL_INFO, "SGSN(%s) Dropped %u PDP contexts\n", buf, num); return num; -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24642 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ib4dca2e30e723a196084b0fa0040fbceca835359 Gerrit-Change-Number: 24642 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 Sat Jun 12 06:04:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 12 Jun 2021 06:04:52 +0000 Subject: Change in pysim[master]: cmd2: Constrain version to >= 1.3.0 but < 2.0.0 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24648 ) Change subject: cmd2: Constrain version to >= 1.3.0 but < 2.0.0 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24648 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iecc953269d5ae9ed9f31b829743c63bdfd29fa61 Gerrit-Change-Number: 24648 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 12 Jun 2021 06:04:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 12 06:04:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 12 Jun 2021 06:04:56 +0000 Subject: Change in pysim[master]: cmd2: Constrain version to >= 1.3.0 but < 2.0.0 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24648 ) Change subject: cmd2: Constrain version to >= 1.3.0 but < 2.0.0 ...................................................................... cmd2: Constrain version to >= 1.3.0 but < 2.0.0 2.0.0 introduces several incompatible changes, see https://github.com/python-cmd2/cmd2/blob/master/CHANGELOG.md as well as https://github.com/python-cmd2/cmd2/issues/1120 As we want to be able to use what distributions ship, let's stay with 1.x for now. If piip is used, use 1.5 Change-Id: Iecc953269d5ae9ed9f31b829743c63bdfd29fa61 --- M README.md M contrib/jenkins.sh M requirements.txt M setup.py 4 files changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/README.md b/README.md index 3751078..a45934c 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ - pyscard - serial - pytlv - - cmd2 + - cmd2 >= 1.3.0 but < 2.0.0 - jsonpath-ng - construct - bidict diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 27f0245..91dcdd2 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -19,7 +19,7 @@ . venv/bin/activate pip install pytlv pip install pyyaml -pip install cmd2 +pip install cmd2==1.5 pip install jsonpath-ng pip install construct pip install bidict diff --git a/requirements.txt b/requirements.txt index 10e9667..f547abf 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,7 @@ pyscard serial pytlv -cmd2 +cmd2==1.5 jsonpath-ng construct bidict diff --git a/setup.py b/setup.py index 2ef498f..e8e4173 100644 --- a/setup.py +++ b/setup.py @@ -12,7 +12,7 @@ "pyscard", "serial", "pytlv", - "cmd2 >= 1.3.0", + "cmd2 >= 1.3.0, < 2.0.0", "jsonpath-ng", "construct >= 2.9", "bidict", -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24648 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iecc953269d5ae9ed9f31b829743c63bdfd29fa61 Gerrit-Change-Number: 24648 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 12 20:22:38 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 12 Jun 2021 20:22:38 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: add check for duplicates to add_ip6_elem() In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24586 ) Change subject: gprs_ns2_sns: add check for duplicates to add_ip6_elem() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24586/1/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/24586/1/src/gb/gprs_ns2_sns.c at 510 PS1, Line 510: if (memcmp(&elems->ip6[i], ip6, sizeof(*ip6))) > I'm not sure we should rely on the fact that there is either no padding in the elems struct, or that [?] Ack -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24586 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4a1528ea3427946ce465085919b2b522d3cedd07 Gerrit-Change-Number: 24586 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 12 Jun 2021 20:22:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 12 20:36:26 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 12 Jun 2021 20:36:26 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: replace ns2_sns_type with address family In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24589 ) Change subject: gprs_ns2_sns: replace ns2_sns_type with address family ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24589/1/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/24589/1/src/gb/gprs_ns2_sns.c at 130 PS1, Line 130: int family; > probably a comment referring to AF_* would be welcome to understand what's stored here. Ack -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24589 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1bcdd43af34c926d4b88491d00669422c299bef7 Gerrit-Change-Number: 24589 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 12 Jun 2021 20:36:26 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 12 20:37:01 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 12 Jun 2021 20:37:01 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement local change weight procedure In-Reply-To: References: Message-ID: lynxis lazus 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 8: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23187/8/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/23187/8/src/gb/gprs_ns2_sns.c at 2648 PS8, Line 2648: case 5: > (separate patch) I would welcome having name defines for these timer numbers at the top of the file. [?] I would use the states as timer reference. -- 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: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 12 Jun 2021 20:37:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 12 22:32:07 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 12 Jun 2021 22:32:07 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: add check for duplicates to add_ip6_elem() In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24586 to look at the new patch set (#2). Change subject: gprs_ns2_sns: add check for duplicates to add_ip6_elem() ...................................................................... gprs_ns2_sns: add check for duplicates to add_ip6_elem() The ip4 version already checks for duplicates. Related: OS#5036 Change-Id: I4a1528ea3427946ce465085919b2b522d3cedd07 --- M src/gb/gprs_ns2_sns.c 1 file changed, 8 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/86/24586/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24586 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4a1528ea3427946ce465085919b2b522d3cedd07 Gerrit-Change-Number: 24586 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 12 22:32:07 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 12 Jun 2021 22:32:07 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: replace ns2_sns_type with address family 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/libosmocore/+/24589 to look at the new patch set (#2). Change subject: gprs_ns2_sns: replace ns2_sns_type with address family ...................................................................... gprs_ns2_sns: replace ns2_sns_type with address family Reduces the code as the conversion between address family (bind) and ns2_sns_type is not needed anymore. Related: OS#5036 Change-Id: I1bcdd43af34c926d4b88491d00669422c299bef7 --- M src/gb/gprs_ns2_sns.c 1 file changed, 24 insertions(+), 28 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/89/24589/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24589 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1bcdd43af34c926d4b88491d00669422c299bef7 Gerrit-Change-Number: 24589 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 12 22:32:07 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 12 Jun 2021 22:32:07 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement local change weight procedure 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/libosmocore/+/23187 to look at the new patch set (#9). Change subject: gprs_ns2_sns: implement local change weight procedure ...................................................................... gprs_ns2_sns: implement local change weight procedure When changing the bind ip-sns weight, initiate a SNS CHANGE WEIGHT procedure to inform the other side. Related: OS#5036 Change-Id: Icec4dabb46bc198f68f91bfe09ba279fbe68d454 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_sns.c M src/gb/gprs_ns2_vty.c M tests/gb/gprs_ns2_vty.vty 5 files changed, 460 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/87/23187/9 -- 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: 9 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Sat Jun 12 22:32:07 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 12 Jun 2021 22:32:07 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement outbound SNS ADD procedures 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/libosmocore/+/24123 to look at the new patch set (#6). Change subject: gprs_ns2_sns: implement outbound SNS ADD procedures ...................................................................... gprs_ns2_sns: implement outbound SNS ADD procedures When adding a bind, the remote side needs to be informed via the SNS ADD procedure. Related: OS#5036 Change-Id: I71c33200bd1f0307ceb943ee958db5ebe3623d36 --- M src/gb/gprs_ns2_sns.c 1 file changed, 190 insertions(+), 36 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/23/24123/6 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I71c33200bd1f0307ceb943ee958db5ebe3623d36 Gerrit-Change-Number: 24123 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder 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 Sat Jun 12 22:32:07 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 12 Jun 2021 22:32:07 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement outbound SNS DEL procedures 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/libosmocore/+/24591 to look at the new patch set (#3). Change subject: gprs_ns2_sns: implement outbound SNS DEL procedures ...................................................................... gprs_ns2_sns: implement outbound SNS DEL procedures When removing a bind the remote side needs to be informed via the SNS DELETE procedure. Related: OS#5036 Change-Id: I53cd54dfd262c70c425c3f13dad3b29526daa523 --- M src/gb/gprs_ns2_sns.c 1 file changed, 76 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/91/24591/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I53cd54dfd262c70c425c3f13dad3b29526daa523 Gerrit-Change-Number: 24591 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder 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 Sat Jun 12 22:32:09 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 12 Jun 2021 22:32:09 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor SNS failures into a function References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24649 ) 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, 21 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/49/24649/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 367f77c..c2d5a96 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -171,6 +171,22 @@ return gss->nse; } +/* The SNS has failed. Etither restart the SNS (BSS) or remove the SNS (SGSN) */ +#define sns_failed(fi, reason) \ + _sns_failed(fi, reason, __FILE__, __LINE__) +static void _sns_failed(struct osmo_fsm_inst *fi, const char *reason, const char *file, int line) +{ + struct ns2_sns_state *gss = fi->priv; + + if (reason) + LOGPFSML(fi, LOGL_ERROR, "NSE %d: SNS failed: %s\n", gss->nse->nsei, reason); + if (gss->role == GPRS_SNS_ROLE_SGSN) { + gprs_ns2_free_nse(gss->nse); + } else { + _osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL, file, line); + } +} + /* helper function to compute the sum of all (data or signaling) weights */ static int ip4_weight_sum(const struct ns2_sns_elems *elems, bool data_weight) { @@ -1427,31 +1443,27 @@ switch (fi->T) { case 1: if (gss->N >= nsi->timeout[NS_TOUT_TSNS_SIZE_RETRIES]) { - LOGPFSML(fi, LOGL_ERROR, "NSE %d: Size retries failed. Selecting next IP-SNS endpoint.\n", nse->nsei); - osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); + sns_failed(fi, "Size retries failed. Selecting next IP-SNS endpoint."); } else { osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_BSS_SIZE, nsi->timeout[NS_TOUT_TSNS_PROV], 1); } break; case 2: if (gss->N >= nsi->timeout[NS_TOUT_TSNS_CONFIG_RETRIES]) { - LOGPFSML(fi, LOGL_ERROR, "NSE %d: BSS Config retries failed. Selecting next IP-SNS endpoint.\n", nse->nsei); - osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); + sns_failed(fi, "BSS Config retries failed. Selecting next IP-SNS endpoint"); } else { osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_BSS_CONFIG_BSS, nsi->timeout[NS_TOUT_TSNS_PROV], 2); } break; case 3: if (gss->N >= nsi->timeout[NS_TOUT_TSNS_CONFIG_RETRIES]) { - LOGPFSML(fi, LOGL_ERROR, "NSE %d: SGSN Config retries failed. Selecting next IP-SNS endpoint.\n", nse->nsei); - osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); + sns_failed(fi, "SGSN Config retries failed. Selecting next IP-SNS endpoint."); } else { osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_BSS_CONFIG_SGSN, nsi->timeout[NS_TOUT_TSNS_PROV], 3); } break; case 4: - LOGPFSML(fi, LOGL_ERROR, "NSE %d: Config succeeded but no NS-VC came online. Selecting next IP-SNS endpoint.\n", nse->nsei); - osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); + sns_failed(fi, "Config succeeded but no NS-VC came online. Selecting next IP-SNS endpoint."); break; } return 0; @@ -1573,8 +1585,7 @@ if (gss->reselection_running) break; - LOGPFSML(fi, LOGL_ERROR, "NSE %d: no remaining NSVC, resetting SNS FSM\n", nse->nsei); - osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); + sns_failed(fi, "no remaining NSVC, resetting SNS FSM"); break; case GPRS_SNS_EV_REQ_SELECT_ENDPOINT: /* tear down previous state -- 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: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 12 22:32:09 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 12 Jun 2021 22:32:09 +0000 Subject: Change in libosmocore[master]: gprs_ns2: sgsn: free the NSE if the SIZE PDU is not valid References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24650 ) Change subject: gprs_ns2: sgsn: free the NSE if the SIZE PDU is not valid ...................................................................... gprs_ns2: sgsn: 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/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index c2d5a96..78c0e26 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -2242,12 +2242,16 @@ !TLVP_PRES_LEN(tp, NS_IE_MAX_NR_NSVC, 2)) { cause = NS_CAUSE_MISSING_ESSENT_IE; ns2_tx_sns_size_ack(gss->sns_nsvc, &cause); + if (fi->state == GPRS_SNS_ST_UNCONFIGURED) + sns_failed(fi, "Rx Size: Missing Enssential IE"); break; } if (!TLVP_PRES_LEN(tp, NS_IE_IPv4_EP_NR, 2) && !TLVP_PRES_LEN(tp, NS_IE_IPv6_EP_NR, 2)) { cause = NS_CAUSE_MISSING_ESSENT_IE; ns2_tx_sns_size_ack(gss->sns_nsvc, &cause); + if (fi->state == GPRS_SNS_ST_UNCONFIGURED) + sns_failed(fi, "Rx Size: Missing Enssential IE"); break; } if (TLVP_PRES_LEN(tp, NS_IE_IPv4_EP_NR, 2)) @@ -2271,6 +2275,8 @@ else cause = NS_CAUSE_INVAL_NR_IPv6_EP; ns2_tx_sns_size_ack(gss->sns_nsvc, &cause); + if (fi->state == GPRS_SNS_ST_UNCONFIGURED) + sns_failed(fi, "Rx Size: Invalid Nr of IPv4/IPv6 EPs"); break; } /* ensure number of NS-VCs is sufficient for full mesh */ @@ -2281,6 +2287,8 @@ num_remote_eps, num_local_eps * num_remote_eps, gss->num_max_nsvcs); cause = NS_CAUSE_INVAL_NR_NS_VC; ns2_tx_sns_size_ack(gss->sns_nsvc, &cause); + if (fi->state == GPRS_SNS_ST_UNCONFIGURED) + sns_failed(fi, NULL); break; } /* perform state reset, if requested */ @@ -2305,6 +2313,12 @@ } ns2_sns_compute_local_ep_from_binds(fi); } + + if (fi->state == GPRS_SNS_ST_UNCONFIGURED && !(flag & 1)) { + sns_failed(fi, "Rx Size without Reset flag, but NSE is unknown"); + break; + } + /* send SIZE_ACK */ ns2_tx_sns_size_ack(gss->sns_nsvc, NULL); /* only wait for SNS-CONFIG in case of Reset flag */ -- 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: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 12 22:32:50 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 12 Jun 2021 22:32:50 +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: lynxis lazus has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/libosmocore/+/24650 ) 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/2 -- 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: 2 Gerrit-Owner: lynxis lazus Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 12 22:32:50 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 12 Jun 2021 22:32:50 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement local change weight procedure 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/libosmocore/+/23187 to look at the new patch set (#10). Change subject: gprs_ns2_sns: implement local change weight procedure ...................................................................... gprs_ns2_sns: implement local change weight procedure When changing the bind ip-sns weight, initiate a SNS CHANGE WEIGHT procedure to inform the other side. Related: OS#5036 Change-Id: Icec4dabb46bc198f68f91bfe09ba279fbe68d454 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_sns.c M src/gb/gprs_ns2_vty.c M tests/gb/gprs_ns2_vty.vty 5 files changed, 460 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/87/23187/10 -- 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-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 12 22:32:50 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 12 Jun 2021 22:32:50 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement outbound SNS ADD procedures 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/libosmocore/+/24123 to look at the new patch set (#7). Change subject: gprs_ns2_sns: implement outbound SNS ADD procedures ...................................................................... gprs_ns2_sns: implement outbound SNS ADD procedures When adding a bind, the remote side needs to be informed via the SNS ADD procedure. Related: OS#5036 Change-Id: I71c33200bd1f0307ceb943ee958db5ebe3623d36 --- M src/gb/gprs_ns2_sns.c 1 file changed, 190 insertions(+), 36 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/23/24123/7 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I71c33200bd1f0307ceb943ee958db5ebe3623d36 Gerrit-Change-Number: 24123 Gerrit-PatchSet: 7 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder 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 Sat Jun 12 22:32:50 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 12 Jun 2021 22:32:50 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement outbound SNS DEL procedures 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/libosmocore/+/24591 to look at the new patch set (#4). Change subject: gprs_ns2_sns: implement outbound SNS DEL procedures ...................................................................... gprs_ns2_sns: implement outbound SNS DEL procedures When removing a bind the remote side needs to be informed via the SNS DELETE procedure. Related: OS#5036 Change-Id: I53cd54dfd262c70c425c3f13dad3b29526daa523 --- M src/gb/gprs_ns2_sns.c 1 file changed, 76 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/91/24591/4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I53cd54dfd262c70c425c3f13dad3b29526daa523 Gerrit-Change-Number: 24591 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder 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 Sun Jun 13 01:35:13 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 13 Jun 2021 01:35:13 +0000 Subject: Change in osmo-bsc[master]: generate_ma_for_ts: check num_cell_arfcns to guarantee no out-of-boun... In-Reply-To: References: Message-ID: lynxis lazus has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/20290 ) Change subject: generate_ma_for_ts: check num_cell_arfcns to guarantee no out-of-bounds access ...................................................................... Abandoned I98211fb0684a973239f5760e1de52a24a1f4c33c has been merged. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/20290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2ee8e8b4ba5e16b955685ba42bd58dc2ea08720f Gerrit-Change-Number: 20290 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-CC: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 13 02:08:56 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 13 Jun 2021 02:08:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: test if SNS fails when all signalling NSVCs failes References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24651 ) Change subject: ns: test if SNS fails when all signalling NSVCs failes ...................................................................... ns: test if SNS fails when all signalling NSVCs failes As 3GPP TS 48.016 ? 7.4b.1.1 specifies this behaviour. 1. do success SNS configuration 2. change sig weight of the seconds inactive bind 3. add second bind to SNS 4. stop reacting to NS_ALIVE on first NSVC (only NSVC with sig weight) 5. expect SNS SIZE Related: OS#5039 Change-Id: Id06e34e7235d94a06152a0015487a507d6492a97 --- M ns/NS_Tests.ttcn 1 file changed, 36 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/51/24651/1 diff --git a/ns/NS_Tests.ttcn b/ns/NS_Tests.ttcn index 8bbb43c..9fbd5ab 100644 --- a/ns/NS_Tests.ttcn +++ b/ns/NS_Tests.ttcn @@ -626,6 +626,41 @@ f_clean_ns_codec(); } +/* Test if SNS fails when all signalling NSVCs failes + * 3GPP TS 48.016 ? 7.4b.1.1 + * 1. do success SNS configuration + * 2. change sig weight of the seconds inactive bind + * 3. add second bind to SNS + * 4. stop reacting to NS_ALIVE on first NSVC (only NSVC with sig weight) + * 5. expect SNS SIZE + */ +testcase TC_sns_bss_all_signalling_nsvcs_failed() runs on RAW_Test_CT { + g_handle_rx_alive := true; + f_init_vty(); + f_init_ns_codec(mp_nsconfig); + f_init_ns_codec(mp_nsconfig, 1); + f_incoming_sns_size(); + f_incoming_sns_config(); + f_outgoing_sns_config(); + var default d := activate(as_rx_alive_tx_ack()); + + f_vty_config2(NSVTY, {"ns", "bind udp local2"}, "ip-sns signalling-weight 0 data-weight 99"); + f_vty_config2(NSVTY, {"ns", "nse " & int2str(g_nsconfig.nsei)}, "ip-sns-bind local2"); + f_incoming_sns_add(idx_add := 1, w_sig := 0, w_user := 99); + as_rx_alive_tx_ack(oneshot := true, idx := 1); + activate(as_rx_alive_tx_ack(idx := 1)); + /* 2x NSVCs up, stop first NSVC */ + deactivate(d); + /* libosmocore will rotate the SNS binds on failure */ + NSCP[0].receive(t_NS_ALIVE); + NSCP[0].receive(t_NS_ALIVE); + NSCP[0].receive(t_NS_ALIVE); + f_incoming_sns_size(idx := 1); + + setverdict(pass); + f_clean_ns_codec(); +} + control { if (mp_dialect == NS2_DIALECT_STATIC_RESETBLOCK or mp_dialect == NS2_DIALECT_IPACCESS) { execute( TC_tx_reset() ); @@ -676,6 +711,7 @@ execute( TC_sns_bss_add() ); execute( TC_sns_bss_del() ); execute( TC_sns_bss_add_change_del() ); + execute( TC_sns_bss_all_signalling_nsvcs_failed() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24651 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id06e34e7235d94a06152a0015487a507d6492a97 Gerrit-Change-Number: 24651 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Sun Jun 13 08:50:53 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 13 Jun 2021 08:50:53 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in xUbuntu_21.04/x86_64 In-Reply-To: References: Message-ID: <60c5c7048c884_5f82ada45c62600917298@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: [ 530s] dh_shlibdeps [ 531s] dh_shlibdeps: warning: Compatibility levels before 10 are deprecated (level 9 in use) [ 531s] dh_shlibdeps: warning: Compatibility levels before 10 are deprecated (level 9 in use) [ 531s] dh_shlibdeps: warning: Compatibility levels before 10 are deprecated (level 9 in use) [ 531s] dh_shlibdeps: warning: Compatibility levels before 10 are deprecated (level 9 in use) [ 531s] dh_shlibdeps: warning: Compatibility levels before 10 are deprecated (level 9 in use) [ 531s] dh_shlibdeps: warning: Compatibility levels before 10 are deprecated (level 9 in use) [ 531s] dh_shlibdeps: warning: Compatibility levels before 10 are deprecated (level 9 in use) [ 532s] dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/osmo-bsc-meas-utils/usr/bin/meas_vis was not linked against libtinfo.so.6 (it uses none of the library's symbols) [ 532s] dh_installdeb [ 532s] dh_installdeb: warning: Compatibility levels before 10 are deprecated (level 9 in use) [ 532s] dh_gencontrol [ 532s] dpkg-gencontrol: warning: package osmo-bsc-doc: substitution variable ${misc:Package} used, but is not defined [ 532s] dh_md5sums [ 532s] dh_builddeb [ 532s] dpkg-deb: building package 'osmo-bsc-meas-utils' in '../osmo-bsc-meas-utils_1.7.0.139.b96ea.202106130026_amd64.deb'. [ 532s] dpkg-deb: building package 'osmo-bsc-bs11-utils' in '../osmo-bsc-bs11-utils_1.7.0.139.b96ea.202106130026_amd64.deb'. [ 532s] dpkg-deb: building package 'osmo-bsc-ipaccess-utils' in '../osmo-bsc-ipaccess-utils_1.7.0.139.b96ea.202106130026_amd64.deb'. [ 532s] dpkg-deb: building package 'osmo-bsc-dbg' in '../osmo-bsc-dbg_1.7.0.139.b96ea.202106130026_amd64.deb'. [ 532s] dpkg-deb: building package 'abisip-find' in '../abisip-find_1.7.0.139.b96ea.202106130026_amd64.deb'. [ 532s] dpkg-deb: building package 'osmo-bsc' in '../osmo-bsc_1.7.0.139.b96ea.202106130026_amd64.deb'. [ 532s] dpkg-deb: building package 'osmo-bsc-doc' in '../osmo-bsc-doc_1.7.0.139.b96ea.202106130026_all.deb'. [29338s] qemu-kvm: terminating on signal 15 from pid 24457 () Job seems to be stuck here, killed. (after 28800 seconds of inactivity) [29338s] ### VM INTERACTION END ### [29338s] No buildstatus set, either the base system is broken (kernel/initrd/udev/glibc/bash/perl) [29338s] 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 Sun Jun 13 15:55:03 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 13 Jun 2021 15:55:03 +0000 Subject: Change in osmo-bsc[master]: hodec2: implement upgrade TCH/H -> TCH/F (without AFS bias) In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24607 ) Change subject: hodec2: implement upgrade TCH/H -> TCH/F (without AFS bias) ...................................................................... hodec2: implement upgrade TCH/H -> TCH/F (without AFS bias) Pass flag into find_alternative_lchan() indicating that a TCH/H channel has low ratings (rxqual or rxlev, doesn't matter). Heed this flag in the last round, the requirement A check, and allow candidates that have equal rxlev, if they result in an upgrade from TCH/H to TCH/F. This allows intra-cell upgrades to TCH/F. An important point is that this patch allows upgrade to TCH/F *without* the AFS bias setting. See also I315f24123ae016887ab91666870ce252e096f90f. Related: SYS#5198 SYS#5365 Change-Id: Id40d1cf8b58410c7d4eb87407fe8b8106e352438 --- M src/osmo-bsc/handover_decision_2.c M tests/handover/test_amr_tch_h_to_f_rxlev.ho_vty M tests/handover/test_amr_tch_h_to_f_rxlev_congested.ho_vty M tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty M tests/handover/test_amr_tch_h_to_f_rxqual_congested.ho_vty 5 files changed, 34 insertions(+), 54 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index a866293..9d4f1e9 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -1251,7 +1251,7 @@ * If minimum RXLEV, minimum RXQUAL or maximum TA are exceeded, the caller should pass * include_weaker_rxlev=true so that handover is performed despite congestion. */ -static int find_alternative_lchan(struct gsm_lchan *lchan, bool include_weaker_rxlev) +static int find_alternative_lchan(struct gsm_lchan *lchan, bool include_weaker_rxlev, bool request_upgrade_to_tch_f) { struct gsm_bts *bts = lchan->ts->trx->bts; int ahs = (gsm48_chan_mode_to_non_vamos(lchan->current_ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR @@ -1372,7 +1372,11 @@ && clist[i].target.bts) afs_bias = ho_get_hodec2_afs_bias_rxlev(clist[i].target.bts->ho); better += afs_bias; - if (better > best_better_db) { + if (better > best_better_db + || (better >= best_better_db /* Upgrade from TCH/H to TCH/F: allow for equal rxlev */ + && request_upgrade_to_tch_f + && is_upgrade_to_tchf(&clist[i], REQUIREMENT_A_MASK))) { + best_cand = &clist[i]; best_better_db = better; best_applied_afs_bias = afs_bias? true : false; @@ -1494,7 +1498,7 @@ global_ho_reason = HO_REASON_BAD_QUALITY; LOGPHOLCHAN(lchan, LOGL_INFO, "Trying handover/assignment due to bad quality\n"); } - find_alternative_lchan(lchan, true); + find_alternative_lchan(lchan, true, true); return; } @@ -1503,7 +1507,7 @@ global_ho_reason = HO_REASON_LOW_RXLEVEL; LOGPHOLCHAN(lchan, LOGL_NOTICE, "RX level is TOO LOW: %d < %d\n", rxlev2dbm(av_rxlev), ho_get_hodec2_min_rxlev(bts->ho)); - find_alternative_lchan(lchan, true); + find_alternative_lchan(lchan, true, true); return; } @@ -1521,7 +1525,7 @@ gsm_bts_cell_id(&bts_id, bts); penalty_timers_add(lchan->conn, &lchan->conn->hodec2.penalty_timers, &bts_id, ho_get_hodec2_penalty_max_dist(bts->ho)); - find_alternative_lchan(lchan, true); + find_alternative_lchan(lchan, true, false); return; } @@ -1532,7 +1536,7 @@ /* try handover to a better cell */ if (av_rxlev >= 0 && (mr->nr % pwr_interval) == 0) { global_ho_reason = HO_REASON_BETTER_CELL; - find_alternative_lchan(lchan, false); + find_alternative_lchan(lchan, false, false); } } diff --git a/tests/handover/test_amr_tch_h_to_f_rxlev.ho_vty b/tests/handover/test_amr_tch_h_to_f_rxlev.ho_vty index 34fb5e6..a22ad6d 100644 --- a/tests/handover/test_amr_tch_h_to_f_rxlev.ho_vty +++ b/tests/handover/test_amr_tch_h_to_f_rxlev.ho_vty @@ -12,7 +12,5 @@ expect-no-chan meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 # average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev -#expect-as from lchan 0 0 4 0 to lchan 0 0 1 0 -#expect-ts-use trx 0 0 states * TCH/F - - - - - * -# FAIL: osmo-bsc does not move to TCH/F from bad rxlev -expect-no-chan +expect-as from lchan 0 0 4 0 to lchan 0 0 1 0 +expect-ts-use trx 0 0 states * TCH/F - - - - - * diff --git a/tests/handover/test_amr_tch_h_to_f_rxlev_congested.ho_vty b/tests/handover/test_amr_tch_h_to_f_rxlev_congested.ho_vty index a463387..776b093 100644 --- a/tests/handover/test_amr_tch_h_to_f_rxlev_congested.ho_vty +++ b/tests/handover/test_amr_tch_h_to_f_rxlev_congested.ho_vty @@ -14,10 +14,8 @@ expect-no-chan meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 # average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev -#expect-as from lchan 0 0 4 0 to lchan 0 0 1 0 -#expect-ts-use trx 0 0 states * TCH/F - - TCH/-H TCH/HH * * -# FAIL: osmo-bsc does not move to TCH/F from bad rxlev -expect-no-chan +expect-as from lchan 0 0 4 0 to lchan 0 0 1 0 +expect-ts-use trx 0 0 states * TCH/F - - TCH/-H TCH/HH * * # This situation actually balances congestion @@ -27,10 +25,8 @@ expect-no-chan meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 # average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev -#expect-as from lchan 0 0 4 0 to lchan 0 0 2 0 -#expect-ts-use trx 0 0 states * TCH/F TCH/F - TCH/-H TCH/HH * * -# FAIL: osmo-bsc does not move to TCH/F from bad rxlev -expect-no-chan +expect-as from lchan 0 0 4 0 to lchan 0 0 2 0 +expect-ts-use trx 0 0 states * TCH/F TCH/F - TCH/-H TCH/HH * * # This situation moves congestion from TCH/H to TCH/F (TCH/H was 100% congested, then makes TCH/F 100% congested) # The congestion requirements would normally forbid this, but since this is an "RxQual emergency", we should reassign. @@ -40,10 +36,8 @@ expect-no-chan meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 # average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev -#expect-as from lchan 0 0 4 0 to lchan 0 0 3 0 -#expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F TCH/-H TCH/HH * * -# FAIL: osmo-bsc does not move to TCH/F from bad rxlev -expect-no-chan +expect-as from lchan 0 0 4 0 to lchan 0 0 3 0 +expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F TCH/-H TCH/HH * * # This situation worsens congestion (TCH/H was 50% congested, then makes TCH/F 100% congested) # The congestion requirements would normally forbid this, but since this is an "RxQual emergency", we should reassign. @@ -53,10 +47,8 @@ expect-no-chan meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 # average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev -#expect-as from lchan 0 0 4 0 to lchan 0 0 3 0 -#expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F - TCH/HH * * -# FAIL: osmo-bsc does not move to TCH/F from bad rxlev -expect-no-chan +expect-as from lchan 0 0 4 0 to lchan 0 0 3 0 +expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F - TCH/HH * * # This situation creates congestion (TCH/H was not congested, then makes TCH/F 50% congested) @@ -67,7 +59,5 @@ expect-no-chan meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 # average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev -#expect-as from lchan 0 0 4 0 to lchan 0 0 2 0 -#expect-ts-use trx 0 0 states * TCH/F TCH/F - - - * * -# FAIL: osmo-bsc does not move to TCH/F from bad rxlev -expect-no-chan +expect-as from lchan 0 0 4 0 to lchan 0 0 2 0 +expect-ts-use trx 0 0 states * TCH/F TCH/F - - - * * 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 414a5fd..10db404 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 @@ -12,7 +12,5 @@ expect-no-chan meas-rep lchan 0 0 4 0 rxlev 30 rxqual 6 ta 0 # 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 - - - - - * -# FAIL: osmo-bsc does not move to TCH/F from bad rxqual -expect-no-chan +expect-as from lchan 0 0 4 0 to lchan 0 0 1 0 +expect-ts-use trx 0 0 states * TCH/F - - - - - * diff --git a/tests/handover/test_amr_tch_h_to_f_rxqual_congested.ho_vty b/tests/handover/test_amr_tch_h_to_f_rxqual_congested.ho_vty index 30c2c67..79ff0a7 100644 --- a/tests/handover/test_amr_tch_h_to_f_rxqual_congested.ho_vty +++ b/tests/handover/test_amr_tch_h_to_f_rxqual_congested.ho_vty @@ -17,10 +17,8 @@ expect-no-chan meas-rep lchan 0 0 4 0 rxlev 50 rxqual 6 ta 0 # 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 - - TCH/-H TCH/HH * * -# FAIL: osmo-bsc does not move to TCH/F from bad rxqual -expect-no-chan +expect-as from lchan 0 0 4 0 to lchan 0 0 1 0 +expect-ts-use trx 0 0 states * TCH/F - - TCH/-H TCH/HH * * # This situation actually balances congestion @@ -30,10 +28,8 @@ expect-no-chan meas-rep lchan 0 0 4 0 rxlev 50 rxqual 6 ta 0 # 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 2 0 -#expect-ts-use trx 0 0 states * TCH/F TCH/F - TCH/-H TCH/HH * * -# FAIL: osmo-bsc does not move to TCH/F from bad rxqual -expect-no-chan +expect-as from lchan 0 0 4 0 to lchan 0 0 2 0 +expect-ts-use trx 0 0 states * TCH/F TCH/F - TCH/-H TCH/HH * * # This situation moves congestion from TCH/H to TCH/F (TCH/H was 100% congested, then makes TCH/F 100% congested) @@ -44,10 +40,8 @@ expect-no-chan meas-rep lchan 0 0 4 0 rxlev 50 rxqual 6 ta 0 # 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 3 0 -#expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F TCH/-H TCH/HH * * -# FAIL: osmo-bsc does not move to TCH/F from bad rxqual -expect-no-chan +expect-as from lchan 0 0 4 0 to lchan 0 0 3 0 +expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F TCH/-H TCH/HH * * # This situation worsens congestion (TCH/H was 50% congested, then makes TCH/F 100% congested) @@ -58,10 +52,8 @@ expect-no-chan meas-rep lchan 0 0 4 0 rxlev 50 rxqual 6 ta 0 # 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 3 0 -#expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F - TCH/HH * * -# FAIL: osmo-bsc does not move to TCH/F from bad rxqual -expect-no-chan +expect-as from lchan 0 0 4 0 to lchan 0 0 3 0 +expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F - TCH/HH * * # This situation creates congestion (TCH/H was not congested, then makes TCH/F 50% congested) @@ -72,7 +64,5 @@ expect-no-chan meas-rep lchan 0 0 4 0 rxlev 50 rxqual 6 ta 0 # 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 2 0 -#expect-ts-use trx 0 0 states * TCH/F TCH/F - - - * * -# FAIL: osmo-bsc does not move to TCH/F from bad rxqual -expect-no-chan +expect-as from lchan 0 0 4 0 to lchan 0 0 2 0 +expect-ts-use trx 0 0 states * TCH/F TCH/F - - - * * -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24607 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id40d1cf8b58410c7d4eb87407fe8b8106e352438 Gerrit-Change-Number: 24607 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 13 16:21:28 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 13 Jun 2021 16:21:28 +0000 Subject: Change in osmo-bsc[master]: rsl_data_request() check lchan pointer before access References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24652 ) Change subject: rsl_data_request() check lchan pointer before access ...................................................................... rsl_data_request() check lchan pointer before access fixup for commit 43aeeaf05ad814ccab0e93227b1248a20302c8ec 'RSL chan_nr: replace OSMO_ASSERT with error handling' I71ed6437c403a3f9336e17a94b4948fca295d853 Related: CID#236319 Related: SYS#5315 OS#4940 Change-Id: I873c1a27f9449a56c525984ea50bfcf6daa4b5f8 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 7 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/52/24652/1 diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index ac8006d..7525e31 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -939,11 +939,7 @@ /* Chapter 8.3.1 */ int rsl_data_request(struct msgb *msg, uint8_t link_id) { - int chan_nr = gsm_lchan2chan_nr(msg->lchan, true); - if (chan_nr < 0) { - msgb_free(msg); - return chan_nr; - } + int chan_nr; if (msg->lchan == NULL) { LOGP(DRSL, LOGL_ERROR, "cannot send DATA REQUEST to unknown lchan\n"); @@ -951,6 +947,12 @@ return -EINVAL; } + chan_nr = gsm_lchan2chan_nr(msg->lchan, true); + if (chan_nr < 0) { + msgb_free(msg); + return chan_nr; + } + rsl_rll_push_l3(msg, RSL_MT_DATA_REQ, chan_nr, link_id, 1); msg->dst = rsl_chan_link(msg->lchan); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24652 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I873c1a27f9449a56c525984ea50bfcf6daa4b5f8 Gerrit-Change-Number: 24652 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 Jun 13 16:21:29 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 13 Jun 2021 16:21:29 +0000 Subject: Change in osmo-bsc[master]: rsl_lchan_lookup: drop redundant condition References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24653 ) Change subject: rsl_lchan_lookup: drop redundant condition ...................................................................... rsl_lchan_lookup: drop redundant condition 'vamos' is only set to true for osmobts types, hence no need to check that condition again. fixup for commit d37dcb9f6854a4d15dd2ba098fcbaa212251684f 'RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans' I957eff0d2c33ec795eda75a4bff21965b0179f73 Related: CID#236318 Related: SYS#5315 OS#4940 Change-Id: I4d9afc2996d95fdc15ee1a04e31d781b595023e3 --- M src/osmo-bsc/bts_trx.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/53/24653/1 diff --git a/src/osmo-bsc/bts_trx.c b/src/osmo-bsc/bts_trx.c index f183742..e42a894 100644 --- a/src/osmo-bsc/bts_trx.c +++ b/src/osmo-bsc/bts_trx.c @@ -225,7 +225,7 @@ if (rc && ok) *rc = 0; - if (vamos && (trx->bts->model->type == GSM_BTS_TYPE_OSMOBTS)) + if (vamos) lch_idx += ts->max_primary_lchans; return &ts->lchan[lch_idx]; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24653 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4d9afc2996d95fdc15ee1a04e31d781b595023e3 Gerrit-Change-Number: 24653 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 Jun 13 18:09:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 13 Jun 2021 18:09:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: test if SNS fails when all signalling NSVCs failes In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24651 ) Change subject: ns: test if SNS fails when all signalling NSVCs failes ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24651 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id06e34e7235d94a06152a0015487a507d6492a97 Gerrit-Change-Number: 24651 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 13 Jun 2021 18: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 Sun Jun 13 18:09:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 13 Jun 2021 18:09:25 +0000 Subject: Change in osmo-bsc[master]: rsl_data_request() check lchan pointer before access In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24652 ) Change subject: rsl_data_request() check lchan pointer before access ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24652 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I873c1a27f9449a56c525984ea50bfcf6daa4b5f8 Gerrit-Change-Number: 24652 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 13 Jun 2021 18:09:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 13 18:09:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 13 Jun 2021 18:09:40 +0000 Subject: Change in osmo-bsc[master]: rsl_lchan_lookup: drop redundant condition In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24653 ) Change subject: rsl_lchan_lookup: drop redundant condition ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24653 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4d9afc2996d95fdc15ee1a04e31d781b595023e3 Gerrit-Change-Number: 24653 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 13 Jun 2021 18:09: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 Jun 13 18:10:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 13 Jun 2021 18:10:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 ) Change subject: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iafd9310e04066958914201da0cbdcd563bd5c976 Gerrit-Change-Number: 24401 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 13 Jun 2021 18:10:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 13 18:12:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 13 Jun 2021 18:12:36 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: fix error handling in mgcp message generation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24182 ) Change subject: mgcp_client: fix error handling in mgcp message generation ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb788343e0bec9c0eaf33e6e4727d4d36c100017 Gerrit-Change-Number: 24182 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 13 Jun 2021 18:12:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 13 18:12:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 13 Jun 2021 18:12:50 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: fix error handling in mgcp message generation In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24182 ) Change subject: mgcp_client: fix error handling in mgcp message generation ...................................................................... mgcp_client: fix error handling in mgcp message generation The functions add_lco and add_sdp assert when the codec string can not be generated. This is the case when an unexpected codec is addressed in the input parameter mgcp_msg for mgcp_msg_gen(). Even though the API user is expected only to use the codec identifiers in mgcp_client.h the check should not be done with an assert. Instead mgcp_msg_gen() should just return NULL imediately. Also all generation functions should not use magic numbers as return codes. Instead constants from errno.h should be used. It is also problematic that the return codes from msgb_printf are added up. Depending. It makes more sense to use an OR operator since msgb_printf only returns 0 or -EINVAL, so the end result will be -EINVAL if one or more msgb_printf fail and not just a random negative value. Change-Id: Ibb788343e0bec9c0eaf33e6e4727d4d36c100017 Related: OS#5119 --- M src/libosmo-mgcp-client/mgcp_client.c M tests/mgcp_client/mgcp_client_test.err 2 files changed, 67 insertions(+), 48 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index 55ce7b2..8e6780e 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -1105,30 +1105,40 @@ const char *codec; unsigned int pt; - rc += msgb_printf(msg, "L:"); + rc |= msgb_printf(msg, "L:"); if (mgcp_msg->ptime) - rc += msgb_printf(msg, " p:%u,", mgcp_msg->ptime); + rc |= msgb_printf(msg, " p:%u,", mgcp_msg->ptime); if (mgcp_msg->codecs_len) { - rc += msgb_printf(msg, " a:"); + rc |= msgb_printf(msg, " a:"); for (i = 0; i < mgcp_msg->codecs_len; i++) { pt = mgcp_msg->codecs[i]; codec = get_value_string_or_null(osmo_mgcpc_codec_names, pt); /* Note: Use codec descriptors from enum mgcp_codecs * in mgcp_client only! */ - OSMO_ASSERT(codec); - rc += msgb_printf(msg, "%s", extract_codec_name(codec)); + if (!codec) { + msgb_free(msg); + return -EINVAL; + } + + rc |= msgb_printf(msg, "%s", extract_codec_name(codec)); if (i < mgcp_msg->codecs_len - 1) - rc += msgb_printf(msg, ";"); + rc |= msgb_printf(msg, ";"); } - rc += msgb_printf(msg, ","); + rc |= msgb_printf(msg, ","); } - rc += msgb_printf(msg, " nt:IN\r\n"); + rc |= msgb_printf(msg, " nt:IN\r\n"); - return rc; + if (rc != 0) { + LOGP(DLMGCP, LOGL_ERROR, + "message buffer to small, can not generate MGCP message (LCO)\n"); + msgb_free(msg); + return -ENOBUFS; + } + return 0; } /* Helper function for mgcp_msg_gen(): Add SDP information to MGCP message */ @@ -1142,64 +1152,64 @@ unsigned int pt; /* Add separator to mark the beginning of the SDP block */ - rc += msgb_printf(msg, "\r\n"); + rc |= msgb_printf(msg, "\r\n"); /* Add SDP protocol version */ - rc += msgb_printf(msg, "v=0\r\n"); + rc |= msgb_printf(msg, "v=0\r\n"); /* Determine local IP-Address */ if (osmo_sock_local_ip(local_ip, mgcp->actual.remote_addr) < 0) { LOGP(DLMGCP, LOGL_ERROR, "Could not determine local IP-Address!\n"); msgb_free(msg); - return -2; + return -EINVAL; } local_ip_family = osmo_ip_str_type(local_ip); if (local_ip_family == AF_UNSPEC) { msgb_free(msg); - return -2; + return -EINVAL; } audio_ip_family = osmo_ip_str_type(mgcp_msg->audio_ip); if (audio_ip_family == AF_UNSPEC) { msgb_free(msg); - return -2; + return -EINVAL; } /* Add owner/creator (SDP) */ - rc += msgb_printf(msg, "o=- %x 23 IN IP%c %s\r\n", mgcp_msg->call_id, + rc |= msgb_printf(msg, "o=- %x 23 IN IP%c %s\r\n", mgcp_msg->call_id, local_ip_family == AF_INET6 ? '6' : '4', local_ip); /* Add session name (none) */ - rc += msgb_printf(msg, "s=-\r\n"); + rc |= msgb_printf(msg, "s=-\r\n"); /* Add RTP address and port */ if (mgcp_msg->audio_port == 0) { LOGP(DLMGCP, LOGL_ERROR, "Invalid port number, can not generate MGCP message\n"); msgb_free(msg); - return -2; + return -EINVAL; } if (strlen(mgcp_msg->audio_ip) <= 0) { LOGP(DLMGCP, LOGL_ERROR, "Empty ip address, can not generate MGCP message\n"); msgb_free(msg); - return -2; + return -EINVAL; } - rc += msgb_printf(msg, "c=IN IP%c %s\r\n", + rc |= msgb_printf(msg, "c=IN IP%c %s\r\n", audio_ip_family == AF_INET6 ? '6' : '4', mgcp_msg->audio_ip); /* Add time description, active time (SDP) */ - rc += msgb_printf(msg, "t=0 0\r\n"); + rc |= msgb_printf(msg, "t=0 0\r\n"); - rc += msgb_printf(msg, "m=audio %u RTP/AVP", mgcp_msg->audio_port); + rc |= msgb_printf(msg, "m=audio %u RTP/AVP", mgcp_msg->audio_port); for (i = 0; i < mgcp_msg->codecs_len; i++) { pt = map_codec_to_pt(mgcp_msg->ptmap, mgcp_msg->ptmap_len, mgcp_msg->codecs[i]); - rc += msgb_printf(msg, " %u", pt); + rc |= msgb_printf(msg, " %u", pt); } - rc += msgb_printf(msg, "\r\n"); + rc |= msgb_printf(msg, "\r\n"); /* Add optional codec parameters (fmtp) */ if (mgcp_msg->param_present) { @@ -1209,9 +1219,9 @@ continue; pt = map_codec_to_pt(mgcp_msg->ptmap, mgcp_msg->ptmap_len, mgcp_msg->codecs[i]); if (mgcp_msg->param.amr_octet_aligned_present && mgcp_msg->param.amr_octet_aligned) - rc += msgb_printf(msg, "a=fmtp:%u octet-align=1\r\n", pt); + rc |= msgb_printf(msg, "a=fmtp:%u octet-align=1\r\n", pt); else if (mgcp_msg->param.amr_octet_aligned_present && !mgcp_msg->param.amr_octet_aligned) - rc += msgb_printf(msg, "a=fmtp:%u octet-align=0\r\n", pt); + rc |= msgb_printf(msg, "a=fmtp:%u octet-align=0\r\n", pt); } } @@ -1226,16 +1236,26 @@ /* Note: Use codec descriptors from enum mgcp_codecs * in mgcp_client only! */ - OSMO_ASSERT(codec); + if (!codec) { + msgb_free(msg); + return -EINVAL; + } - rc += msgb_printf(msg, "a=rtpmap:%u %s\r\n", pt, codec); + rc |= msgb_printf(msg, "a=rtpmap:%u %s\r\n", pt, codec); } } if (mgcp_msg->ptime) - rc += msgb_printf(msg, "a=ptime:%u\r\n", mgcp_msg->ptime); + rc |= msgb_printf(msg, "a=ptime:%u\r\n", mgcp_msg->ptime); - return rc; + if (rc != 0) { + LOGP(DLMGCP, LOGL_ERROR, + "message buffer to small, can not generate MGCP message (SDP)\n"); + msgb_free(msg); + return -ENOBUFS; + } + + return 0; } /*! Generate an MGCP message @@ -1248,7 +1268,6 @@ uint32_t mandatory_mask; struct msgb *msg = msgb_alloc_headroom(4096, 128, "MGCP tx"); int rc = 0; - int rc_sdp; bool use_sdp = false; char buf[32]; @@ -1259,23 +1278,23 @@ switch (mgcp_msg->verb) { case MGCP_VERB_CRCX: mandatory_mask = MGCP_CRCX_MANDATORY; - rc += msgb_printf(msg, "CRCX %u", trans_id); + rc |= msgb_printf(msg, "CRCX %u", trans_id); break; case MGCP_VERB_MDCX: mandatory_mask = MGCP_MDCX_MANDATORY; - rc += msgb_printf(msg, "MDCX %u", trans_id); + rc |= msgb_printf(msg, "MDCX %u", trans_id); break; case MGCP_VERB_DLCX: mandatory_mask = MGCP_DLCX_MANDATORY; - rc += msgb_printf(msg, "DLCX %u", trans_id); + rc |= msgb_printf(msg, "DLCX %u", trans_id); break; case MGCP_VERB_AUEP: mandatory_mask = MGCP_AUEP_MANDATORY; - rc += msgb_printf(msg, "AUEP %u", trans_id); + rc |= msgb_printf(msg, "AUEP %u", trans_id); break; case MGCP_VERB_RSIP: mandatory_mask = MGCP_RSIP_MANDATORY; - rc += msgb_printf(msg, "RSIP %u", trans_id); + rc |= msgb_printf(msg, "RSIP %u", trans_id); break; default: LOGP(DLMGCP, LOGL_ERROR, @@ -1309,15 +1328,15 @@ return NULL; } - rc += msgb_printf(msg, " %s", mgcp_msg->endpoint); + rc |= msgb_printf(msg, " %s", mgcp_msg->endpoint); } /* Add protocol version */ - rc += msgb_printf(msg, " MGCP 1.0\r\n"); + rc |= msgb_printf(msg, " MGCP 1.0\r\n"); /* Add call id */ if (mgcp_msg->presence & MGCP_MSG_PRESENCE_CALL_ID) - rc += msgb_printf(msg, "C: %x\r\n", mgcp_msg->call_id); + rc |= msgb_printf(msg, "C: %x\r\n", mgcp_msg->call_id); /* Add connection id */ if (mgcp_msg->presence & MGCP_MSG_PRESENCE_CONN_ID) { @@ -1327,7 +1346,7 @@ msgb_free(msg); return NULL; } - rc += msgb_printf(msg, "I: %s\r\n", mgcp_msg->conn_id); + rc |= msgb_printf(msg, "I: %s\r\n", mgcp_msg->conn_id); } /* Using SDP makes sense when a valid IP/Port combination is specifiec, @@ -1339,19 +1358,21 @@ /* Add local connection options (LCO) */ if (!use_sdp && (mgcp_msg->verb == MGCP_VERB_CRCX - || mgcp_msg->verb == MGCP_VERB_MDCX)) - rc += add_lco(msg, mgcp_msg); + || mgcp_msg->verb == MGCP_VERB_MDCX)) { + if (add_lco(msg, mgcp_msg) < 0) + return NULL; + } /* Add mode */ if (mgcp_msg->presence & MGCP_MSG_PRESENCE_CONN_MODE) - rc += + rc |= msgb_printf(msg, "M: %s\r\n", mgcp_client_cmode_name(mgcp_msg->conn_mode)); /* Add X-Osmo-IGN */ if ((mgcp_msg->presence & MGCP_MSG_PRESENCE_X_OSMO_IGN) && (mgcp_msg->x_osmo_ign != 0)) - rc += + rc |= msgb_printf(msg, MGCP_X_OSMO_IGN_HEADER "%s\r\n", mgcp_msg->x_osmo_ign & MGCP_X_OSMO_IGN_CALLID ? " C": ""); @@ -1365,7 +1386,7 @@ return NULL; } snprintf(buf, sizeof(buf), " %d", mgcp_msg->x_osmo_osmux_cid); - rc += + rc |= msgb_printf(msg, MGCP_X_OSMO_OSMUX_HEADER "%s\r\n", mgcp_msg->x_osmo_osmux_cid == -1 ? " *": buf); } @@ -1375,10 +1396,8 @@ if (use_sdp && (mgcp_msg->verb == MGCP_VERB_CRCX || mgcp_msg->verb == MGCP_VERB_MDCX)) { - rc_sdp = add_sdp(msg, mgcp_msg, mgcp); - if (rc_sdp == -2) + if (add_sdp(msg, mgcp_msg, mgcp) < 0) return NULL; - rc += rc_sdp; } if (rc != 0) { diff --git a/tests/mgcp_client/mgcp_client_test.err b/tests/mgcp_client/mgcp_client_test.err index ac13f03..80119cb 100644 --- a/tests/mgcp_client/mgcp_client_test.err +++ b/tests/mgcp_client/mgcp_client_test.err @@ -1,5 +1,5 @@ DLMGCP MGCP client: using endpoint domain '@mgw' -DLMGCP message buffer to small, can not generate MGCP message +DLMGCP message buffer to small, can not generate MGCP message (SDP) test_mgcp_client_cancel(): DLMGCP MGCP client: using endpoint domain '@mgw' -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb788343e0bec9c0eaf33e6e4727d4d36c100017 Gerrit-Change-Number: 24182 Gerrit-PatchSet: 4 Gerrit-Owner: dexter 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 Jun 13 18:16:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 13 Jun 2021 18:16:58 +0000 Subject: Change in osmo-bts[master]: scheduler: reorder enum trx_chan_type, add TRX_CHAN_IS_DEDIC() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24645 ) Change subject: scheduler: reorder enum trx_chan_type, add TRX_CHAN_IS_DEDIC() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24645 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7148f4d0bd1abbfe309bc5477e32a56d884533ea Gerrit-Change-Number: 24645 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 13 Jun 2021 18:16:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 13 18:17:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 13 Jun 2021 18:17:28 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: report interference levels to the upper layers In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24613 ) Change subject: osmo-bts-trx: report interference levels to the upper layers ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4686448e42a40df56c1d27a14fd0a4d43fd144a5 Gerrit-Change-Number: 24613 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Sun, 13 Jun 2021 18:17: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 Jun 13 18:18:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 13 Jun 2021 18:18:42 +0000 Subject: Change in osmo-bsc[master]: assignment: special mixed desc/alloc conditions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24646 ) Change subject: assignment: special mixed desc/alloc conditions ...................................................................... Patch Set 1: Code-Review+1 -- 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: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Sun, 13 Jun 2021 18: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 Sun Jun 13 18:19:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 13 Jun 2021 18:19:43 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7_vty: allow config-cs7-rt also in client role In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24644 ) Change subject: osmo_ss7_vty: allow config-cs7-rt also in client role ...................................................................... Patch Set 1: Code-Review-1 indeed, let's see if we can avoid this somehow, e.g. by having the routing do "the right thing" in ASP role. -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24644 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I72950cb58edb201f21c35dd7e032ce0fdc1530f7 Gerrit-Change-Number: 24644 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Sun, 13 Jun 2021 18:19: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 Jun 13 18:26:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 13 Jun 2021 18:26:32 +0000 Subject: Change in libosmocore[master]: msgb_alloc_headroom: Change size args to be uint16_t In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24641 ) Change subject: msgb_alloc_headroom: Change size args to be uint16_t ...................................................................... msgb_alloc_headroom: Change size args to be uint16_t Underlaying APIs (msgb_alloc) use a uint16_t as a type, which means until now passing a value > 2^16 would succeed providing a msgb with less space than requested. Since those are static inline, there's no symbols used by apps, so we should be safe enough changing the type to be uint16_t, since change would only be applied at re-compile time. Change-Id: I83c8222484e4856c68134a1a9d8cf96eb91af1b8 --- M include/osmocom/core/msgb.h 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved dexter: Looks good to me, but someone else must approve diff --git a/include/osmocom/core/msgb.h b/include/osmocom/core/msgb.h index cc76e3a..df796c9 100644 --- a/include/osmocom/core/msgb.h +++ b/include/osmocom/core/msgb.h @@ -524,7 +524,7 @@ * followed by \ref msgb_reserve in order to create a new \ref msgb with * user-specified amount of headroom. */ -static inline struct msgb *msgb_alloc_headroom_c(const void *ctx, int size, int headroom, +static inline struct msgb *msgb_alloc_headroom_c(const void *ctx, uint16_t size, uint16_t headroom, const char *name) { osmo_static_assert(size >= headroom, headroom_bigger); @@ -546,7 +546,7 @@ * followed by \ref msgb_reserve in order to create a new \ref msgb with * user-specified amount of headroom. */ -static inline struct msgb *msgb_alloc_headroom(int size, int headroom, +static inline struct msgb *msgb_alloc_headroom(uint16_t size, uint16_t headroom, const char *name) { osmo_static_assert(size >= headroom, headroom_bigger); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I83c8222484e4856c68134a1a9d8cf96eb91af1b8 Gerrit-Change-Number: 24641 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 13 18:30:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 13 Jun 2021 18:30:30 +0000 Subject: Change in osmo-bsc[master]: hodec2: don't apply AFS bias to same-cell lchans In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24608 ) Change subject: hodec2: don't apply AFS bias to same-cell lchans ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I315f24123ae016887ab91666870ce252e096f90f Gerrit-Change-Number: 24608 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 13 Jun 2021 18:30:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 13 18:31:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 13 Jun 2021 18:31:15 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: add check for duplicates to add_ip6_elem() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24586 ) Change subject: gprs_ns2_sns: add check for duplicates to add_ip6_elem() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24586 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4a1528ea3427946ce465085919b2b522d3cedd07 Gerrit-Change-Number: 24586 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 13 Jun 2021 18:31: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 Jun 13 18:31:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 13 Jun 2021 18:31:25 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: add check for duplicates to add_ip6_elem() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24586 ) Change subject: gprs_ns2_sns: add check for duplicates to add_ip6_elem() ...................................................................... gprs_ns2_sns: add check for duplicates to add_ip6_elem() The ip4 version already checks for duplicates. Related: OS#5036 Change-Id: I4a1528ea3427946ce465085919b2b522d3cedd07 --- M src/gb/gprs_ns2_sns.c 1 file changed, 8 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index c50b2b9..1204266 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -452,10 +452,8 @@ static int add_ip4_elem(struct ns2_sns_state *gss, struct ns2_sns_elems *elems, const struct gprs_ns_ie_ip4_elem *ip4) { - unsigned int i; - /* check for duplicates */ - for (i = 0; i < elems->num_ip4; i++) { + for (unsigned int i = 0; i < elems->num_ip4; i++) { if (memcmp(&elems->ip4[i], ip4, sizeof(*ip4))) continue; return -1; @@ -507,6 +505,13 @@ static int add_ip6_elem(struct ns2_sns_state *gss, struct ns2_sns_elems *elems, const struct gprs_ns_ie_ip6_elem *ip6) { + /* check for duplicates */ + for (unsigned int i = 0; i < elems->num_ip6; i++) { + if (memcmp(&elems->ip6[i].ip_addr, &ip6->ip_addr, sizeof(ip6->ip_addr)) || + elems->ip6[i].udp_port != ip6->udp_port) + continue; + return -1; + } elems->ip6 = talloc_realloc(gss, elems->ip6, struct gprs_ns_ie_ip6_elem, elems->num_ip6+1); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24586 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4a1528ea3427946ce465085919b2b522d3cedd07 Gerrit-Change-Number: 24586 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus 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 Sun Jun 13 18:31:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 13 Jun 2021 18:31:25 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor ip4_weight_sum/ip6_weight_sum In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24587 ) Change subject: gprs_ns2_sns: refactor ip4_weight_sum/ip6_weight_sum ...................................................................... gprs_ns2_sns: refactor ip4_weight_sum/ip6_weight_sum Use the new introduced struct ns2_sns_elems instead of the elems seperate. Related: OS#5036 Change-Id: I0956ab6085554210569188f52cae121e32fca19b --- M src/gb/gprs_ns2_sns.c 1 file changed, 14 insertions(+), 16 deletions(-) Approvals: laforge: Looks good to me, approved dexter: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 1204266..2256758 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -176,45 +176,43 @@ } /* helper function to compute the sum of all (data or signaling) weights */ -static int ip4_weight_sum(const struct gprs_ns_ie_ip4_elem *ip4, unsigned int num, - bool data_weight) +static int ip4_weight_sum(const struct ns2_sns_elems *elems, bool data_weight) { unsigned int i; int weight_sum = 0; - for (i = 0; i < num; i++) { + for (i = 0; i < elems->num_ip4; i++) { if (data_weight) - weight_sum += ip4[i].data_weight; + weight_sum += elems->ip4[i].data_weight; else - weight_sum += ip4[i].sig_weight; + weight_sum += elems->ip4[i].sig_weight; } return weight_sum; } -#define ip4_weight_sum_data(x,y) ip4_weight_sum(x, y, true) -#define ip4_weight_sum_sig(x,y) ip4_weight_sum(x, y, false) +#define ip4_weight_sum_data(elems) ip4_weight_sum(elems, true) +#define ip4_weight_sum_sig(elems) ip4_weight_sum(elems, false) /* helper function to compute the sum of all (data or signaling) weights */ -static int ip6_weight_sum(const struct gprs_ns_ie_ip6_elem *ip6, unsigned int num, - bool data_weight) +static int ip6_weight_sum(const struct ns2_sns_elems *elems, bool data_weight) { unsigned int i; int weight_sum = 0; - for (i = 0; i < num; i++) { + for (i = 0; i < elems->num_ip6; i++) { if (data_weight) - weight_sum += ip6[i].data_weight; + weight_sum += elems->ip6[i].data_weight; else - weight_sum += ip6[i].sig_weight; + weight_sum += elems->ip6[i].sig_weight; } return weight_sum; } -#define ip6_weight_sum_data(x,y) ip6_weight_sum(x, y, true) -#define ip6_weight_sum_sig(x,y) ip6_weight_sum(x, y, false) +#define ip6_weight_sum_data(elems) ip6_weight_sum(elems, true) +#define ip6_weight_sum_sig(elems) ip6_weight_sum(elems, false) static int nss_weight_sum(const struct ns2_sns_state *nss, bool data_weight) { - return ip4_weight_sum(nss->remote.ip4, nss->remote.num_ip4, data_weight) + - ip6_weight_sum(nss->remote.ip6, nss->remote.num_ip6, data_weight); + return ip4_weight_sum(&nss->remote, data_weight) + + ip6_weight_sum(&nss->remote, data_weight); } #define nss_weight_sum_data(nss) nss_weight_sum(nss, true) #define nss_weight_sum_sig(nss) nss_weight_sum(nss, false) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24587 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0956ab6085554210569188f52cae121e32fca19b Gerrit-Change-Number: 24587 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus 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 Sun Jun 13 18:31:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 13 Jun 2021 18:31:25 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor nss_weight_sum_data -> ip46_weight_sum_data In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24588 ) Change subject: gprs_ns2_sns: refactor nss_weight_sum_data -> ip46_weight_sum_data ...................................................................... gprs_ns2_sns: refactor nss_weight_sum_data -> ip46_weight_sum_data Allow to use ip46_weight_sum_data for local endpoints as well. Related: OS#5036 Change-Id: I75d88f3da89ad13e34a3fd5ae72bd967d81f4abc --- M src/gb/gprs_ns2_sns.c 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/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 2256758..d7ff47a 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -209,13 +209,13 @@ #define ip6_weight_sum_data(elems) ip6_weight_sum(elems, true) #define ip6_weight_sum_sig(elems) ip6_weight_sum(elems, false) -static int nss_weight_sum(const struct ns2_sns_state *nss, bool data_weight) +static int ip46_weight_sum(const struct ns2_sns_elems *elems, bool data_weight) { - return ip4_weight_sum(&nss->remote, data_weight) + - ip6_weight_sum(&nss->remote, data_weight); + return ip4_weight_sum(elems, data_weight) + + ip6_weight_sum(elems, data_weight); } -#define nss_weight_sum_data(nss) nss_weight_sum(nss, true) -#define nss_weight_sum_sig(nss) nss_weight_sum(nss, false) +#define ip46_weight_sum_data(elems) ip46_weight_sum(elems, true) +#define ip46_weight_sum_sig(elems) ip46_weight_sum(elems, false) static struct gprs_ns2_vc *nsvc_by_ip4_elem(struct gprs_ns2_nse *nse, const struct gprs_ns_ie_ip4_elem *ip4) @@ -1068,7 +1068,7 @@ } if (event == GPRS_SNS_EV_RX_CONFIG_END) { /* check if sum of data / sig weights == 0 */ - if (nss_weight_sum_data(gss) == 0 || nss_weight_sum_sig(gss) == 0) { + if (ip46_weight_sum_data(&gss->remote) == 0 || ip46_weight_sum_sig(&gss->remote) == 0) { cause = NS_CAUSE_INVAL_WEIGH; ns2_tx_sns_config_ack(gss->sns_nsvc, &cause); osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); @@ -2095,7 +2095,7 @@ /* only change state if last CONFIG was received */ if (event == GPRS_SNS_EV_RX_CONFIG_END) { /* ensure sum of data weight / sig weights is > 0 */ - if (nss_weight_sum_data(gss) == 0 || nss_weight_sum_sig(gss) == 0) { + if (ip46_weight_sum_data(&gss->remote) == 0 || ip46_weight_sum_sig(&gss->remote) == 0) { cause = NS_CAUSE_INVAL_WEIGH; ns2_tx_sns_config_ack(gss->sns_nsvc, &cause); osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I75d88f3da89ad13e34a3fd5ae72bd967d81f4abc Gerrit-Change-Number: 24588 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus 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 Jun 13 18:31:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 13 Jun 2021 18:31:44 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: replace ns2_sns_type with address family In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24589 ) Change subject: gprs_ns2_sns: replace ns2_sns_type with address family ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24589 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1bcdd43af34c926d4b88491d00669422c299bef7 Gerrit-Change-Number: 24589 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 13 Jun 2021 18:31:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 13 18:31:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 13 Jun 2021 18:31:51 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: replace ns2_sns_type with address family In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24589 ) Change subject: gprs_ns2_sns: replace ns2_sns_type with address family ...................................................................... gprs_ns2_sns: replace ns2_sns_type with address family Reduces the code as the conversion between address family (bind) and ns2_sns_type is not needed anymore. Related: OS#5036 Change-Id: I1bcdd43af34c926d4b88491d00669422c299bef7 --- M src/gb/gprs_ns2_sns.c 1 file changed, 24 insertions(+), 28 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index d7ff47a..3f09054 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -56,11 +56,6 @@ #define S(x) (1 << (x)) -enum ns2_sns_type { - IPv4, - IPv6, -}; - enum ns2_sns_role { GPRS_SNS_ROLE_BSS, GPRS_SNS_ROLE_SGSN, @@ -132,7 +127,8 @@ struct ns2_sns_state { struct gprs_ns2_nse *nse; - enum ns2_sns_type ip; + /* containing the address family AF_* */ + int family; enum ns2_sns_role role; /* local role: BSS or SGSN */ /* holds the list of initial SNS endpoints */ @@ -666,14 +662,14 @@ /* Upon receiving an SNS-ADD PDU, if the consequent number of IPv4 endpoints * exceeds the number of IPv4 endpoints supported by the NSE, the NSE shall send * an SNS-ACK PDU with a cause code set to "Invalid number of IP4 Endpoints". */ - switch (gss->ip) { - case IPv4: + switch (gss->family) { + case AF_INET: if (gss->remote.num_ip4 >= gss->num_max_ip4_remote) return -NS_CAUSE_INVAL_NR_NS_VC; /* TODO: log message duplicate */ rc = add_ip4_elem(gss, &gss->remote, ip4); break; - case IPv6: + case AF_INET6: if (gss->remote.num_ip6 >= gss->num_max_ip6_remote) return -NS_CAUSE_INVAL_NR_NS_VC; /* TODO: log message duplicate */ @@ -690,8 +686,8 @@ /* Upon receiving an SNS-ADD PDU containing an already configured IP endpoint the * NSE shall send an SNS-ACK PDU with the cause code "Protocol error - * unspecified" */ - switch (gss->ip) { - case IPv4: + switch (gss->family) { + case AF_INET: nsvc = nsvc_by_ip4_elem(nse, ip4); if (nsvc) { /* the nsvc should be already in sync with the ip4 / ip6 elements */ @@ -701,7 +697,7 @@ /* TODO: failure case */ ns2_nsvc_create_ip4(fi, nse, ip4); break; - case IPv6: + case AF_INET6: nsvc = nsvc_by_ip6_elem(nse, ip6); if (nsvc) { /* the nsvc should be already in sync with the ip4 / ip6 elements */ @@ -752,7 +748,7 @@ } } -static int ns2_sns_count_num_local_ep(struct osmo_fsm_inst *fi, enum ns2_sns_type stype) +static int ns2_sns_count_num_local_ep(struct osmo_fsm_inst *fi, int ip_proto) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct ns2_sns_bind *sbind; @@ -763,12 +759,12 @@ if (!sa) continue; - switch (stype) { - case IPv4: + switch (ip_proto) { + case AF_INET: if (sa->u.sas.ss_family == AF_INET) count++; break; - case IPv6: + case AF_INET6: if (sa->u.sas.ss_family == AF_INET6) count++; break; @@ -806,8 +802,8 @@ return; } - switch (gss->ip) { - case IPv4: + switch (gss->family) { + case AF_INET: ip4_elems = talloc_realloc(fi, gss->local.ip4, struct gprs_ns_ie_ip4_elem, count); if (!ip4_elems) return; @@ -841,7 +837,7 @@ gss->local.num_ip4 = count; gss->num_max_nsvcs = OSMO_MAX(gss->num_max_ip4_remote * gss->local.num_ip4, 8); break; - case IPv6: + case AF_INET6: /* IPv6 */ ip6_elems = talloc_realloc(fi, gss->local.ip6, struct gprs_ns_ie_ip6_elem, count); if (!ip6_elems) @@ -960,13 +956,13 @@ gss->N = 0; /* Transmit SNS-CONFIG */ - switch (gss->ip) { - case IPv4: + switch (gss->family) { + case AF_INET: ns2_tx_sns_config(gss->sns_nsvc, true, gss->local.ip4, gss->local.num_ip4, NULL, 0); break; - case IPv6: + case AF_INET6: ns2_tx_sns_config(gss->sns_nsvc, true, NULL, 0, gss->local.ip6, gss->local.num_ip6); @@ -1109,7 +1105,7 @@ */ trans_id = *TLVP_VAL(tp, NS_IE_TRANS_ID); - if (gss->ip == IPv4) { + if (gss->family == AF_INET) { if (!TLVP_PRESENT(tp, NS_IE_IPv4_LIST)) { cause = NS_CAUSE_INVAL_NR_IPv4_EP; ns2_tx_sns_ack(gss->sns_nsvc, trans_id, &cause, NULL, 0, NULL, 0); @@ -1173,7 +1169,7 @@ * TODO: check if IPv4_LIST/IPv6_LIST and IP_ADDR is present at the same time */ trans_id = *TLVP_VAL(tp, NS_IE_TRANS_ID); - if (gss->ip == IPv4) { + if (gss->family == AF_INET) { if (TLVP_PRESENT(tp, NS_IE_IPv4_LIST)) { v4_list = (const struct gprs_ns_ie_ip4_elem *) TLVP_VAL(tp, NS_IE_IPv4_LIST); num_v4 = TLVP_LEN(tp, NS_IE_IPv4_LIST) / sizeof(*v4_list); @@ -2247,13 +2243,13 @@ if (TLVP_PRES_LEN(tp, NS_IE_IPv6_EP_NR, 2)) gss->num_max_ip6_remote = tlvp_val16be(tp, NS_IE_IPv6_EP_NR); /* decide if we go for IPv4 or IPv6 */ - if (gss->num_max_ip6_remote && ns2_sns_count_num_local_ep(fi, IPv6)) { - gss->ip = IPv6; + if (gss->num_max_ip6_remote && ns2_sns_count_num_local_ep(fi, AF_INET6)) { + gss->family = AF_INET6; ns2_sns_compute_local_ep_from_binds(fi); num_local_eps = gss->local.num_ip6; num_remote_eps = gss->num_max_ip6_remote; - } else if (gss->num_max_ip4_remote && ns2_sns_count_num_local_ep(fi, IPv4)) { - gss->ip = IPv4; + } else if (gss->num_max_ip4_remote && ns2_sns_count_num_local_ep(fi, AF_INET)) { + gss->family = AF_INET; ns2_sns_compute_local_ep_from_binds(fi); num_local_eps = gss->local.num_ip4; num_remote_eps = gss->num_max_ip4_remote; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24589 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1bcdd43af34c926d4b88491d00669422c299bef7 Gerrit-Change-Number: 24589 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus 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 Jun 13 18:31:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 13 Jun 2021 18:31:51 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: bss: set gss->family In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24590 ) Change subject: gprs_ns2_sns: bss: set gss->family ...................................................................... gprs_ns2_sns: bss: set gss->family gss->family (and gss->ip) was never set. So IPv6 should have never worked. Fixes: e769f5226be6 ("gprs_ns2_sns: rework IP-SNS initial remote") Related: OS#5036 Change-Id: I4e39dc5c7f766a7040645ceb62afdf6a9cfad00f --- M src/gb/gprs_ns2_sns.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved dexter: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 3f09054..367f77c 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -1600,6 +1600,7 @@ gss->initial = llist_entry(gss->initial->list.next, struct sns_endpoint, list); } + gss->family = gss->initial->saddr.u.sa.sa_family; gss->reselection_running = false; osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_BSS_SIZE, nse->nsi->timeout[NS_TOUT_TSNS_PROV], 1); break; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24590 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4e39dc5c7f766a7040645ceb62afdf6a9cfad00f Gerrit-Change-Number: 24590 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus 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 Sun Jun 13 18:32:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 13 Jun 2021 18:32:09 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor SNS failures into a function In-Reply-To: References: Message-ID: laforge 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 1: Code-Review+1 -- 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: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 13 Jun 2021 18:32: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 Jun 13 18:32:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 13 Jun 2021 18:32:34 +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 2: 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: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 13 Jun 2021 18: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 Sun Jun 13 19:48:10 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 13 Jun 2021 19:48:10 +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: lynxis lazus 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 2: Code-Review-1 I think we should wait before merging it as we don't have any SNS SGSN tests and there are problems with freeing NSE/NSVCs. -- 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: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Sun, 13 Jun 2021 19:48:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 13 19:52:30 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 13 Jun 2021 19:52:30 +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: lynxis lazus 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 2: -Code-Review Sorry, the delay should be on the previous commit not this one. -- 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: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Sun, 13 Jun 2021 19:52:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 13 19:52:40 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 13 Jun 2021 19:52:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor SNS failures into a function In-Reply-To: References: Message-ID: lynxis lazus 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 1: Code-Review-1 I think we should wait before merging it as we don't have any SNS SGSN tests and there are problems with freeing NSE/NSVCs. -- 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: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Sun, 13 Jun 2021 19: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 Sun Jun 13 20:16:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 13 Jun 2021 20:16:13 +0000 Subject: Change in pysim[master]: ts_31_102: Start using pySim.tlv to implement more DF.5GS files In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24455 to look at the new patch set (#8). Change subject: ts_31_102: Start using pySim.tlv to implement more DF.5GS files ...................................................................... ts_31_102: Start using pySim.tlv to implement more DF.5GS files Change-Id: I8ef2d8c24530d13929282e1a1d2138d319b894c6 --- M pySim/ts_31_102.py 1 file changed, 81 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/55/24455/8 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8ef2d8c24530d13929282e1a1d2138d319b894c6 Gerrit-Change-Number: 24455 Gerrit-PatchSet: 8 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 13 20:30:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 13 Jun 2021 20:30:29 +0000 Subject: Change in pysim[master]: ts_31_102: Start using pySim.tlv to implement more DF.5GS files In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24455 ) Change subject: ts_31_102: Start using pySim.tlv to implement more DF.5GS files ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8ef2d8c24530d13929282e1a1d2138d319b894c6 Gerrit-Change-Number: 24455 Gerrit-PatchSet: 8 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 13 Jun 2021 20:30: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 Jun 13 20:30:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 13 Jun 2021 20:30:50 +0000 Subject: Change in pysim[master]: ts_31_102: Fully support USIM EF.AD In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24570 ) Change subject: ts_31_102: Fully support USIM EF.AD ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24570 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iaf195cb63d5d12fc906a7e7cd85e3fd44589a41e Gerrit-Change-Number: 24570 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 13 Jun 2021 20:30:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 13 20:31:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 13 Jun 2021 20:31:13 +0000 Subject: Change in pysim[master]: implement more files with TLV + construct References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24654 ) Change subject: implement more files with TLV + construct ...................................................................... implement more files with TLV + construct This adds encoding/decoding for more files, from 51.011 (SIM) to 31.102 (USIM) and 31.103 (ISIM) Change-Id: I6083d2bb0a307f660f09af384803f84e4098a5ed --- M pySim/ts_31_102.py M pySim/ts_31_103.py M pySim/ts_51_011.py 3 files changed, 220 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/54/24654/1 diff --git a/pySim/ts_31_102.py b/pySim/ts_31_102.py index 24d0f52..f3628ad 100644 --- a/pySim/ts_31_102.py +++ b/pySim/ts_31_102.py @@ -511,7 +511,14 @@ super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) self._construct = Struct('ksi'/Int8ub, 'ck'/HexAdapter(Bytes(16)), 'ik'/HexAdapter(Bytes(16))) -# TS 31.103 Section 4.2.7 +# TS 31.102 Section 4.2.6 +class EF_HPPLMN(TransparentEF): + def __init__(self, fid='6f31', sfid=0x12, name='EF.HPPLMN', size={1,1}, + desc='Higher Priority PLMN search period'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) + self._construct = Int8ub + +# TS 31.102 Section 4.2.8 class EF_UST(TransparentEF): def __init__(self, fid='6f38', sfid=0x04, name='EF.UST', desc='USIM Service Table', size={1,17}): super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, size=size) @@ -677,6 +684,33 @@ self._construct = Struct('key_domain_id'/Bytes(3), 'num_msk_id'/Int8ub, 'msk_ids'/msk_ts_constr[this.num_msk_id]) +# TS 31.102 Section 4.2.81 +class EF_MUK(LinFixedEF): + class MUK_Idr(BER_TLV_IE, tag=0x80): + _construct = HexAdapter(GreedyBytes) + class MUK_Idi(BER_TLV_IE, tag=0x82): + _construct = HexAdapter(GreedyBytes) + class MUK_ID(BER_TLV_IE, tag=0xA0, nested=[MUK_Idr, MUK_Idi]): + pass + class TimeStampCounter(BER_TLV_IE, tag=0x81): + pass + class EF_MUK_Collection(TLV_IE_Collection, nested=[MUK_ID, TimeStampCounter]): + pass + def __init__(self, fid='6fd8', sfid=None, name='EF.MUK', desc='MBMS User Key'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, rec_len={None,None}) + self._tlv = EF_MUK.EF_MUK_Collection + +# TS 31.102 Section 4.2.83 +class EF_GBANL(LinFixedEF): + class NAF_ID(BER_TLV_IE, tag=0x80): + _construct = HexAdapter(GreedyBytes) + class B_TID(BER_TLV_IE, tag=0x81): + _construct = HexAdapter(GreedyBytes) + class EF_GBANL_Collection(BER_TLV_IE, nested=[NAF_ID, B_TID]): + pass + def __init__(self, fid='6fda', sfid=None, name='EF.GBANL', desc='GBA NAF List'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, rec_len={None,None}) + self._tlv = EF_GBANL.EF_GBANL_Collection # TS 31.102 Section 4.2.85 class EF_EHPLMNPI(TransparentEF): @@ -685,6 +719,42 @@ super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) self._construct = Struct('presentation_ind'/ Enum(Byte, no_preference=0, display_highest_prio_only=1, display_all=2)) + +# TS 31.102 Section 4.2.87 +class EF_NAFKCA(LinFixedEF): + class NAF_KeyCentreAddress(BER_TLV_IE, tag=0x80): + _construct = HexAdapter(GreedyBytes) + def __init__(self, fid='6fdd', sfid=None, name='EF.NAFKCA', rec_len={None, None}, + desc='NAF Key Centre Address'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, rec_len=rec_len) + self._tlv = EF_NAFKCA.NAF_KeyCentreAddress + +# TS 31.102 Section 4.2.90 +class EF_NCP_IP(LinFixedEF): + class DataDestAddrRange(TLV_IE, tag=0x83): + _construct = Struct('type_of_address'/Enum(Byte, IPv4=0x21, IPv6=0x56), + 'prefix_length'/Int8ub, + 'prefix'/HexAdapter(GreedyBytes)) + class AccessPointName(TLV_IE, tag=0x80): + # coded as per TS 23.003 + _construct = HexAdapter(GreedyBytes) + class Login(TLV_IE, tag=0x81): + # as per SMS DCS TS 23.038 + _construct = GsmStringAdapter(GreedyBytes) + class Password(TLV_IE, tag=0x82): + # as per SMS DCS TS 23.038 + _construct = GsmStringAdapter(GreedyBytes) + class BearerDescription(TLV_IE, tag=0x84): + # Bearer descriptionTLV DO as per TS 31.111 + pass + class EF_NCP_IP_Collection(TLV_IE_Collection, + nested=[AccessPointName, Login, Password, BearerDescription]): + pass + def __init__(self, fid='6fe2', sfid=None, name='EF.NCP-IP', rec_len={None, None}, + desc='Network Connectivity Parameters for USIM IP connections'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, rec_len=rec_len) + self._tlv = EF_NCP_IP.EF_NCP_IP_Collection + # TS 31.102 Section 4.2.91 class EF_EPSLOCI(TransparentEF): def __init__(self, fid='6fe3', sfid=0x1e, name='EF.EPSLOCI', size={18,18}, @@ -694,6 +764,27 @@ self._construct = Struct('guti'/Bytes(12), 'last_visited_registered_tai'/Bytes(5), 'eps_update_status'/upd_status_constr) +# TS 31.102 Section 4.2.92 +class EF_EPSNSC(LinFixedEF): + class KSI_ASME(BER_TLV_IE, tag= 0x80): + _construct = Int8ub + class K_ASME(BER_TLV_IE, tag= 0x81): + _construct = HexAdapter(GreedyBytes) + class UplinkNASCount(BER_TLV_IE, tag=0x82): + _construct = Int32ub + class DownlinkNASCount(BER_TLV_IE, tag=0x83): + _construct = Int32ub + class IDofNASAlgorithms(BER_TLV_IE, tag=0x84): + _construct = HexAdapter(GreedyBytes) + class EPS_NAS_Security_Context(BER_TLV_IE, tag=0xa0, + nested=[KSI_ASME, K_ASME, UplinkNASCount, DownlinkNASCount, + IDofNASAlgorithms]): + pass + def __init__(self,fid='6fe4', sfid=0x18, name='EF.EPSNSC', rec_len={54,128}, + desc='EPS NAS Security Context'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, rec_len=rec_len) + self._tlv = EF_EPSNSC.EPS_NAS_Security_Context + # TS 31.102 Section 4.2.96 class EF_PWS(TransparentEF): def __init__(self, fid='6fec', sfid=None, name='EF.PWS', desc='Public Warning System', size={1,1}): @@ -709,6 +800,18 @@ self._construct = Struct('status'/PaddedString(2, 'ascii'), 'link_to_ef_ipd'/Int8ub, 'rfu'/Byte) +# TS 31.102 Section 4.2.103 +class EF_ePDGId(TransparentEF): + class ePDGId(BER_TLV_IE, tag=0x80, nested=[]): + _construct = Struct('type_of_ePDG_address'/Enum(Byte, FQDN=0, IPv4=1, IPv6=2), + 'ePDG_address'/Switch(this.type_of_address, + { 'FQDN': GreedyString("utf8"), + 'IPv4': HexAdapter(GreedyBytes), + 'IPv6': HexAdapter(GreedyBytes) })) + def __init__(self, fid='6ff3', sfid=None, name='EF.eDPDGId', desc='Home ePDG Identifier'): + super().__init__(fid, sfid=sfid, name=name, desc=desc) + self._tlv = EF_ePDGId.ePDGId + # TS 31.102 Section 4.2.106 class EF_FromPreferred(TransparentEF): def __init__(self, fid='6ff7', sfid=None, name='EF.FromPreferred', size={1,1}, @@ -738,12 +841,39 @@ mission_critical_service=2) self._construct = Struct('uac_access_id_config'/cfg_constr) -# TS 31.102 Section 4.4.11.10 +# TS 31.102 Section 4.4.11.9 class EF_OPL5G(LinFixedEF): def __init__(self, fid='6f08', sfid=0x08, name='EF.OPL5G', desc='5GS Operator PLMN List'): super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, rec_len={10,None}) self._construct = Struct('tai'/Bytes(9), 'pnn_record_id'/Int8ub) +# TS 31.102 Section 4.4.11.10 +class EF_SUPI_NAI(TransparentEF): + class NetworkSpecificIdentifier(TLV_IE, tag=0x80): + # RFC 7542 encoded as UTF-8 string + _construct = GreedyString("utf8") + class GlobalLineIdentifier(TLV_IE, tag=0x81): + # TS 23.003 clause 28.16.2 + pass + class GlobalCableIdentifier(TLV_IE, tag=0x82): + # TS 23.003 clause 28.15.2 + pass + class NAI_TLV_Collection(TLV_IE_Collection, + nested=[NetworkSpecificIdentifier, GlobalLineIdentifier, GlobalCableIdentifier]): + pass + def __init__(self, fid='4f09', sfid=0x09, name='EF.SUPI_NAI', + desc='SUPI as Network Access Identifier'): + super().__init__(fid, sfid=sfid, name=name, desc=desc) + self._tlv = EF_SUPI_NAI.NAI_TLV_Collection + +class EF_TN3GPPSNN(TransparentEF): + class ServingNetworkName(BER_TLV_IE, tag=0x80): + _construct = GreedyString("utf8") + def __init__(self, fid='4f0c', sfid=0x0c, name='EF.TN3GPPSNN', + desc='Trusted non-3GPP Serving network names list'): + super().__init__(fid, sfid=sfid, name=name, desc=desc) + self._tlv = EF_TN3GPPSNN.ServingNetworkName + # TS 31.102 Section 4.4.5 class DF_WLAN(CardDF): def __init__(self, fid='5f40', name='DF.WLAN', desc='Files for WLAN purpose'): @@ -812,10 +942,10 @@ EF_UAC_AIC(), EF_SUCI_Calc_Info(), EF_OPL5G(), - TransparentEF('4F09', 0x09, 'EF.SUPI_NAI', 'SUPI as Network Access Identifier'), + EF_SUPI_NAI(), TransparentEF('4F0A', 0x0a, 'EF.Routing_Indicator', 'Routing Indicator', size={4,4}), TransparentEF('4F0B', 0x0b, 'EF.URSP', 'UE Route Selector Policies per PLMN'), - TransparentEF('4F0C', 0x0c, 'EF.TN3GPPSNN', 'Trusted non-3GPP Serving network names list'), + EF_TN3GPPSNN(), ] self.add_files(files) @@ -833,7 +963,7 @@ EF_Keys('6f09', 0x09, 'EF.KeysPS', desc='Ciphering and Integrity Keys for PS domain'), EF_xPLMNwAcT('6f60', 0x0a, 'EF.PLMNwAcT', 'User controlled PLMN Selector with Access Technology'), - TransparentEF('6f31', 0x12, 'EF.HPPLMN', 'Higher Priority PLMN search period'), + EF_HPPLMN(), EF_ACMmax(), EF_UST(), CyclicEF('6f39', None, 'EF.ACM', 'Accumulated call meter', rec_len={3,3}), @@ -903,16 +1033,16 @@ EF_VGCSCA('6fd5', None, 'EF.VBCSCA', 'Voice Broadcast Service Ciphering Algorithm'), EF_GBABP(), EF_MSK(), - LinFixedEF('6fd8', None, 'EF.MUK', 'MBMS User Key'), - LinFixedEF('6fda', None, 'EF.GBANL', 'GBA NFA List'), + EF_MUK(), + EF_GBANL(), EF_PLMNsel('6fd9', 0x1d, 'EF.EHPLMN', 'Equivalent HPLMN', size={12,None}), EF_EHPLMNPI(), - LinFixedEF('6fdd', None, 'EF.NAFKCA', 'NAF Key Centre Address'), + EF_NAFKCA(), TransparentEF('6fde', None, 'EF.SPNI', 'Service Provider Name Icon'), LinFixedEF('6fdf', None, 'EF.PNNI', 'PLMN Network Name Icon'), - LinFixedEF('6fe2', None, 'EF.NCP-IP', 'Network Connectivity Parameters for USIM IP connections'), + EF_NCP_IP(), EF_EPSLOCI('6fe3', 0x1e, 'EF.EPSLOCI', 'EPS location information'), - LinFixedEF('6fe4', 0x18, 'EF.EPSNSC', 'EPS NAS Security Context', rec_len={54,128}), + EF_EPSNSC(), TransparentEF('6fe6', None, 'EF.UFC', 'USAT Facility Control', size={1,16}), TransparentEF('6fe8', None, 'EF.NASCONFIG', 'Non Access Stratum Configuration'), # UICC IARI (only in cards that have no ISIM) @@ -921,7 +1051,8 @@ LinFixedEF('6fee', None, 'EF.BDNURI', 'Barred Dialling Numbers URI'), LinFixedEF('6fef', None, 'EF.SDNURI', 'Service Dialling Numbers URI'), EF_IPS(), - # FIXME: from EF_ePDGid onwards + EF_ePDGId(), + # FIXME: from EF_ePDGSelection onwards EF_FromPreferred(), # FIXME: DF_SoLSA # FIXME: DF_PHONEBOOK diff --git a/pySim/ts_31_103.py b/pySim/ts_31_103.py index 5ca8279..e1f552f 100644 --- a/pySim/ts_31_103.py +++ b/pySim/ts_31_103.py @@ -24,6 +24,7 @@ from pySim.filesystem import * from pySim.utils import * +from pySim.tlv import * from pySim.ts_51_011 import EF_AD, EF_SMS, EF_SMSS, EF_SMSR, EF_SMSP from pySim.ts_31_102 import ADF_USIM, EF_FromPreferred import pySim.ts_102_221 @@ -78,18 +79,27 @@ # TS 31.103 Section 4.2.2 class EF_IMPI(TransparentEF): + class nai(BER_TLV_IE, tag=0x80): + _construct = GreedyString("utf8") def __init__(self, fid='6f02', sfid=0x02, name='EF.IMPI', desc='IMS private user identity'): super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + self._tlv = EF_IMPI.nai # TS 31.103 Section 4.2.3 class EF_DOMAIN(TransparentEF): + class domain(BER_TLV_IE, tag=0x80): + _construct = GreedyString("utf8") def __init__(self, fid='6f05', sfid=0x05, name='EF.DOMAIN', desc='Home Network Domain Name'): super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + self._tlv = EF_DOMAIN.domain # TS 31.103 Section 4.2.4 class EF_IMPU(LinFixedEF): + class impu(BER_TLV_IE, tag=0x80): + _construct = GreedyString("utf8") def __init__(self, fid='6f04', sfid=0x04, name='EF.IMPU', desc='IMS public user identity'): super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + self._tlv = EF_IMPU.impu # TS 31.103 Section 4.2.7 class EF_IST(TransparentEF): @@ -140,8 +150,11 @@ # TS 31.103 Section 4.2.16 class EF_UICCIARI(LinFixedEF): + class iari(BER_TLV_IE, tag=0x80): + _construct = GreedyString("utf8") def __init__(self, fid='6fe7', sfid=None, name='EF.UICCIARI', desc='UICC IARI'): super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + self._tlv = EF_UICCIARI.iari # TS 31.103 Section 4.2.18 class EF_IMSConfigData(BerTlvEF): @@ -155,8 +168,11 @@ # TS 31.103 Section 4.2.20 class EF_WebRTCURI(TransparentEF): + class uri(BER_TLV_IE, tag=0x80): + _construct = GreedyString("utf8") def __init__(self, fid='6ffa', sfid=None, name='EF.WebRTCURI', desc='WebRTC URI'): super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + self._tlv = EF_WebRTCURI.uri # TS 31.103 Section 4.2.21 class EF_MuDMiDConfigData(BerTlvEF): diff --git a/pySim/ts_51_011.py b/pySim/ts_51_011.py index 6ab07f0..65be06a 100644 --- a/pySim/ts_51_011.py +++ b/pySim/ts_51_011.py @@ -1,5 +1,9 @@ # -*- coding: utf-8 -*- +# without this, pylint will fail when inner classes are used +# within the 'nested' kwarg of our TlvMeta metaclass on python 3.7 :( +# pylint: disable=undefined-variable + """ Various constants from ETSI TS 151.011 + Representation of the GSM SIM/USIM/ISIM filesystem hierarchy. @@ -320,6 +324,7 @@ } from pySim.utils import * +from pySim.tlv import * from struct import pack, unpack from construct import * from construct import Optional as COptional @@ -533,6 +538,7 @@ def __init__(self, fid='6f45', sfid=None, name='EF.CBMI', size={2,None}, rec_len=2, desc='Cell Broadcast message identifier selection'): super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size, rec_len=rec_len) + self._construct = GreedyRange(Int16ub) # TS 51.011 Section 10.3.15 class EF_ACC(TransparentEF): @@ -617,18 +623,21 @@ def __init__(self, fid='6f48', sfid=None, name='EF.CBMID', size={2,None}, rec_len=2, desc='Cell Broadcast Message Identifier for Data Download'): super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size, rec_len=rec_len) + self._construct = GreedyRange(Int16ub) # TS 51.011 Section 10.3.27 class EF_ECC(TransRecEF): def __init__(self, fid='6fb7', sfid=None, name='EF.ECC', size={3,15}, rec_len=3, desc='Emergency Call Codes'): super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size, rec_len=rec_len) + self._construct = GreedyRange(BcdAdapter(Bytes(3))) # TS 51.011 Section 10.3.28 class EF_CBMIR(TransRecEF): def __init__(self, fid='6f50', sfid=None, name='EF.CBMIR', size={4,None}, rec_len=4, desc='Cell Broadcast message identifier range selection'): super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size, rec_len=rec_len) + self._construct = GreedyRange(Struct('lower'/Int16ub, 'upper'/Int16ub)) # TS 51.011 Section 10.3.29 class EF_DCK(TransparentEF): @@ -740,6 +749,20 @@ super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) self._construct = FlagsEnum(Byte, in_limited_service_mode=1, after_successful_plmn_selection=2) +# TS 51.011 Section 4.2.58 +class EF_PNN(LinFixedEF): + class FullNameForNetwork(BER_TLV_IE, tag=0x43): + # TS 24.008 10.5.3.5a + pass + class ShortNameForNetwork(BER_TLV_IE, tag=0x45): + # TS 24.008 10.5.3.5a + pass + class NetworkNameCollection(TLV_IE_Collection, nested=[FullNameForNetwork, ShortNameForNetwork]): + pass + def __init__(self, fid='6fc5', sfid=None, name='EF.PNN', desc='PLMN Network Name'): + super().__init__(fid, sfid=sfid, name=name, desc=desc) + self._tlv = EF_PNN.NetworkNameCollection + # TS 51.011 Section 10.3.42 class EF_OPL(LinFixedEF): def __init__(self, fid='6fc6', sfid=None, name='EF.OPL', rec_len={8,8}, desc='Operator PLMN List'): @@ -763,6 +786,18 @@ 'num_waiting_fax'/Int8ub, 'num_waiting_email'/Int8ub, 'num_waiting_other'/Int8ub, 'num_waiting_videomail'/COptional(Int8ub)) +# TS 51.011 Section 10.3.66 +class EF_SPDI(TransparentEF): + class ServiceProviderPLMN(BER_TLV_IE, tag=0x80): + # flexible numbers of 3-byte PLMN records + _construct = GreedyRange(BcdAdapter(Bytes(3))) + class SPDI(BER_TLV_IE, tag=0xA3, nested=[ServiceProviderPLMN]): + pass + def __init__(self, fid='6fcd', sfid=None, name='EF.SPDI', + desc='Service Provider Display Information'): + super().__init__(fid, sfid=sfid, name=name, desc=desc) + self._tlv = EF_SPDI.SPDI + # TS 51.011 Section 10.3.51 class EF_MMSN(LinFixedEF): def __init__(self, fid='6fce', sfid=None, name='EF.MMSN', rec_len={4,20}, desc='MMS Notification'): @@ -770,17 +805,42 @@ self._construct = Struct('mms_status'/Bytes(2), 'mms_implementation'/Bytes(1), 'mms_notification'/Bytes(this._.total_len-4), 'ext_record_nr'/Byte) +# TS 51.011 Annex K.1 +class MMS_Implementation(BER_TLV_IE, tag=0x80): + _construct = FlagsEnum(Byte, WAP=1) + # TS 51.011 Section 10.3.53 class EF_MMSICP(TransparentEF): + class MMS_Relay_Server(BER_TLV_IE, tag=0x81): + # 3GPP TS 23.140 + pass + class Interface_to_CN(BER_TLV_IE, tag=0x82): + # 3GPP TS 23.140 + pass + class Gateway(BER_TLV_IE, tag=0x83): + # Address, Type of address, Port, Service, AuthType, AuthId, AuthPass / 3GPP TS 23.140 + pass + class MMS_ConnectivityParamters(TLV_IE_Collection, + nested=[MMS_Implementation, MMS_Relay_Server, Interface_to_CN, Gateway]): + pass def __init__(self, fid='6fd0', sfid=None, name='EF.MMSICP', size={1,None}, desc='MMS Issuer Connectivity Parameters'): super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) + self._tlv = EF_MMSICP.MMS_ConnectivityParamters # TS 51.011 Section 10.3.54 class EF_MMSUP(LinFixedEF): + class MMS_UserPref_ProfileName(BER_TLV_IE, tag=0x81): + pass + class MMS_UserPref_Info(BER_TLV_IE, tag=0x82): + pass + class MMS_User_Preferences(TLV_IE_Collection, + nested=[MMS_Implementation,MMS_UserPref_ProfileName,MMS_UserPref_Info]): + pass def __init__(self, fid='6fd1', sfid=None, name='EF.MMSUP', rec_len={1,None}, desc='MMS User Preferences'): super().__init__(fid, sfid=sfid, name=name, desc=desc, rec_len=rec_len) + self.tlv = EF_MMSUP.MMS_User_Preferences # TS 51.011 Section 10.3.55 class EF_MMSUCP(TransparentEF): @@ -834,7 +894,7 @@ EF_xPLMNwAcT('6f62', None, 'EF.HPLMNwAcT', 'HPLMN Selector with Access Technology'), EF_CPBCCH(), EF_InvScan(), - LinFixedEF('6fc5', None,'EF.PNN', 'PLMN Network Name'), + EF_PNN(), EF_OPL(), EF_ADN('6fc7', None, 'EF.MBDN', 'Mailbox Dialling Numbers'), EF_MBI(), @@ -842,7 +902,7 @@ EF_ADN('6fcb', None, 'EF.CFIS', 'Call Forwarding Indication Status'), EF_EXT('6fc8', None, 'EF.EXT6', 'Externsion6 (MBDN)'), EF_EXT('6fcc', None, 'EF.EXT7', 'Externsion7 (CFIS)'), - TransparentEF('6fcd', None, 'EF.SPDI', 'Service Provider Display Information'), + EF_SPDI(), EF_MMSN(), EF_EXT('6fcf', None, 'EF.EXT8', 'Extension8 (MMSN)'), EF_MMSICP(), -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24654 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I6083d2bb0a307f660f09af384803f84e4098a5ed Gerrit-Change-Number: 24654 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 13 20:46:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 13 Jun 2021 20:46:49 +0000 Subject: Change in pysim[master]: ts_31_102: Start using pySim.tlv to implement more DF.5GS files In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24455 ) Change subject: ts_31_102: Start using pySim.tlv to implement more DF.5GS files ...................................................................... ts_31_102: Start using pySim.tlv to implement more DF.5GS files Change-Id: I8ef2d8c24530d13929282e1a1d2138d319b894c6 --- M pySim/ts_31_102.py 1 file changed, 81 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/ts_31_102.py b/pySim/ts_31_102.py index ae255f1..78307a4 100644 --- a/pySim/ts_31_102.py +++ b/pySim/ts_31_102.py @@ -1,5 +1,9 @@ # -*- coding: utf-8 -*- +# without this, pylint will fail when inner classes are used +# within the 'nested' kwarg of our TlvMeta metaclass on python 3.7 :( +# pylint: disable=undefined-variable + """ Various constants from 3GPP TS 31.102 V16.6.0 """ @@ -278,8 +282,9 @@ from struct import unpack, pack from construct import * -from pySim.construct import LV, HexAdapter, BcdAdapter, BitsRFU +from pySim.construct import * from pySim.filesystem import * +from pySim.tlv import * from pySim.ts_102_221 import EF_ARR from pySim.ts_51_011 import EF_IMSI, EF_xPLMNwAcT, EF_SPN, EF_CBMI, EF_ACC, EF_PLMNsel, EF_AD from pySim.ts_51_011 import EF_CBMID, EF_CBMIR, EF_ADN, EF_SMS, EF_MSISDN, EF_SMSP, EF_SMSS @@ -289,6 +294,78 @@ import pySim.ts_102_221 +# 3GPP TS 31.102 Section 4.4.11.4 (EF_5GS3GPPNSC) +class EF_5GS3GPPNSC(LinFixedEF): + class NgKSI(BER_TLV_IE, tag=0x80): + _construct = Int8ub + + class K_AMF(BER_TLV_IE, tag=0x81): + _construct = HexAdapter(Bytes(32)) + + class UplinkNASCount(BER_TLV_IE, tag=0x82): + _construct = Int32ub + + class DownlinkNASCount(BER_TLV_IE, tag=0x83): + _construct = Int32ub + + class IdsOfSelectedNasAlgos(BER_TLV_IE, tag=0x84): + # 3GPP TS 24.501 Section 9.11.3.34 + _construct = BitStruct('ciphering'/Nibble, 'integrity'/Nibble) + + class IdsOfSelectedEpsAlgos(BER_TLV_IE, tag=0x85): + # 3GPP TS 24.301 Section 9.9.3.23 + _construct = BitStruct('ciphering'/Nibble, 'integrity'/Nibble) + + class FiveGSNasSecurityContext(BER_TLV_IE, tag=0xA0, + nested=[NgKSI, K_AMF, UplinkNASCount, + DownlinkNASCount, IdsOfSelectedNasAlgos, + IdsOfSelectedEpsAlgos]): + pass + + def __init__(self, fid="4f03", sfid=0x03, name='EF.5GS3GPPNSC', rec_len={57, None}, + desc='5GS 3GPP Access NAS Security Context'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, rec_len=rec_len) + self._tlv = EF_5GS3GPPNSC.FiveGSNasSecurityContext() + +# 3GPP TS 31.102 Section 4.4.11.6 +class EF_5GAUTHKEYS(TransparentEF): + class K_AUSF(BER_TLV_IE, tag=0x80): + _construct = HexAdapter(GreedyBytes) + + class K_SEAF(BER_TLV_IE, tag=0x81): + _construct = HexAdapter(GreedyBytes) + + class FiveGAuthKeys(TLV_IE_Collection, nested=[K_AUSF, K_SEAF]): + pass + + def __init__(self, fid='4f05', sfid=0x05, name='EF.5GAUTHKEYS', size={68, None}, + desc='5G authentication keys'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) + self._tlv = EF_5GAUTHKEYS.FiveGAuthKeys() + +# 3GPP TS 31.102 Section 4.4.11.8 +class ProtSchemeIdList(BER_TLV_IE, tag=0xa0): + # FIXME: 3GPP TS 24.501 Protection Scheme Identifier + # repeated sequence of (id, index) tuples + _construct = GreedyRange(Struct('id'/Enum(Byte, null=0, A=1, B=2), 'index'/Int8ub)) + +class HomeNetPubKeyId(BER_TLV_IE, tag=0x80): + # 3GPP TS 24.501 / 3GPP TS 23.003 + _construct = Int8ub + +class HomeNetPubKey(BER_TLV_IE, tag=0x81): + # FIXME: RFC 5480 + _construct = HexAdapter(GreedyBytes) + +class HomeNetPubKeyList(BER_TLV_IE, tag=0xa1, + nested=[HomeNetPubKeyId, HomeNetPubKey]): + pass + +# 3GPP TS 31.102 Section 4.4.11.6 +class SUCI_CalcInfo(TLV_IE_Collection, nested=[ProtSchemeIdList,HomeNetPubKeyList]): + pass + + # TS 31.102 4.4.11.8 class EF_SUCI_Calc_Info(TransparentEF): def __init__(self, fid="4f07", sfid=0x07, name='EF.SUCI_Calc_Info', size={2, None}, @@ -705,9 +782,9 @@ # I'm looking at 31.102 R16.6 EF_5GS3GPPLOCI(), EF_5GS3GPPLOCI('4f02', 0x02, 'EF.5GSN3GPPLOCI', '5GS non-3GPP location information'), - LinFixedEF('4F03', 0x03, 'EF.5GS3GPPNSC', '5GS 3GPP Access NAS Security Context', rec_len={57,None}), - LinFixedEF('4F04', 0x04, 'EF.5GSN3GPPNSC', '5GS non-3GPP Access NAS Security Context', rec_len={57,None}), - TransparentEF('4F05', 0x05, 'EF.5GAUTHKEYS', '5G authentication keys', size={68, None}), + EF_5GS3GPPNSC(), + EF_5GS3GPPNSC('4f04', 0x04, 'EF.5GSN3GPPNSC', '5GS non-3GPP Access NAS Security Context'), + EF_5GAUTHKEYS(), EF_UAC_AIC(), EF_SUCI_Calc_Info(), EF_OPL5G(), -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8ef2d8c24530d13929282e1a1d2138d319b894c6 Gerrit-Change-Number: 24455 Gerrit-PatchSet: 8 Gerrit-Owner: laforge 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 Mon Jun 14 07:53:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 14 Jun 2021 07:53:29 +0000 Subject: Change in pysim[master]: implement more files with TLV + construct In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24654 ) Change subject: implement more files with TLV + construct ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24654 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I6083d2bb0a307f660f09af384803f84e4098a5ed Gerrit-Change-Number: 24654 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 14 Jun 2021 07:53:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 14 07:53:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 14 Jun 2021 07:53:31 +0000 Subject: Change in pysim[master]: ts_31_102: Fully support USIM EF.AD In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24570 ) Change subject: ts_31_102: Fully support USIM EF.AD ...................................................................... ts_31_102: Fully support USIM EF.AD The USIM EF.AD has quite some more bits, it should have a separate implementation and not reuse te DF.GSM/EF.AD implementation. Change-Id: Iaf195cb63d5d12fc906a7e7cd85e3fd44589a41e --- M pySim/ts_31_102.py 1 file changed, 26 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/ts_31_102.py b/pySim/ts_31_102.py index 78307a4..24d0f52 100644 --- a/pySim/ts_31_102.py +++ b/pySim/ts_31_102.py @@ -280,13 +280,15 @@ # ADF.USIM ###################################################################### +import enum from struct import unpack, pack from construct import * +from construct import Optional as COptional from pySim.construct import * from pySim.filesystem import * from pySim.tlv import * from pySim.ts_102_221 import EF_ARR -from pySim.ts_51_011 import EF_IMSI, EF_xPLMNwAcT, EF_SPN, EF_CBMI, EF_ACC, EF_PLMNsel, EF_AD +from pySim.ts_51_011 import EF_IMSI, EF_xPLMNwAcT, EF_SPN, EF_CBMI, EF_ACC, EF_PLMNsel from pySim.ts_51_011 import EF_CBMID, EF_CBMIR, EF_ADN, EF_SMS, EF_MSISDN, EF_SMSP, EF_SMSS from pySim.ts_51_011 import EF_SMSR, EF_DCK, EF_EXT, EF_CNL, EF_OPL, EF_MBI, EF_MWIS from pySim.ts_51_011 import EF_MMSN, EF_MMSICP, EF_MMSUP, EF_MMSUCP, EF_VGCS, EF_VGCSS, EF_NIA @@ -559,6 +561,28 @@ super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) self._construct = Struct('tmsi'/HexAdapter(Bytes(4)), 'lai'/HexAdapter(Bytes(5)), 'rfu'/Int8ub, 'lu_status'/Int8ub) +# TS 31.102 Section 4.2.18 +class EF_AD(TransparentEF): + class OP_MODE(enum.IntEnum): + normal = 0x00 + type_approval = 0x80 + normal_and_specific_facilities = 0x01 + type_approval_and_specific_facilities = 0x81 + maintenance_off_line = 0x02 + cell_test = 0x04 + + def __init__(self, fid='6fad', sfid=0x03, name='EF.AD', desc='Administrative Data', size={4,6}): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) + self._construct = BitStruct( + # Byte 1 + 'ms_operation_mode'/Bytewise(Enum(Byte, EF_AD.OP_MODE)), + # Byte 2 + 3 + 'additional_info'/Bytewise(FlagsEnum(Int16ub, ciphering_indicator=1, csg_display_control=2, + prose_services=4, extended_drx=8)), + 'rfu'/BitsRFU(4), + 'mnc_len'/BitsInteger(4), + 'extensions'/COptional(Bytewise(GreedyBytesRFU)) + ) # TS 31.102 Section 4.2.23 class EF_PSLOCI(TransparentEF): @@ -821,7 +845,7 @@ EF_ACC(sfid=0x06), EF_PLMNsel('6f7b', 0x0d, 'EF.FPLMN', 'Forbidden PLMNs', size={12,None}), EF_LOCI(), - EF_AD(sfid=0x03), + EF_AD(), EF_CBMID(sfid=0x0e), EF_ECC(), EF_CBMIR(), -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24570 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iaf195cb63d5d12fc906a7e7cd85e3fd44589a41e Gerrit-Change-Number: 24570 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 14 07:53:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 14 Jun 2021 07:53:31 +0000 Subject: Change in pysim[master]: implement more files with TLV + construct In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24654 ) Change subject: implement more files with TLV + construct ...................................................................... implement more files with TLV + construct This adds encoding/decoding for more files, from 51.011 (SIM) to 31.102 (USIM) and 31.103 (ISIM) Change-Id: I6083d2bb0a307f660f09af384803f84e4098a5ed --- M pySim/ts_31_102.py M pySim/ts_31_103.py M pySim/ts_51_011.py 3 files changed, 220 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/ts_31_102.py b/pySim/ts_31_102.py index 24d0f52..f3628ad 100644 --- a/pySim/ts_31_102.py +++ b/pySim/ts_31_102.py @@ -511,7 +511,14 @@ super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) self._construct = Struct('ksi'/Int8ub, 'ck'/HexAdapter(Bytes(16)), 'ik'/HexAdapter(Bytes(16))) -# TS 31.103 Section 4.2.7 +# TS 31.102 Section 4.2.6 +class EF_HPPLMN(TransparentEF): + def __init__(self, fid='6f31', sfid=0x12, name='EF.HPPLMN', size={1,1}, + desc='Higher Priority PLMN search period'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) + self._construct = Int8ub + +# TS 31.102 Section 4.2.8 class EF_UST(TransparentEF): def __init__(self, fid='6f38', sfid=0x04, name='EF.UST', desc='USIM Service Table', size={1,17}): super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, size=size) @@ -677,6 +684,33 @@ self._construct = Struct('key_domain_id'/Bytes(3), 'num_msk_id'/Int8ub, 'msk_ids'/msk_ts_constr[this.num_msk_id]) +# TS 31.102 Section 4.2.81 +class EF_MUK(LinFixedEF): + class MUK_Idr(BER_TLV_IE, tag=0x80): + _construct = HexAdapter(GreedyBytes) + class MUK_Idi(BER_TLV_IE, tag=0x82): + _construct = HexAdapter(GreedyBytes) + class MUK_ID(BER_TLV_IE, tag=0xA0, nested=[MUK_Idr, MUK_Idi]): + pass + class TimeStampCounter(BER_TLV_IE, tag=0x81): + pass + class EF_MUK_Collection(TLV_IE_Collection, nested=[MUK_ID, TimeStampCounter]): + pass + def __init__(self, fid='6fd8', sfid=None, name='EF.MUK', desc='MBMS User Key'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, rec_len={None,None}) + self._tlv = EF_MUK.EF_MUK_Collection + +# TS 31.102 Section 4.2.83 +class EF_GBANL(LinFixedEF): + class NAF_ID(BER_TLV_IE, tag=0x80): + _construct = HexAdapter(GreedyBytes) + class B_TID(BER_TLV_IE, tag=0x81): + _construct = HexAdapter(GreedyBytes) + class EF_GBANL_Collection(BER_TLV_IE, nested=[NAF_ID, B_TID]): + pass + def __init__(self, fid='6fda', sfid=None, name='EF.GBANL', desc='GBA NAF List'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, rec_len={None,None}) + self._tlv = EF_GBANL.EF_GBANL_Collection # TS 31.102 Section 4.2.85 class EF_EHPLMNPI(TransparentEF): @@ -685,6 +719,42 @@ super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) self._construct = Struct('presentation_ind'/ Enum(Byte, no_preference=0, display_highest_prio_only=1, display_all=2)) + +# TS 31.102 Section 4.2.87 +class EF_NAFKCA(LinFixedEF): + class NAF_KeyCentreAddress(BER_TLV_IE, tag=0x80): + _construct = HexAdapter(GreedyBytes) + def __init__(self, fid='6fdd', sfid=None, name='EF.NAFKCA', rec_len={None, None}, + desc='NAF Key Centre Address'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, rec_len=rec_len) + self._tlv = EF_NAFKCA.NAF_KeyCentreAddress + +# TS 31.102 Section 4.2.90 +class EF_NCP_IP(LinFixedEF): + class DataDestAddrRange(TLV_IE, tag=0x83): + _construct = Struct('type_of_address'/Enum(Byte, IPv4=0x21, IPv6=0x56), + 'prefix_length'/Int8ub, + 'prefix'/HexAdapter(GreedyBytes)) + class AccessPointName(TLV_IE, tag=0x80): + # coded as per TS 23.003 + _construct = HexAdapter(GreedyBytes) + class Login(TLV_IE, tag=0x81): + # as per SMS DCS TS 23.038 + _construct = GsmStringAdapter(GreedyBytes) + class Password(TLV_IE, tag=0x82): + # as per SMS DCS TS 23.038 + _construct = GsmStringAdapter(GreedyBytes) + class BearerDescription(TLV_IE, tag=0x84): + # Bearer descriptionTLV DO as per TS 31.111 + pass + class EF_NCP_IP_Collection(TLV_IE_Collection, + nested=[AccessPointName, Login, Password, BearerDescription]): + pass + def __init__(self, fid='6fe2', sfid=None, name='EF.NCP-IP', rec_len={None, None}, + desc='Network Connectivity Parameters for USIM IP connections'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, rec_len=rec_len) + self._tlv = EF_NCP_IP.EF_NCP_IP_Collection + # TS 31.102 Section 4.2.91 class EF_EPSLOCI(TransparentEF): def __init__(self, fid='6fe3', sfid=0x1e, name='EF.EPSLOCI', size={18,18}, @@ -694,6 +764,27 @@ self._construct = Struct('guti'/Bytes(12), 'last_visited_registered_tai'/Bytes(5), 'eps_update_status'/upd_status_constr) +# TS 31.102 Section 4.2.92 +class EF_EPSNSC(LinFixedEF): + class KSI_ASME(BER_TLV_IE, tag= 0x80): + _construct = Int8ub + class K_ASME(BER_TLV_IE, tag= 0x81): + _construct = HexAdapter(GreedyBytes) + class UplinkNASCount(BER_TLV_IE, tag=0x82): + _construct = Int32ub + class DownlinkNASCount(BER_TLV_IE, tag=0x83): + _construct = Int32ub + class IDofNASAlgorithms(BER_TLV_IE, tag=0x84): + _construct = HexAdapter(GreedyBytes) + class EPS_NAS_Security_Context(BER_TLV_IE, tag=0xa0, + nested=[KSI_ASME, K_ASME, UplinkNASCount, DownlinkNASCount, + IDofNASAlgorithms]): + pass + def __init__(self,fid='6fe4', sfid=0x18, name='EF.EPSNSC', rec_len={54,128}, + desc='EPS NAS Security Context'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, rec_len=rec_len) + self._tlv = EF_EPSNSC.EPS_NAS_Security_Context + # TS 31.102 Section 4.2.96 class EF_PWS(TransparentEF): def __init__(self, fid='6fec', sfid=None, name='EF.PWS', desc='Public Warning System', size={1,1}): @@ -709,6 +800,18 @@ self._construct = Struct('status'/PaddedString(2, 'ascii'), 'link_to_ef_ipd'/Int8ub, 'rfu'/Byte) +# TS 31.102 Section 4.2.103 +class EF_ePDGId(TransparentEF): + class ePDGId(BER_TLV_IE, tag=0x80, nested=[]): + _construct = Struct('type_of_ePDG_address'/Enum(Byte, FQDN=0, IPv4=1, IPv6=2), + 'ePDG_address'/Switch(this.type_of_address, + { 'FQDN': GreedyString("utf8"), + 'IPv4': HexAdapter(GreedyBytes), + 'IPv6': HexAdapter(GreedyBytes) })) + def __init__(self, fid='6ff3', sfid=None, name='EF.eDPDGId', desc='Home ePDG Identifier'): + super().__init__(fid, sfid=sfid, name=name, desc=desc) + self._tlv = EF_ePDGId.ePDGId + # TS 31.102 Section 4.2.106 class EF_FromPreferred(TransparentEF): def __init__(self, fid='6ff7', sfid=None, name='EF.FromPreferred', size={1,1}, @@ -738,12 +841,39 @@ mission_critical_service=2) self._construct = Struct('uac_access_id_config'/cfg_constr) -# TS 31.102 Section 4.4.11.10 +# TS 31.102 Section 4.4.11.9 class EF_OPL5G(LinFixedEF): def __init__(self, fid='6f08', sfid=0x08, name='EF.OPL5G', desc='5GS Operator PLMN List'): super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, rec_len={10,None}) self._construct = Struct('tai'/Bytes(9), 'pnn_record_id'/Int8ub) +# TS 31.102 Section 4.4.11.10 +class EF_SUPI_NAI(TransparentEF): + class NetworkSpecificIdentifier(TLV_IE, tag=0x80): + # RFC 7542 encoded as UTF-8 string + _construct = GreedyString("utf8") + class GlobalLineIdentifier(TLV_IE, tag=0x81): + # TS 23.003 clause 28.16.2 + pass + class GlobalCableIdentifier(TLV_IE, tag=0x82): + # TS 23.003 clause 28.15.2 + pass + class NAI_TLV_Collection(TLV_IE_Collection, + nested=[NetworkSpecificIdentifier, GlobalLineIdentifier, GlobalCableIdentifier]): + pass + def __init__(self, fid='4f09', sfid=0x09, name='EF.SUPI_NAI', + desc='SUPI as Network Access Identifier'): + super().__init__(fid, sfid=sfid, name=name, desc=desc) + self._tlv = EF_SUPI_NAI.NAI_TLV_Collection + +class EF_TN3GPPSNN(TransparentEF): + class ServingNetworkName(BER_TLV_IE, tag=0x80): + _construct = GreedyString("utf8") + def __init__(self, fid='4f0c', sfid=0x0c, name='EF.TN3GPPSNN', + desc='Trusted non-3GPP Serving network names list'): + super().__init__(fid, sfid=sfid, name=name, desc=desc) + self._tlv = EF_TN3GPPSNN.ServingNetworkName + # TS 31.102 Section 4.4.5 class DF_WLAN(CardDF): def __init__(self, fid='5f40', name='DF.WLAN', desc='Files for WLAN purpose'): @@ -812,10 +942,10 @@ EF_UAC_AIC(), EF_SUCI_Calc_Info(), EF_OPL5G(), - TransparentEF('4F09', 0x09, 'EF.SUPI_NAI', 'SUPI as Network Access Identifier'), + EF_SUPI_NAI(), TransparentEF('4F0A', 0x0a, 'EF.Routing_Indicator', 'Routing Indicator', size={4,4}), TransparentEF('4F0B', 0x0b, 'EF.URSP', 'UE Route Selector Policies per PLMN'), - TransparentEF('4F0C', 0x0c, 'EF.TN3GPPSNN', 'Trusted non-3GPP Serving network names list'), + EF_TN3GPPSNN(), ] self.add_files(files) @@ -833,7 +963,7 @@ EF_Keys('6f09', 0x09, 'EF.KeysPS', desc='Ciphering and Integrity Keys for PS domain'), EF_xPLMNwAcT('6f60', 0x0a, 'EF.PLMNwAcT', 'User controlled PLMN Selector with Access Technology'), - TransparentEF('6f31', 0x12, 'EF.HPPLMN', 'Higher Priority PLMN search period'), + EF_HPPLMN(), EF_ACMmax(), EF_UST(), CyclicEF('6f39', None, 'EF.ACM', 'Accumulated call meter', rec_len={3,3}), @@ -903,16 +1033,16 @@ EF_VGCSCA('6fd5', None, 'EF.VBCSCA', 'Voice Broadcast Service Ciphering Algorithm'), EF_GBABP(), EF_MSK(), - LinFixedEF('6fd8', None, 'EF.MUK', 'MBMS User Key'), - LinFixedEF('6fda', None, 'EF.GBANL', 'GBA NFA List'), + EF_MUK(), + EF_GBANL(), EF_PLMNsel('6fd9', 0x1d, 'EF.EHPLMN', 'Equivalent HPLMN', size={12,None}), EF_EHPLMNPI(), - LinFixedEF('6fdd', None, 'EF.NAFKCA', 'NAF Key Centre Address'), + EF_NAFKCA(), TransparentEF('6fde', None, 'EF.SPNI', 'Service Provider Name Icon'), LinFixedEF('6fdf', None, 'EF.PNNI', 'PLMN Network Name Icon'), - LinFixedEF('6fe2', None, 'EF.NCP-IP', 'Network Connectivity Parameters for USIM IP connections'), + EF_NCP_IP(), EF_EPSLOCI('6fe3', 0x1e, 'EF.EPSLOCI', 'EPS location information'), - LinFixedEF('6fe4', 0x18, 'EF.EPSNSC', 'EPS NAS Security Context', rec_len={54,128}), + EF_EPSNSC(), TransparentEF('6fe6', None, 'EF.UFC', 'USAT Facility Control', size={1,16}), TransparentEF('6fe8', None, 'EF.NASCONFIG', 'Non Access Stratum Configuration'), # UICC IARI (only in cards that have no ISIM) @@ -921,7 +1051,8 @@ LinFixedEF('6fee', None, 'EF.BDNURI', 'Barred Dialling Numbers URI'), LinFixedEF('6fef', None, 'EF.SDNURI', 'Service Dialling Numbers URI'), EF_IPS(), - # FIXME: from EF_ePDGid onwards + EF_ePDGId(), + # FIXME: from EF_ePDGSelection onwards EF_FromPreferred(), # FIXME: DF_SoLSA # FIXME: DF_PHONEBOOK diff --git a/pySim/ts_31_103.py b/pySim/ts_31_103.py index 5ca8279..e1f552f 100644 --- a/pySim/ts_31_103.py +++ b/pySim/ts_31_103.py @@ -24,6 +24,7 @@ from pySim.filesystem import * from pySim.utils import * +from pySim.tlv import * from pySim.ts_51_011 import EF_AD, EF_SMS, EF_SMSS, EF_SMSR, EF_SMSP from pySim.ts_31_102 import ADF_USIM, EF_FromPreferred import pySim.ts_102_221 @@ -78,18 +79,27 @@ # TS 31.103 Section 4.2.2 class EF_IMPI(TransparentEF): + class nai(BER_TLV_IE, tag=0x80): + _construct = GreedyString("utf8") def __init__(self, fid='6f02', sfid=0x02, name='EF.IMPI', desc='IMS private user identity'): super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + self._tlv = EF_IMPI.nai # TS 31.103 Section 4.2.3 class EF_DOMAIN(TransparentEF): + class domain(BER_TLV_IE, tag=0x80): + _construct = GreedyString("utf8") def __init__(self, fid='6f05', sfid=0x05, name='EF.DOMAIN', desc='Home Network Domain Name'): super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + self._tlv = EF_DOMAIN.domain # TS 31.103 Section 4.2.4 class EF_IMPU(LinFixedEF): + class impu(BER_TLV_IE, tag=0x80): + _construct = GreedyString("utf8") def __init__(self, fid='6f04', sfid=0x04, name='EF.IMPU', desc='IMS public user identity'): super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + self._tlv = EF_IMPU.impu # TS 31.103 Section 4.2.7 class EF_IST(TransparentEF): @@ -140,8 +150,11 @@ # TS 31.103 Section 4.2.16 class EF_UICCIARI(LinFixedEF): + class iari(BER_TLV_IE, tag=0x80): + _construct = GreedyString("utf8") def __init__(self, fid='6fe7', sfid=None, name='EF.UICCIARI', desc='UICC IARI'): super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + self._tlv = EF_UICCIARI.iari # TS 31.103 Section 4.2.18 class EF_IMSConfigData(BerTlvEF): @@ -155,8 +168,11 @@ # TS 31.103 Section 4.2.20 class EF_WebRTCURI(TransparentEF): + class uri(BER_TLV_IE, tag=0x80): + _construct = GreedyString("utf8") def __init__(self, fid='6ffa', sfid=None, name='EF.WebRTCURI', desc='WebRTC URI'): super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + self._tlv = EF_WebRTCURI.uri # TS 31.103 Section 4.2.21 class EF_MuDMiDConfigData(BerTlvEF): diff --git a/pySim/ts_51_011.py b/pySim/ts_51_011.py index 6ab07f0..65be06a 100644 --- a/pySim/ts_51_011.py +++ b/pySim/ts_51_011.py @@ -1,5 +1,9 @@ # -*- coding: utf-8 -*- +# without this, pylint will fail when inner classes are used +# within the 'nested' kwarg of our TlvMeta metaclass on python 3.7 :( +# pylint: disable=undefined-variable + """ Various constants from ETSI TS 151.011 + Representation of the GSM SIM/USIM/ISIM filesystem hierarchy. @@ -320,6 +324,7 @@ } from pySim.utils import * +from pySim.tlv import * from struct import pack, unpack from construct import * from construct import Optional as COptional @@ -533,6 +538,7 @@ def __init__(self, fid='6f45', sfid=None, name='EF.CBMI', size={2,None}, rec_len=2, desc='Cell Broadcast message identifier selection'): super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size, rec_len=rec_len) + self._construct = GreedyRange(Int16ub) # TS 51.011 Section 10.3.15 class EF_ACC(TransparentEF): @@ -617,18 +623,21 @@ def __init__(self, fid='6f48', sfid=None, name='EF.CBMID', size={2,None}, rec_len=2, desc='Cell Broadcast Message Identifier for Data Download'): super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size, rec_len=rec_len) + self._construct = GreedyRange(Int16ub) # TS 51.011 Section 10.3.27 class EF_ECC(TransRecEF): def __init__(self, fid='6fb7', sfid=None, name='EF.ECC', size={3,15}, rec_len=3, desc='Emergency Call Codes'): super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size, rec_len=rec_len) + self._construct = GreedyRange(BcdAdapter(Bytes(3))) # TS 51.011 Section 10.3.28 class EF_CBMIR(TransRecEF): def __init__(self, fid='6f50', sfid=None, name='EF.CBMIR', size={4,None}, rec_len=4, desc='Cell Broadcast message identifier range selection'): super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size, rec_len=rec_len) + self._construct = GreedyRange(Struct('lower'/Int16ub, 'upper'/Int16ub)) # TS 51.011 Section 10.3.29 class EF_DCK(TransparentEF): @@ -740,6 +749,20 @@ super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) self._construct = FlagsEnum(Byte, in_limited_service_mode=1, after_successful_plmn_selection=2) +# TS 51.011 Section 4.2.58 +class EF_PNN(LinFixedEF): + class FullNameForNetwork(BER_TLV_IE, tag=0x43): + # TS 24.008 10.5.3.5a + pass + class ShortNameForNetwork(BER_TLV_IE, tag=0x45): + # TS 24.008 10.5.3.5a + pass + class NetworkNameCollection(TLV_IE_Collection, nested=[FullNameForNetwork, ShortNameForNetwork]): + pass + def __init__(self, fid='6fc5', sfid=None, name='EF.PNN', desc='PLMN Network Name'): + super().__init__(fid, sfid=sfid, name=name, desc=desc) + self._tlv = EF_PNN.NetworkNameCollection + # TS 51.011 Section 10.3.42 class EF_OPL(LinFixedEF): def __init__(self, fid='6fc6', sfid=None, name='EF.OPL', rec_len={8,8}, desc='Operator PLMN List'): @@ -763,6 +786,18 @@ 'num_waiting_fax'/Int8ub, 'num_waiting_email'/Int8ub, 'num_waiting_other'/Int8ub, 'num_waiting_videomail'/COptional(Int8ub)) +# TS 51.011 Section 10.3.66 +class EF_SPDI(TransparentEF): + class ServiceProviderPLMN(BER_TLV_IE, tag=0x80): + # flexible numbers of 3-byte PLMN records + _construct = GreedyRange(BcdAdapter(Bytes(3))) + class SPDI(BER_TLV_IE, tag=0xA3, nested=[ServiceProviderPLMN]): + pass + def __init__(self, fid='6fcd', sfid=None, name='EF.SPDI', + desc='Service Provider Display Information'): + super().__init__(fid, sfid=sfid, name=name, desc=desc) + self._tlv = EF_SPDI.SPDI + # TS 51.011 Section 10.3.51 class EF_MMSN(LinFixedEF): def __init__(self, fid='6fce', sfid=None, name='EF.MMSN', rec_len={4,20}, desc='MMS Notification'): @@ -770,17 +805,42 @@ self._construct = Struct('mms_status'/Bytes(2), 'mms_implementation'/Bytes(1), 'mms_notification'/Bytes(this._.total_len-4), 'ext_record_nr'/Byte) +# TS 51.011 Annex K.1 +class MMS_Implementation(BER_TLV_IE, tag=0x80): + _construct = FlagsEnum(Byte, WAP=1) + # TS 51.011 Section 10.3.53 class EF_MMSICP(TransparentEF): + class MMS_Relay_Server(BER_TLV_IE, tag=0x81): + # 3GPP TS 23.140 + pass + class Interface_to_CN(BER_TLV_IE, tag=0x82): + # 3GPP TS 23.140 + pass + class Gateway(BER_TLV_IE, tag=0x83): + # Address, Type of address, Port, Service, AuthType, AuthId, AuthPass / 3GPP TS 23.140 + pass + class MMS_ConnectivityParamters(TLV_IE_Collection, + nested=[MMS_Implementation, MMS_Relay_Server, Interface_to_CN, Gateway]): + pass def __init__(self, fid='6fd0', sfid=None, name='EF.MMSICP', size={1,None}, desc='MMS Issuer Connectivity Parameters'): super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) + self._tlv = EF_MMSICP.MMS_ConnectivityParamters # TS 51.011 Section 10.3.54 class EF_MMSUP(LinFixedEF): + class MMS_UserPref_ProfileName(BER_TLV_IE, tag=0x81): + pass + class MMS_UserPref_Info(BER_TLV_IE, tag=0x82): + pass + class MMS_User_Preferences(TLV_IE_Collection, + nested=[MMS_Implementation,MMS_UserPref_ProfileName,MMS_UserPref_Info]): + pass def __init__(self, fid='6fd1', sfid=None, name='EF.MMSUP', rec_len={1,None}, desc='MMS User Preferences'): super().__init__(fid, sfid=sfid, name=name, desc=desc, rec_len=rec_len) + self.tlv = EF_MMSUP.MMS_User_Preferences # TS 51.011 Section 10.3.55 class EF_MMSUCP(TransparentEF): @@ -834,7 +894,7 @@ EF_xPLMNwAcT('6f62', None, 'EF.HPLMNwAcT', 'HPLMN Selector with Access Technology'), EF_CPBCCH(), EF_InvScan(), - LinFixedEF('6fc5', None,'EF.PNN', 'PLMN Network Name'), + EF_PNN(), EF_OPL(), EF_ADN('6fc7', None, 'EF.MBDN', 'Mailbox Dialling Numbers'), EF_MBI(), @@ -842,7 +902,7 @@ EF_ADN('6fcb', None, 'EF.CFIS', 'Call Forwarding Indication Status'), EF_EXT('6fc8', None, 'EF.EXT6', 'Externsion6 (MBDN)'), EF_EXT('6fcc', None, 'EF.EXT7', 'Externsion7 (CFIS)'), - TransparentEF('6fcd', None, 'EF.SPDI', 'Service Provider Display Information'), + EF_SPDI(), EF_MMSN(), EF_EXT('6fcf', None, 'EF.EXT8', 'Extension8 (MMSN)'), EF_MMSICP(), -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24654 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I6083d2bb0a307f660f09af384803f84e4098a5ed Gerrit-Change-Number: 24654 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 14 08:30:48 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 14 Jun 2021 08:30:48 +0000 Subject: Change in libosmocore[master]: socket: add function to wait until a socket becomes writeable 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/+/24435 to look at the new patch set (#4). Change subject: socket: add function to wait until a socket becomes writeable ...................................................................... socket: add function to wait until a socket becomes writeable In cases where a socket is created using the option OSMO_SOCK_F_NONBLOCK it is not possible to detect a connection error because osmo_sock_init() will return early while the connection is still in progress. One way to make sure that the socket is connected is to use select to wait until the socket becomes writeable and to use getsockopt to check SO_ERROR. The function osmo_sock_wait() waits until the socket becomes writeable. >From the error code the API user can determine whether the connection was successful or not. Change-Id: I1c68185120fa2a6c9b6cb8aa2a25232a44ff5508 Related: SYS#4971 --- M include/osmocom/core/socket.h M src/socket.c 2 files changed, 53 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/35/24435/4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1c68185120fa2a6c9b6cb8aa2a25232a44ff5508 Gerrit-Change-Number: 24435 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 Mon Jun 14 08:36:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 14 Jun 2021 08:36:24 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement local change weight procedure In-Reply-To: References: Message-ID: pespin 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: Code-Review+1 -- 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: Mon, 14 Jun 2021 08:36:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 14 08:37:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 14 Jun 2021 08:37:00 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement outbound SNS ADD procedures In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24123 ) Change subject: gprs_ns2_sns: implement outbound SNS ADD procedures ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I71c33200bd1f0307ceb943ee958db5ebe3623d36 Gerrit-Change-Number: 24123 Gerrit-PatchSet: 7 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 14 Jun 2021 08:37: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 Jun 14 08:38:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 14 Jun 2021 08:38:05 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement outbound SNS DEL procedures In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24591 ) Change subject: gprs_ns2_sns: implement outbound SNS DEL procedures ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I53cd54dfd262c70c425c3f13dad3b29526daa523 Gerrit-Change-Number: 24591 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 14 Jun 2021 08:38: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 Jun 14 08:38:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 14 Jun 2021 08:38:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: test if SNS fails when all signalling NSVCs failes In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24651 ) Change subject: ns: test if SNS fails when all signalling NSVCs failes ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24651 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id06e34e7235d94a06152a0015487a507d6492a97 Gerrit-Change-Number: 24651 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 14 Jun 2021 08:38: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 Jun 14 08:39:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 14 Jun 2021 08:39:20 +0000 Subject: Change in osmo-bsc[master]: rsl_lchan_lookup: drop redundant condition In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24653 ) Change subject: rsl_lchan_lookup: drop redundant condition ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24653 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4d9afc2996d95fdc15ee1a04e31d781b595023e3 Gerrit-Change-Number: 24653 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 14 Jun 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 Jun 14 08:40:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 14 Jun 2021 08:40:35 +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: pespin 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 2: Code-Review+2 -- 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: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 14 Jun 2021 08:40: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 Jun 14 09:16:18 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 14 Jun 2021 09:16:18 +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: dexter 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 2: Code-Review+1 (1 comment) This looks good to me. I did not check, but I guess sns_failed() does the freeing. https://gerrit.osmocom.org/c/libosmocore/+/24650/2/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/24650/2/src/gb/gprs_ns2_sns.c at 2254 PS2, Line 2254: sns_failed(fi, "Rx Size: Missing Enssential IE"); I think in 3gpp speak this should be "Missing mandatory IE", but I don't know that for sure. -- 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: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 14 Jun 2021 09:16: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 Mon Jun 14 11:09:19 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 14 Jun 2021 11:09:19 +0000 Subject: Change in osmo-bsc[master]: rsl_data_request() check lchan pointer before access In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24652 ) Change subject: rsl_data_request() check lchan pointer before access ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24652 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I873c1a27f9449a56c525984ea50bfcf6daa4b5f8 Gerrit-Change-Number: 24652 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 14 Jun 2021 11:09:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 14 11:09:37 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 14 Jun 2021 11:09:37 +0000 Subject: Change in osmo-bsc[master]: rsl_lchan_lookup: drop redundant condition In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24653 ) Change subject: rsl_lchan_lookup: drop redundant condition ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24653 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4d9afc2996d95fdc15ee1a04e31d781b595023e3 Gerrit-Change-Number: 24653 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 14 Jun 2021 11:09: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 Jun 14 11:48:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 14 Jun 2021 11:48:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: OML: Add types/templates for GetAttributesResponse References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24655 ) Change subject: OML: Add types/templates for GetAttributesResponse ...................................................................... OML: Add types/templates for GetAttributesResponse Change-Id: Iec7198cc164b6e33e708d59c3f214efb3e1ac33b --- M library/AbisOML_Types.ttcn 1 file changed, 27 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/55/24655/1 diff --git a/library/AbisOML_Types.ttcn b/library/AbisOML_Types.ttcn index 0a562ae..5997543 100644 --- a/library/AbisOML_Types.ttcn +++ b/library/AbisOML_Types.ttcn @@ -616,6 +616,15 @@ uint8_t sacch_rch_sapi3_10ms }; +/* Section 9.4.64 */ +type record OML_FOM_ARI { + uint16_t len, + uint8_t non_reported_attr_len, + set of uint8_t non_reported_attr optional, + OML_FOM_IE_List ies optional +} with { variant (len) "LENGTHTO(non_reported_attr_len,non_reported_attr,ies)" + variant (non_reported_attr_len) "LENGTHTO(non_reported_attr)" }; + type union OML_FOM_IE_Body { OML_FOM_AbisChannel abis_channel, OML_FOM_AdministrativeState adm_state, @@ -669,6 +678,8 @@ uint16_t paging_cfg, OCT2 freq_ctrl, + OML_FOM_ARI ari, + OML_IE_L16V other }; @@ -728,6 +739,8 @@ paging_cfg, iei = NM_ATT_IPACC_PAGING_CFG; freq_ctrl, iei = NM_ATT_IPACC_FREQ_CTRL; + ari, iei = NM_ATT_GET_ARI; + other, OTHERWISE; )" }; @@ -1124,6 +1137,20 @@ tr_OML_IE(NM_ATT_LIST_REQ_ATTR, OML_FOM_IE_Body:{other := tr_OML_IE_L16V(?, req_attr)}) }); +/* 8.11.3 Get Attribute Responses */ +template (value) OML_PDU ts_OML_GetAttributesResponse(template (value) OML_FOM_ObjectClass obj_class, + template (value) OML_FOM_ObjectInstance obj_inst, + template (value) octetstring req_attr) := + ts_OML_MsgType(NM_MT_GET_ATTR_RESP, obj_class, obj_inst, { + ts_OML_IE(NM_ATT_GET_ARI, OML_FOM_IE_Body:{other := ts_OML_IE_L16V(0, req_attr)}) + }); +template OML_PDU tr_OML_GetAttributesResponse(template OML_FOM_ObjectClass obj_class, + template OML_FOM_ObjectInstance obj_inst, + template OML_FOM_ARI ari := ?) := + tr_OML_MsgType(NM_MT_GET_ATTR_RESP, obj_class, obj_inst, { + tr_OML_IE(NM_ATT_GET_ARI, OML_FOM_IE_Body:{ari := ari}) + }); + /* convert a request into an ACK */ function f_OML_make_ack(OML_PDU orig) return OML_PDU { var OML_PDU resp := orig; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24655 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iec7198cc164b6e33e708d59c3f214efb3e1ac33b Gerrit-Change-Number: 24655 Gerrit-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 Jun 14 11:48:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 14 Jun 2021 11:48:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Support passing PCUIF messages over IPA multiplex References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24656 ) Change subject: bts: Support passing PCUIF messages over IPA multiplex ...................................................................... bts: Support passing PCUIF messages over IPA multiplex Related: SYS#5303 Change-Id: I3cd0988cb654f1c5816d1c4717255a5e802d7925 --- M bts/BTS_Tests_OML.ttcn M bts/regen_makefile.sh M library/IPA_Emulation.ttcnpp M library/IPA_Types.ttcn 4 files changed, 48 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/56/24656/1 diff --git a/bts/BTS_Tests_OML.ttcn b/bts/BTS_Tests_OML.ttcn index 6770dab..ddeb139 100644 --- a/bts/BTS_Tests_OML.ttcn +++ b/bts/BTS_Tests_OML.ttcn @@ -52,6 +52,8 @@ /* Port for OML */ port IPA_OML_PT OML; var uint8_t g_bts_nr := 0; + /* Port for Abis/Osmo/PCU */ + port IPA_OSMO_PCU_PT IPA_OSMO_PCU; /* global test case guard timer */ timer T_oml_guard := 60.0; @@ -97,6 +99,7 @@ vc_IPA_OML := IPA_Emulation_CT.create(id & "-OML-IPA"); map(vc_IPA_OML:IPA_PORT, system:IPA_CODEC_PT); connect(vc_IPA_OML:IPA_OML_PORT, self:OML); + connect(vc_IPA_OML:IPA_OSMO_PCU_PORT, self:IPA_OSMO_PCU); vc_IPA_OML.start(IPA_Emulation.main_server(mp_oml_ip, mp_oml_port)); T_oml_guard.start; diff --git a/bts/regen_makefile.sh b/bts/regen_makefile.sh index 9f1bf1d..8771500 100755 --- a/bts/regen_makefile.sh +++ b/bts/regen_makefile.sh @@ -2,6 +2,6 @@ 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" -export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL -DIPA_EMULATION_OML -DIPA_EMULATION_CTRL" +export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL -DIPA_EMULATION_OML -DIPA_EMULATION_CTRL -DIPA_EMULATION_OSMO_PCU" ../regen-makefile.sh BTS_Tests.ttcn $FILES diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index 906664f..5cdf324 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -55,6 +55,10 @@ import from Osmocom_CTRL_Types all; #endif +#ifdef IPA_EMULATION_OSMO_PCU +import from PCUIF_Types all; +#endif + modulepar { /* Use Osmocom extended IPA mux header */ boolean mp_ipa_mgcp_uses_osmo_ext := true; @@ -190,6 +194,12 @@ } with { extension "internal" } #endif +#ifdef IPA_EMULATION_OSMO_PCU +/* Client port for Osmocom PCU extension inside IPA */ +type port IPA_OSMO_PCU_PT message { + inout PCUIF_Message, ASP_IPA_Event; +} with { extension "internal" } +#endif @@ -224,6 +234,10 @@ /* up-facing port for RSPRO */ port IPA_RSPRO_PT IPA_RSPRO_PORT; #endif +#ifdef IPA_EMULATION_OSMO_PCU + /* up-facing port for RSPRO */ + port IPA_OSMO_PCU_PT IPA_OSMO_PCU_PORT; +#endif /* up-facing port for other streams */ port IPA_SP_PT IPA_SP_PORT; @@ -350,6 +364,11 @@ IPA_RSPRO_PORT.send(evt); } #endif +#ifdef IPA_EMULATION_OSMO_PCU + if (IPA_OSMO_PCU_PORT.checkstate("Connected")) { + IPA_OSMO_PCU_PORT.send(evt); + } +#endif /* FIXME: to other ports */ } @@ -585,6 +604,13 @@ } #endif +#ifdef IPA_EMULATION_OSMO_PCU +private function f_osmo_pcu_to_user(octetstring msg) runs on IPA_Emulation_CT { + var PCUIF_Message pcuif_msg := dec_PCUIF_Message(msg); + IPA_OSMO_PCU_PORT.send(pcuif_msg); +} +#endif + #ifdef IPA_EMULATION_MGCP private function f_mgcp_to_user(octetstring msg) runs on IPA_Emulation_CT { var charstring msg_ch := oct2char(msg); @@ -657,6 +683,9 @@ #ifdef IPA_EMULATION_RSPRO var RsproPDU rspro; #endif +#ifdef IPA_EMULATION_OSMO_PCU + var PCUIF_Message pcu; +#endif /* Set function for dissecting the binary */ var f_IPL4_getMsgLen vl_f := refers(f_IPL4_fixedMsgLen); @@ -733,6 +762,11 @@ f_rspro_to_user(ipa_rx.msg); } #endif +#ifdef IPA_EMULATION_OSMO_PCU + case (IPAC_PROTO_EXT_OSMO_PCU) { + f_osmo_pcu_to_user(ipa_rx.msg); + } +#endif case else { IPA_SP_PORT.send(f_to_asp(ipa_rx)); } @@ -826,6 +860,14 @@ } #endif +#ifdef IPA_EMULATION_OSMO_PCU + [] IPA_OSMO_PCU_PORT.receive(PCUIF_Message:?) -> value pcu { + payload := enc_PCUIF_Message(pcu); + ipa_ud := valueof(t_ASP_IPA_UD(IPAC_PROTO_OSMO, payload, IPAC_PROTO_EXT_OSMO_PCU)); + IPA_PORT.send(f_from_asp(f_ipa_conn_id(), ipa_ud)); + } +#endif + #ifdef IPA_EMULATION_RSL /* Received RSL -> down into IPA */ [] IPA_RSL_PORT.receive(ASP_RSL_Unitdata:?) -> value rsl { diff --git a/library/IPA_Types.ttcn b/library/IPA_Types.ttcn index 110e5b1..95623ef 100644 --- a/library/IPA_Types.ttcn +++ b/library/IPA_Types.ttcn @@ -35,7 +35,8 @@ IPAC_PROTO_EXT_ORC ('04'H), IPAC_PROTO_EXT_GSUP ('05'H), IPAC_PROTO_EXT_OAP ('06'H), - IPAC_PROTO_EXT_RSPRO ('07'H) + IPAC_PROTO_EXT_RSPRO ('07'H), + IPAC_PROTO_EXT_OSMO_PCU ('08'H) } with { variant "FIELDLENGTH(8)" } external function enc_PDU_IPA(in PDU_IPA pdu) return octetstring -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24656 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3cd0988cb654f1c5816d1c4717255a5e802d7925 Gerrit-Change-Number: 24656 Gerrit-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 Jun 14 11:48:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 14 Jun 2021 11:48:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Test forwarding PCUIF<->IPA/OSMO/PCU References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24657 ) Change subject: bts: Test forwarding PCUIF<->IPA/OSMO/PCU ...................................................................... bts: Test forwarding PCUIF<->IPA/OSMO/PCU Related: SYS#5303 Change-Id: Ib3012ce612f78e661fd46b608a0bf67e038e136f --- M bts/BTS_Tests.cfg M bts/BTS_Tests.ttcn M bts/BTS_Tests_OML.ttcn M library/AbisOML_Types.ttcn M library/PCUIF_Types.ttcn 5 files changed, 229 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/57/24657/1 diff --git a/bts/BTS_Tests.cfg b/bts/BTS_Tests.cfg index aaffbf6..36d81e2 100644 --- a/bts/BTS_Tests.cfg +++ b/bts/BTS_Tests.cfg @@ -31,6 +31,7 @@ #BTS_Tests.mp_tolerance_rxlev := 10; #BTS_Tests.mp_tolerance_rxqual := 1; +BTS_Tests_OML.mp_pcu_socket := "/tmp/pcu_sock" [MAIN_CONTROLLER] diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 547ada2..9dd4027 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -70,6 +70,7 @@ friend module BTS_Tests_virtphy; friend module BTS_Tests_LAPDm; friend module BTS_Tests_perf; +friend module BTS_Tests_OML; /* The tests assume a BTS with the following timeslot configuration: * TS0 : Combined CCCH + SDCCH/4 @@ -429,7 +430,7 @@ } /* PCU socket may at any time receive a new INFO.ind */ -private altstep as_pcu_info_ind(PCUIF_CODEC_PT pt, integer pcu_conn_id, +friend altstep as_pcu_info_ind(PCUIF_CODEC_PT pt, integer pcu_conn_id, out PCUIF_Message pcu_last_info) { var PCUIF_send_data sd; [] pt.receive(t_SD_PCUIF(pcu_conn_id, tr_PCUIF_INFO_IND(0, ?))) -> value sd { diff --git a/bts/BTS_Tests_OML.ttcn b/bts/BTS_Tests_OML.ttcn index ddeb139..e37805e 100644 --- a/bts/BTS_Tests_OML.ttcn +++ b/bts/BTS_Tests_OML.ttcn @@ -16,6 +16,13 @@ import from AbisOML_Types all; import from IPA_Emulation all; import from IPA_Types all; +import from Misc_Helpers all; + +import from PCUIF_Types all; +import from PCUIF_CodecPort all; +import from PCUIF_CodecPort all; + +import from BTS_Tests all; const integer NUM_TRX := 8; @@ -43,6 +50,8 @@ uint8_t mp_air_timer := 100; uint8_t mp_ny1 := 10; uint8_t mp_bsic := 63; + + charstring mp_pcu_socket := PCU_SOCK_DEFAULT; }; /* BSC side OML component */ @@ -52,8 +61,17 @@ /* Port for OML */ port IPA_OML_PT OML; var uint8_t g_bts_nr := 0; + /* Port for Abis/Osmo/PCU */ port IPA_OSMO_PCU_PT IPA_OSMO_PCU; + /* PCU Interface of BTS */ + port PCUIF_CODEC_PT PCU; + var integer g_pcu_conn_id; + /* Last PCU INFO IND we received */ + var PCUIF_Message g_pcu_last_info; + + /* As rxed by Get Attributes Response NM_ATT_MANUF_ID IE, see f_oml_getattr() */ + var bitstring g_bts_features; /* global test case guard timer */ timer T_oml_guard := 60.0; @@ -112,6 +130,27 @@ activate(as_IPA_evt()); } +private function f_init_pcu(PCUIF_CODEC_PT pt, charstring id, + out integer pcu_conn_id, out PCUIF_Message pcu_last_info) { + timer T := 2.0; + var PCUIF_send_data sd; + + if (mp_pcu_socket == "") { + pcu_conn_id := -1; + return; + } + map(self:PCU, system:PCU); + pcu_conn_id := f_pcuif_connect(pt, mp_pcu_socket); + + T.start; + alt { + [] as_pcu_info_ind(pt, pcu_conn_id, pcu_last_info); + [] T.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for PCU INFO_IND"); + } + } + pt.send(t_SD_PCUIF(pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, testcasename()))); +} /* Perform an "OPSTART" procedure with the speciifed MO" */ private function f_oml_opstart(template (value) OML_FOM_ObjectClass obj_class, @@ -232,7 +271,7 @@ } /* Perform a "SET BTS ATTRIBUTES" procedure with the BTS */ -private function f_oml_bts_attr() +private function f_oml_bts_setattr() runs on BSC_OML_CT { var OML_FOM_ObjectInstance obj_inst := valueof(ts_OML_ObjectInstance(g_bts_nr, 255, 255)); var template (value) OML_FOM_IE_List ies := { @@ -290,12 +329,15 @@ } } -private function f_oml_exp_rx(template OML_PDU exp_rx, charstring err_msg) runs on BSC_OML_CT +private function f_oml_exp_rx(template OML_PDU exp_rx, charstring err_msg) + runs on BSC_OML_CT return OML_PDU { + var OML_PDU rx; timer T := 5.0; + T.start; alt { - [] OML.receive(exp_rx) { + [] OML.receive(exp_rx) -> value rx { setverdict(pass); } [] OML.receive { repeat; } @@ -303,6 +345,7 @@ setverdict(fail, "Timeout waiting for ", err_msg); } } + return rx; } /* Send an OML message and expect a failure event report in response */ @@ -351,7 +394,23 @@ } +private function f_oml_getattr(template OML_PDU exp_rx := tr_OML_GetAttributesResponse(NM_OC_BTS, ?, ?)) runs on BSC_OML_CT +{ + var OML_FOM_ObjectInstance obj_inst := valueof(ts_OML_ObjectInstance(g_bts_nr, 255, 255)); + var OML_FOM_IE_Type attr_li[2] := { NM_ATT_MANUF_ID, NM_ATT_SW_CONFIG }; + var octetstring req_attr := ''O; + for (var integer i := 0; i < lengthof(attr_li); i := i + 1) { + req_attr := req_attr & int2oct(enum2int(attr_li[i]), 1); + } + var OML_PDU cmd := valueof(ts_OML_GetAttributes(NM_OC_BTS, obj_inst, req_attr)); + OML.send(cmd); + var OML_PDU rx := f_oml_exp_rx(exp_rx, "BTS GetAttributes Response"); + + var OML_FOM_IE_Body ie_ari := f_OML_FOM_get_ie(rx.u.fom, NM_ATT_GET_ARI); + var OML_FOM_IE_Body manuf_id := f_OML_FOM_IE_List_get_ie(ie_ari.ari.ies, NM_ATT_MANUF_ID); + g_bts_features := oct2bit(manuf_id.other.payload); +} @@ -539,7 +598,7 @@ [] OML.receive { repeat; } } - f_oml_bts_attr(); + f_oml_bts_setattr(); f_oml_opstart(obj_class, obj_inst, false, NM_OPSTATE_ENABLED); } @@ -616,6 +675,71 @@ } } +/* Make sure that the IUT sends RSL Connect NACK when the remote is not reachable. */ +testcase TC_ipa_osmo_pcu_anr_fwd() runs on BSC_OML_CT { + var PCUIF_send_data pcu_sd_msg; + var PCUIF_Message msg_rx; + timer T := 2.0; + + f_init_oml(testcasename()); + f_init_pcu(PCU, testcasename(), g_pcu_conn_id, g_pcu_last_info); + f_oml_getattr(); + + log("BTS Features:", g_bts_features); + if (lengthof(g_bts_features) < 21 or g_bts_features[20] != '1'B) { + setverdict(fail, "Feature ABIS_OSMO_PCU not supported!"); + } + + IPA_OSMO_PCU.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)); + IPA_OSMO_PCU.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_RESP)); + IPA_OSMO_PCU.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)); + + var PCUIF_CellDescriptionList cell_list := { + {3, 2, 880}, {3, 1, 880}, {3, 1, 887} + }; + var PCUIF_CellDescriptionList zeroed_val := {{0, 0, 0}}; + for (var integer i := 3; i < 80; i := i + 1) { + cell_list := cell_list & zeroed_val; + } + + IPA_OSMO_PCU.send(ts_PCUIF_ANR_REQ(0, lengthof(cell_list), cell_list)); + T.start; + alt { + [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_ANR_REQ(0, lengthof(cell_list), cell_list))) { + setverdict(pass); + } + [] PCU.receive(PCUIF_send_data:?) -> value pcu_sd_msg { + setverdict(fail, "Unexpected message received: ", pcu_sd_msg.data, " vs exp: ", + t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_ANR_REQ(0, lengthof(cell_list), cell_list))); + } + [] T.timeout { setverdict(fail, "Timeout waiting for ANR request on PCU inteface");} + } + T.stop; + + var PCUIF_CellDescriptionList cell_list_resp := { + {3, 2, 880}, {3, 1, 880}, {3, 1, 887} + }; + var PCUIF_RxLevList rxlev_list := { 40, 255, 34 }; + for (var integer i := 3; i < 32; i := i + 1) { + cell_list_resp := cell_list_resp & zeroed_val; + rxlev_list := rxlev_list & {0}; + } + /* Send back the response: */ + PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_ANR_CNF(0, lengthof(cell_list_resp), cell_list_resp, rxlev_list))) + T.start; + alt { + [] IPA_OSMO_PCU.receive(tr_PCUIF_ANR_CNF(0, lengthof(cell_list_resp), cell_list_resp, rxlev_list)) { + setverdict(pass); + } + [] IPA_OSMO_PCU.receive(PCUIF_Message:?) -> value msg_rx { + setverdict(fail, "Unexpected message received: ", msg_rx, " vs exp: ", + tr_PCUIF_ANR_CNF(0, lengthof(cell_list_resp), cell_list_resp, rxlev_list)); + } + [] T.timeout { setverdict(fail, "Timeout waiting for ANR request on BSC inteface");} + } + setverdict(pass); +} + control { execute( TC_wrong_mdisc() ); @@ -634,6 +758,8 @@ execute( TC_ts_opstart_noattr() ); execute( TC_initial_state_reports() ); execute( TC_ipa_rsl_connect_nack() ); + + execute( TC_ipa_osmo_pcu_anr_fwd() ); } /* BTS: diff --git a/library/AbisOML_Types.ttcn b/library/AbisOML_Types.ttcn index 5997543..63dab7b 100644 --- a/library/AbisOML_Types.ttcn +++ b/library/AbisOML_Types.ttcn @@ -1226,6 +1226,21 @@ return resp; } +function f_OML_FOM_IE_List_get_ie(OML_FOM_IE_List ie_list, OML_FOM_IE_Type iei) return OML_FOM_IE_Body +{ + for (var integer i := 0; i < lengthof(ie_list); i := i + 1) { + if (ie_list[i].iei == iei) { + return ie_list[i].body; + } + } + var OML_FOM_IE_Body dummy; + return dummy; /*TODO: setverdict(fail?) */ +} + +function f_OML_FOM_get_ie(OML_FOM fom, OML_FOM_IE_Type iei) return OML_FOM_IE_Body +{ + return f_OML_FOM_IE_List_get_ie(fom.ies, iei); +} /*********************************************************************** diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 9d6b023..9c83a44 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -36,7 +36,9 @@ PCU_IF_MSG_ACT_REQ ('40'O), PCU_IF_MSG_TIME_IND ('52'O), PCU_IF_MSG_PAG_REQ ('60'O), - PCU_IF_MSG_TXT_IND ('70'O) + PCU_IF_MSG_TXT_IND ('70'O), + PCU_IF_MSG_ANR_REQ ('80'O), + PCU_IF_MSG_ANR_CNF ('81'O) } with { variant "FIELDLENGTH(8)" }; type enumerated PCUIF_Sapi { @@ -244,6 +246,25 @@ variant (tlli) "BYTEORDER(last)" }; +type record PCUIF_CellDescriptionV { + uint3_t bcc, /* PLMN colour code */ + uint3_t ncc, /* BS colour code */ + uint10_t bcch_arfcn +} with { variant "FIELDORDER(lsb)" }; +type set of PCUIF_CellDescriptionV PCUIF_CellDescriptionList; +type set of uint8_t PCUIF_RxLevList; + +type record PCUIF_anr_req { + uint8_t num_cells, + PCUIF_CellDescriptionList cell_list +} with { variant (cell_list) "FIELDLENGTH(80)" }; + +type record PCUIF_anr_cnf { + uint8_t num_cells, + PCUIF_CellDescriptionList cell_list, + PCUIF_RxLevList rxlev_list +} with { variant (cell_list) "FIELDLENGTH(32)" + variant (rxlev_list) "FIELDLENGTH(32)" }; type union PCUIF_MsgUnion { PCUIF_data data_req, @@ -258,7 +279,9 @@ PCUIF_act_req act_req, PCUIF_time_ind time_ind, PCUIF_pag_req pag_req, - PCUIF_app_info_req app_info_req + PCUIF_app_info_req app_info_req, + PCUIF_anr_req anr_req, + PCUIF_anr_cnf anr_cnf } with { variant "" }; type record PCUIF_Message { @@ -279,7 +302,9 @@ act_req, msg_type = PCU_IF_MSG_ACT_REQ; time_ind, msg_type = PCU_IF_MSG_TIME_IND; pag_req, msg_type = PCU_IF_MSG_PAG_REQ; - app_info_req, msg_type = PCU_IF_MSG_APP_INFO_REQ)" + app_info_req, msg_type = PCU_IF_MSG_APP_INFO_REQ; + anr_req, msg_type = PCU_IF_MSG_ANR_REQ; + anr_cnf, msg_type = PCU_IF_MSG_ANR_CNF)" /* PCUIFv10: 1006 * 8 = 8048 bits */ variant "PADDING(8048)" }; @@ -937,6 +962,59 @@ } } +template (value) PCUIF_Message ts_PCUIF_ANR_REQ(uint8_t bts_nr, uint8_t num_cells, PCUIF_CellDescriptionList cell_list) := { + msg_type := PCU_IF_MSG_ANR_REQ, + bts_nr := bts_nr, + spare := '0000'O, + u := { + anr_req := { + num_cells := num_cells, + cell_list := cell_list + } + } +} +template (present) PCUIF_Message tr_PCUIF_ANR_REQ(template (present) uint8_t bts_nr, + template (present) uint8_t num_cells, + template (present) PCUIF_CellDescriptionList cell_list) := { + msg_type := PCU_IF_MSG_ANR_REQ, + bts_nr := bts_nr, + spare := '0000'O, + u := { + anr_req := { + num_cells := num_cells, + cell_list := cell_list + } + } +} + +template (value) PCUIF_Message ts_PCUIF_ANR_CNF(uint8_t bts_nr, uint8_t num_cells, PCUIF_CellDescriptionList cell_list, + PCUIF_RxLevList rxlev_list) := { + msg_type := PCU_IF_MSG_ANR_CNF, + bts_nr := bts_nr, + spare := '0000'O, + u := { + anr_cnf := { + num_cells := num_cells, + cell_list := cell_list, + rxlev_list := rxlev_list + } + } +} +template (present) PCUIF_Message tr_PCUIF_ANR_CNF(template (present) uint8_t bts_nr, + template (present) uint8_t num_cells, + template (present) PCUIF_CellDescriptionList cell_list, + template (present) PCUIF_RxLevList rxlev_list) := { + msg_type := PCU_IF_MSG_ANR_CNF, + bts_nr := bts_nr, + spare := '0000'O, + u := { + anr_cnf := { + num_cells := num_cells, + cell_list := cell_list, + rxlev_list := rxlev_list + } + } +} function f_PCUIF_PDCHMask_set(inout PCUIF_info_ind info, BIT8 pdch_mask, template (present) uint8_t trx_nr := ?) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24657 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3012ce612f78e661fd46b608a0bf67e038e136f Gerrit-Change-Number: 24657 Gerrit-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 Jun 14 11:52:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 14 Jun 2021 11:52:22 +0000 Subject: Change in osmo-bsc[master]: Introduce ANR support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24550 ) Change subject: Introduce ANR support ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I21beb4e5c101157cd0977fd9a607c2fe5350befe Gerrit-Change-Number: 24550 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 14 Jun 2021 11:52:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 14 11:52:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 14 Jun 2021 11:52:25 +0000 Subject: Change in osmo-bsc[master]: Introduce ANR support 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/+/24550 to look at the new patch set (#3). Change subject: Introduce ANR support ...................................................................... Introduce ANR support See doc/manuals/chapters/anr.adoc introduced in this commit for a full description. Related: SYS#5303 Change-Id: I21beb4e5c101157cd0977fd9a607c2fe5350befe --- A doc/manuals/chapters/anr.adoc M doc/manuals/osmobsc-usermanual.adoc M include/osmocom/bsc/Makefile.am A include/osmocom/bsc/abis_osmo.h M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_04_08_rr.h M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/neighbor_ident.h M include/osmocom/bsc/pcuif_proto.h M include/osmocom/bsc/vty.h M src/ipaccess/Makefile.am M src/ipaccess/ipaccess-config.c M src/ipaccess/ipaccess-proxy.c M src/osmo-bsc/Makefile.am A src/osmo-bsc/abis_osmo.c M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts.c M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/neighbor_ident_vty.c M src/osmo-bsc/osmo_bsc_main.c M src/utils/Makefile.am M src/utils/bs11_config.c M src/utils/meas_json.c M tests/abis/Makefile.am M tests/abis/abis_test.c M tests/acc/Makefile.am M tests/acc/acc_test.c M tests/bsc/Makefile.am M tests/gsm0408/Makefile.am M tests/handover/Makefile.am M tests/nanobts_omlattr/Makefile.am M tests/nanobts_omlattr/nanobts_omlattr_test.c 34 files changed, 706 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/50/24550/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I21beb4e5c101157cd0977fd9a607c2fe5350befe Gerrit-Change-Number: 24550 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 14 11:53:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 14 Jun 2021 11:53:09 +0000 Subject: Change in osmo-bts[master]: pcu_sock: Transmit SI2 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24617 ) Change subject: pcu_sock: Transmit SI2 ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24617 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If70c64f941f621a9a68aef2c846639b5c7f2f74b Gerrit-Change-Number: 24617 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 14 Jun 2021 11:53:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 14 11:53:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 14 Jun 2021 11:53:16 +0000 Subject: Change in osmo-bts[master]: pcuif_proto.h: Introduce anr_{req, cnf} messages In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24618 ) Change subject: pcuif_proto.h: Introduce anr_{req,cnf} messages ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8deef11f9ec191475c99133629cd5cd9048c4bcb Gerrit-Change-Number: 24618 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 14 Jun 2021 11:53:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 14 11:53:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 14 Jun 2021 11:53:19 +0000 Subject: Change in osmo-bts[master]: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24619 ) Change subject: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I73fdb17107494ade9263a62d1f729e67303fce87 Gerrit-Change-Number: 24619 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 14 Jun 2021 11:53:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 14 11:54:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 14 Jun 2021 11:54:51 +0000 Subject: Change in osmo-bts[master]: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24619 ) Change subject: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU ...................................................................... Patch Set 3: > Patch Set 2: > > I think using "osmo" is misleading here. Everything we do is osmo. > > So I think it's better to come up with some random acronym or other term that is unique for this use case. like AOE (abis osmocom extensions) or OPAE (osmocom private abis extension) or whatever else you see fit Can you point me to which parts should I change in your opinion? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I73fdb17107494ade9263a62d1f729e67303fce87 Gerrit-Change-Number: 24619 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 14 Jun 2021 11:54: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 Jun 14 12:16:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 14 Jun 2021 12:16:08 +0000 Subject: Change in osmo-bsc[master]: Introduce ANR support 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/+/24550 to look at the new patch set (#4). Change subject: Introduce ANR support ...................................................................... Introduce ANR support See doc/manuals/chapters/anr.adoc introduced in this commit for a full description. Related: SYS#5303 Change-Id: I21beb4e5c101157cd0977fd9a607c2fe5350befe --- A doc/manuals/chapters/anr.adoc M doc/manuals/osmobsc-usermanual.adoc M include/osmocom/bsc/Makefile.am A include/osmocom/bsc/abis_osmo.h M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_04_08_rr.h M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/neighbor_ident.h M include/osmocom/bsc/pcuif_proto.h M include/osmocom/bsc/vty.h M src/ipaccess/Makefile.am M src/ipaccess/ipaccess-config.c M src/ipaccess/ipaccess-proxy.c M src/osmo-bsc/Makefile.am A src/osmo-bsc/abis_osmo.c M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts.c M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/neighbor_ident_vty.c M src/osmo-bsc/osmo_bsc_main.c M src/utils/Makefile.am M src/utils/bs11_config.c M src/utils/meas_json.c M tests/abis/Makefile.am M tests/abis/abis_test.c M tests/acc/Makefile.am M tests/acc/acc_test.c M tests/bsc/Makefile.am M tests/gsm0408/Makefile.am M tests/handover/Makefile.am M tests/nanobts_omlattr/Makefile.am M tests/nanobts_omlattr/nanobts_omlattr_test.c 34 files changed, 705 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/50/24550/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I21beb4e5c101157cd0977fd9a607c2fe5350befe Gerrit-Change-Number: 24550 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 14 13:22:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 14 Jun 2021 13:22:47 +0000 Subject: Change in osmo-bsc[master]: Introduce ANR support 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/+/24550 to look at the new patch set (#5). Change subject: Introduce ANR support ...................................................................... Introduce ANR support See doc/manuals/chapters/anr.adoc introduced in this commit for a full description. Related: SYS#5303 Change-Id: I21beb4e5c101157cd0977fd9a607c2fe5350befe --- A doc/manuals/chapters/anr.adoc M doc/manuals/osmobsc-usermanual.adoc M include/osmocom/bsc/Makefile.am A include/osmocom/bsc/abis_osmo.h M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_04_08_rr.h M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/neighbor_ident.h M include/osmocom/bsc/pcuif_proto.h M include/osmocom/bsc/vty.h M src/ipaccess/Makefile.am M src/ipaccess/ipaccess-config.c M src/ipaccess/ipaccess-proxy.c M src/osmo-bsc/Makefile.am A src/osmo-bsc/abis_osmo.c M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts.c M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/neighbor_ident_vty.c M src/osmo-bsc/osmo_bsc_main.c M src/utils/Makefile.am M src/utils/bs11_config.c M src/utils/meas_json.c M tests/abis/Makefile.am M tests/abis/abis_test.c M tests/acc/Makefile.am M tests/acc/acc_test.c M tests/bsc/Makefile.am M tests/gsm0408/Makefile.am M tests/handover/Makefile.am M tests/nanobts_omlattr/Makefile.am M tests/nanobts_omlattr/nanobts_omlattr_test.c 34 files changed, 705 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/50/24550/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I21beb4e5c101157cd0977fd9a607c2fe5350befe Gerrit-Change-Number: 24550 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 14 15:46:16 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 14 Jun 2021 15:46:16 +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 1: (8 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24600/1/doc/manuals/chapters/control.adoc File doc/manuals/chapters/control.adoc: https://gerrit.osmocom.org/c/osmo-bsc/+/24600/1/doc/manuals/chapters/control.adoc at 41 PS1, Line 41: |handover_ho_active|RW|No|"0","1","default"|Enable/disable handover. be aware that (almost?) all handover, handover1 and handover2 vty commands exist on the 'network' node *as well as* on each 'bts' node. (These are overlayed; a BTS that has no value set uses the 'network' node's defaults) So to be complete there should also be bts.N.handover* nodes 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) > Ack i understand: the macros that were invented for VTY are now used for CTRL. Now we have argument descriptions in string literals, like "<0-255>" or "fr|hr", because those can be conveniently dropped in place in the vty code, and we get validation for free from vty.c. For CTRL arguments, there is no implicit argument range checking. pmaier's implementation parses the string literal that is describing the argument in vty syntax, in order to validate that the CTRL user passed valid arguments. Essentially this is a duplication of the argument validation code in vty/command.c cmd_match(). I would prefer to expose that cmd_match() as public API and use that here instead of re-implementing the parser. Can you try whether that works out? https://gerrit.osmocom.org/c/osmo-bsc/+/24600/1/src/osmo-bsc/handover_ctrl.c at 80 PS1, Line 80: CTRL_CMD_DEFINE(NAME, "handover_"#NAME); \ The vty command name is in VTY_CMD; NAME is the name used in C code. The difference by some examples: NAME VTY0 VTY_CMD algorithm "" handover algorithm hodec1_pwr_interval handover1 power budget interval hodec2_rxlev_avg_win handover2 window rxlev averaging it's a neat trick to just use the C name on the CTRL interface, because then we are guaranteed to use an unambiguous keyword without special characters. However what I don't like that much is that now the naming on the CTRL is quite different from on the VTY. The discrepancy in naming I think came from legacy code and it was acceptable as long as it was hidden in the code. But on the public CTRL, it would be nicer to use CTRL cmd names that are exactly like VTY_CMD, just with underscores for spaces. I see these ways: 1) adjust the #NAME strings to more exactly match the VTY command string. for that we need to also replace the strings in the handover C code (where osmo-bsc queries the config). 2) add another argument to HO_CFG_ONE_MEMBER that is exactly the CTRL command. I prefer 1). Also I would like to see scoping as: handover.* , handover1.* and handover2.* So for example, instead of handover_hodec2_rxlev_avg_win I would like to see handover2.window_rxlev_averaging bts.N.handover2.window_rxlev_averaging https://gerrit.osmocom.org/c/osmo-bsc/+/24600/1/src/osmo-bsc/handover_ctrl.c at 88 PS1, Line 88: cmd->reply = talloc_asprintf(cmd, VTY_WRITE_FMT, VTY_WRITE_CONV(val)); \ > why are we using VTY stuff here? Are these fmts safe for ctrl interface? [?] the HO_CFG_ONE_MEMBER() has arguments called VTY_WRITE_FMT and VTY_WRITE_CONV. That's because the macro scheme was invented to avoid code dup and copy paste errors in the handover VTY configuration. Now the same are being used for CTRL. We maybe could rename the macro arguments to be more general, like just drop all the VTY_ prefixes across handover_cfg.*? Anyway, that would be cosmetic noise, not really harmful if we keep the names and drop a comment above for others wondering the same thing https://gerrit.osmocom.org/c/osmo-bsc/+/24600/1/src/osmo-bsc/handover_ctrl.c at 98 PS1, Line 98: if (strcmp(cmd->value, "default") == 0) \ (before '\' should be space, not tab) https://gerrit.osmocom.org/c/osmo-bsc/+/24600/1/src/osmo-bsc/handover_ctrl.c at 114 PS1, Line 114: #undef HO_CFG_ONE_MEMBER please insert spacing here. The above two lines belong with the HO_CFG_ONE_MEMBER() definition above. Below CTRL_CMD_DEFINE is unrelated. https://gerrit.osmocom.org/c/osmo-bsc/+/24600/1/src/osmo-bsc/handover_ctrl.c at 161 PS1, Line 161: rc |= ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_##NAME);\ (usually no '\' on last line; if you want to keep it maybe add a space before it) https://gerrit.osmocom.org/c/osmo-bsc/+/24600/1/src/osmo-bsc/handover_ctrl.c at 163 PS1, Line 163: HO_CFG_ALL_MEMBERS > For improved readability it may make sense to move HO_CFG_ALL_MEMBERS at the end of the list here. [?] @pespin i don't understand what you mean it looks fine to me: defines a local impl of HO_CFG_ONE_MEMBER, then "calls" HO_CFG_ALL_MEMBERS to apply the HO_CFG_ONE_MEMBER definition to each ho cfg item, then undef HO_CFG_ONE_MEMBER again. -- 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: 1 Gerrit-Owner: dexter Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 14 Jun 2021 15:46:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge 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 Jun 14 15:59:22 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 14 Jun 2021 15:59:22 +0000 Subject: Change in osmo-bts[master]: paging: prioritize ps related paging over cs related pagings. References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24658 ) Change subject: paging: prioritize ps related paging over cs related pagings. ...................................................................... paging: prioritize ps related paging over cs 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 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 src/common/paging.c 1 file changed, 41 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/58/24658/1 diff --git a/src/common/paging.c b/src/common/paging.c index 2973141..8924471 100644 --- a/src/common/paging.c +++ b/src/common/paging.c @@ -80,8 +80,33 @@ /* 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; }; +/* Upper queue fill level in %, when execeeed prioritization is turned on */ +#define THRESHOLD_CONGESTED 66 +/* Lower queue fill level in %, when reached prioritization is turned off again */ +#define THRESHOLD_CLEAR 50 + +/* 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 = true; + 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 +206,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) { @@ -244,6 +271,15 @@ struct paging_record *pr; uint16_t imsi, paging_group; + check_congestion(ps); + + if (ps->cs_priority_active) { + 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); + return -ENOSPC; + } + if (len != GSM_MACBLOCK_LEN + 3) { LOGP(DPAG, LOGL_ERROR, "IMM.ASS invalid length %d\n", len); return -EINVAL; @@ -530,6 +566,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 +751,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]); -- 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: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 14 16:01:01 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 14 Jun 2021 16:01:01 +0000 Subject: Change in osmo-bts[master]: paging: prioritize CS related paging over PS related pagings. In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#2). ( 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 src/common/paging.c 1 file changed, 41 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/58/24658/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: 2 Gerrit-Owner: dexter Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 14 16:05:59 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 14 Jun 2021 16:05:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sgsn a54 tests In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24629 ) Change subject: sgsn a54 tests ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iad65cbf9840aa883cb34e53554b94a4142c82638 Gerrit-Change-Number: 24629 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 14 Jun 2021 16:05: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 Jun 14 16:11:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 14 Jun 2021 16:11:02 +0000 Subject: Change in osmo-bts[master]: paging: prioritize CS related paging over PS related pagings. In-Reply-To: References: Message-ID: pespin 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 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24658/2/src/common/paging.c File src/common/paging.c: https://gerrit.osmocom.org/c/osmo-bts/+/24658/2/src/common/paging.c at 277 PS2, Line 277: LOGP(DPAG, LOGL_NOTICE, "Dropping paging for PS, queue congested (%u)\n", Why dropping instead of simply prioritizing during Um scheduling time? AFAIU we are already dropping pagings which are queued for too long right? -- 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: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 14 Jun 2021 16:11:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 14 16:14:11 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 14 Jun 2021 16:14:11 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: enable TRXDv2 protocol support In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24020 ) Change subject: trx_toolkit/data_msg.py: enable TRXDv2 protocol support ...................................................................... Patch Set 2: Code-Review+1 This looks good, but the jenkins build failed, however the jenkins URL leads to a "HTTP ERROR 404 Not Found". Probably the build info has expired or something. Can you resubmit the patch so that it gets built once more? -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24020 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ib76138ec6523970fca43a4d69919c178f5a4b411 Gerrit-Change-Number: 24020 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 14 Jun 2021 16:14:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 14 16:32:36 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 14 Jun 2021 16:32:36 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement outbound SNS DEL procedures In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24591 ) Change subject: gprs_ns2_sns: implement outbound SNS DEL procedures ...................................................................... Patch Set 4: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/24591/4/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/24591/4/src/gb/gprs_ns2_sns.c at a1907 PS4, Line 1907: WS https://gerrit.osmocom.org/c/libosmocore/+/24591/4/src/gb/gprs_ns2_sns.c at 2103 PS4, Line 2103: LOGPFSML(fi, LOGL_ERROR, "NSE %d: weight become invalid because of removing bind %s. Resetting the configuration\n", Maybe "became", or "has become" is better? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I53cd54dfd262c70c425c3f13dad3b29526daa523 Gerrit-Change-Number: 24591 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 14 Jun 2021 16:32: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 Mon Jun 14 20:15:03 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 14 Jun 2021 20:15:03 +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 1: (7 comments) Thanks for reviewing this. I have fixed the easy parts. Unfortunately I did not notice the handover commands on network level. I will have another look at this tomorrow. https://gerrit.osmocom.org/c/osmo-bsc/+/24600/1/doc/manuals/chapters/control.adoc File doc/manuals/chapters/control.adoc: https://gerrit.osmocom.org/c/osmo-bsc/+/24600/1/doc/manuals/chapters/control.adoc at 41 PS1, Line 41: |handover_ho_active|RW|No|"0","1","default"|Enable/disable handover. > be aware that (almost?) all handover, handover1 and handover2 vty commands exist on the 'network' no [?] I did not notice that. This probably means that I have dig a bit deeper. I only noticed the handover commands on network level. 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) > i understand: the macros that were invented for VTY are now used for CTRL. [?] The function cmd_match is a bit strange, I could not make it work, but I from the code I can see that it uses cmd_range_match() to match the range. This works fine for me. However, even in cmd_match, I did not see any code that matches the choice strings ("test1|test2|test3"). https://gerrit.osmocom.org/c/osmo-bsc/+/24600/1/src/osmo-bsc/handover_ctrl.c at 88 PS1, Line 88: cmd->reply = talloc_asprintf(cmd, VTY_WRITE_FMT, VTY_WRITE_CONV(val)); \ > the HO_CFG_ONE_MEMBER() has arguments called VTY_WRITE_FMT and VTY_WRITE_CONV. [?] I think putting a comment might sufficient. https://gerrit.osmocom.org/c/osmo-bsc/+/24600/1/src/osmo-bsc/handover_ctrl.c at 98 PS1, Line 98: if (strcmp(cmd->value, "default") == 0) \ > (before '\' should be space, not tab) Done https://gerrit.osmocom.org/c/osmo-bsc/+/24600/1/src/osmo-bsc/handover_ctrl.c at 114 PS1, Line 114: #undef HO_CFG_ONE_MEMBER > please insert spacing here. [?] Done https://gerrit.osmocom.org/c/osmo-bsc/+/24600/1/src/osmo-bsc/handover_ctrl.c at 161 PS1, Line 161: rc |= ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_##NAME);\ > (usually no '\' on last line; if you want to keep it maybe add a space before it) Done https://gerrit.osmocom.org/c/osmo-bsc/+/24600/1/src/osmo-bsc/handover_ctrl.c at 163 PS1, Line 163: HO_CFG_ALL_MEMBERS > @pespin i don't understand what you mean [?] Probably we should list the manually defined commands first and then proceed with the auto generated commands. -- 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: 1 Gerrit-Owner: dexter Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 14 Jun 2021 20:15:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Comment-In-Reply-To: laforge 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 Jun 14 21:56:30 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 14 Jun 2021 21:56:30 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/transceiver.py: allow NOPE.ind on inactive timeslots References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24659 ) Change subject: trx_toolkit/transceiver.py: allow NOPE.ind on inactive timeslots ...................................................................... trx_toolkit/transceiver.py: allow NOPE.ind on inactive timeslots Change-Id: I27a3c8897cb82f6c264d34702c4ec64561bb9809 Related: SYS#5313, OS#1569 --- M src/target/trx_toolkit/transceiver.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/59/24659/1 diff --git a/src/target/trx_toolkit/transceiver.py b/src/target/trx_toolkit/transceiver.py index d041070..f6b0551 100644 --- a/src/target/trx_toolkit/transceiver.py +++ b/src/target/trx_toolkit/transceiver.py @@ -269,7 +269,7 @@ return None # Make sure that indicated timeslot is configured - if msg.tn not in self.ts_list: + if msg.tn not in self.ts_list and msg.burst: log.warning("(%s) RX TRXD message (%s), but timeslot is not " "configured => dropping..." % (self, msg.desc_hdr())) return None -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24659 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I27a3c8897cb82f6c264d34702c4ec64561bb9809 Gerrit-Change-Number: 24659 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 Jun 14 21:56:31 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 14 Jun 2021 21:56:31 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: cosmetic: move TDMA frame number calculation References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24660 ) Change subject: trxcon/scheduler: cosmetic: move TDMA frame number calculation ...................................................................... trxcon/scheduler: cosmetic: move TDMA frame number calculation Change-Id: I79efdfa543d37889dc6749eb25aab4e1639749c6 --- M src/host/trxcon/sched_trx.c 1 file changed, 5 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/60/24660/1 diff --git a/src/host/trxcon/sched_trx.c b/src/host/trxcon/sched_trx.c index 0025e0c..91310c0 100644 --- a/src/host/trxcon/sched_trx.c +++ b/src/host/trxcon/sched_trx.c @@ -50,9 +50,13 @@ enum trx_lchan_type chan; uint8_t offset, bid; struct trx_ts *ts; - uint32_t fn; int i; + /* Advance TDMA frame number in order to give the transceiver + * more time to handle the burst before the actual transmission. */ + const uint32_t fn = GSM_TDMA_FN_SUM(sched->fn_counter_proc, + sched->fn_counter_advance); + /* Iterate over timeslot list */ for (i = 0; i < TRX_TS_COUNT; i++) { /* Timeslot is not allocated */ @@ -64,12 +68,6 @@ if (ts->mf_layout == NULL) continue; - /** - * Advance frame number, giving the transceiver more - * time until a burst must be transmitted... - */ - fn = GSM_TDMA_FN_SUM(sched->fn_counter_proc, sched->fn_counter_advance); - /* Get frame from multiframe */ offset = fn % ts->mf_layout->period; frame = ts->mf_layout->frames + offset; -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24660 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I79efdfa543d37889dc6749eb25aab4e1639749c6 Gerrit-Change-Number: 24660 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 Jun 14 21:56:31 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 14 Jun 2021 21:56:31 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: introduce and use struct sched_burst_req References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24661 ) Change subject: trxcon/scheduler: introduce and use struct sched_burst_req ...................................................................... trxcon/scheduler: introduce and use struct sched_burst_req Similar to what we do in osmo-bts-trx, group everything related to a to be transmitted burst into a structure. Pass a pointer to this structure to the logical channel handlers. Thus makes the code easier to read, and facilitates sending NOPE indications to the transceiver (will be introduced in the upcoming patch). Get rid of sched_trx_handle_tx_burst(), and instead just call sched_trx_a5_burst_enc() directly from sched_frame_clck_cb(). Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Related: SYS#5313, OS#1569 --- M src/host/trxcon/sched_lchan_desc.c M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_rach.c M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_tchh.c M src/host/trxcon/sched_lchan_xcch.c M src/host/trxcon/sched_trx.c M src/host/trxcon/sched_trx.h M src/host/trxcon/trx_if.c M src/host/trxcon/trx_if.h 10 files changed, 146 insertions(+), 162 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/61/24661/1 diff --git a/src/host/trxcon/sched_lchan_desc.c b/src/host/trxcon/sched_lchan_desc.c index 2c3c3b2..b6a72b3 100644 --- a/src/host/trxcon/sched_lchan_desc.c +++ b/src/host/trxcon/sched_lchan_desc.c @@ -34,35 +34,40 @@ const sbit_t *bits, const struct trx_meas_set *meas); int tx_data_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); + struct trx_lchan_state *lchan, + struct sched_burst_req *br); int rx_sch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, const sbit_t *bits, const struct trx_meas_set *meas); int tx_rach_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); + struct trx_lchan_state *lchan, + struct sched_burst_req *br); int rx_tchf_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, const sbit_t *bits, const struct trx_meas_set *meas); int tx_tchf_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); + struct trx_lchan_state *lchan, + struct sched_burst_req *br); int rx_tchh_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, const sbit_t *bits, const struct trx_meas_set *meas); int tx_tchh_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); + struct trx_lchan_state *lchan, + struct sched_burst_req *br); int rx_pdtch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, const sbit_t *bits, const struct trx_meas_set *meas); int tx_pdtch_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); + struct trx_lchan_state *lchan, + struct sched_burst_req *br); const struct trx_lchan_desc trx_lchan_desc[_TRX_CHAN_MAX] = { [TRXC_IDLE] = { diff --git a/src/host/trxcon/sched_lchan_pdtch.c b/src/host/trxcon/sched_lchan_pdtch.c index 6a68489..abbd480 100644 --- a/src/host/trxcon/sched_lchan_pdtch.c +++ b/src/host/trxcon/sched_lchan_pdtch.c @@ -2,7 +2,8 @@ * OsmocomBB <-> SDR connection bridge * TDMA scheduler: handlers for DL / UL bursts on logical channels * - * (C) 2018-2020 by Vadim Yanitskiy + * (C) 2018-2021 by Vadim Yanitskiy + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -117,10 +118,10 @@ int tx_pdtch_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid) + struct trx_lchan_state *lchan, + struct sched_burst_req *br) { const struct trx_lchan_desc *lchan_desc; - ubit_t burst[GSM_BURST_LEN]; ubit_t *buffer, *offset; const uint8_t *tsc; uint8_t *mask; @@ -131,7 +132,7 @@ mask = &lchan->tx_burst_mask; buffer = lchan->tx_bursts; - if (bid > 0) { + if (br->bid > 0) { /* If we have encoded bursts */ if (*mask) goto send_burst; @@ -155,40 +156,29 @@ send_burst: /* Determine which burst should be sent */ - offset = buffer + bid * 116; + offset = buffer + br->bid * 116; /* Update mask */ - *mask |= (1 << bid); + *mask |= (1 << br->bid); /* Choose proper TSC */ tsc = sched_nb_training_bits[trx->tsc]; /* Compose a new burst */ - memset(burst, 0, 3); /* TB */ - memcpy(burst + 3, offset, 58); /* Payload 1/2 */ - memcpy(burst + 61, tsc, 26); /* TSC */ - memcpy(burst + 87, offset + 58, 58); /* Payload 2/2 */ - memset(burst + 145, 0, 3); /* TB */ + memset(br->burst, 0, 3); /* TB */ + memcpy(br->burst + 3, offset, 58); /* Payload 1/2 */ + memcpy(br->burst + 61, tsc, 26); /* TSC */ + memcpy(br->burst + 87, offset + 58, 58); /* Payload 2/2 */ + memset(br->burst + 145, 0, 3); /* TB */ + br->burst_len = GSM_BURST_LEN; - LOGP(DSCHD, LOGL_DEBUG, "Transmitting %s fn=%u ts=%u burst=%u\n", - lchan_desc->name, fn, ts->index, bid); - - /* Forward burst to scheduler */ - rc = sched_trx_handle_tx_burst(trx, ts, lchan, fn, burst); - if (rc) { - /* Forget this primitive */ - sched_prim_drop(lchan); - - /* Reset mask */ - *mask = 0x00; - - return rc; - } + LOGP(DSCHD, LOGL_DEBUG, "Scheduled %s fn=%u ts=%u burst=%u\n", + lchan_desc->name, br->fn, ts->index, br->bid); /* If we have sent the last (4/4) burst */ if ((*mask & 0x0f) == 0x0f) { /* Confirm data / traffic sending */ - sched_send_dt_conf(trx, ts, lchan, fn, true); + sched_send_dt_conf(trx, ts, lchan, br->fn, true); /* Forget processed primitive */ sched_prim_drop(lchan); diff --git a/src/host/trxcon/sched_lchan_rach.c b/src/host/trxcon/sched_lchan_rach.c index fe5821b..25e1b44 100644 --- a/src/host/trxcon/sched_lchan_rach.c +++ b/src/host/trxcon/sched_lchan_rach.c @@ -2,7 +2,8 @@ * OsmocomBB <-> SDR connection bridge * TDMA scheduler: handlers for DL / UL bursts on logical channels * - * (C) 2017-2019 by Vadim Yanitskiy + * (C) 2017-2021 by Vadim Yanitskiy + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -77,13 +78,13 @@ /* Obtain a to-be-transmitted RACH burst */ int tx_rach_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid) + struct trx_lchan_state *lchan, + struct sched_burst_req *br) { struct l1ctl_ext_rach_req *ext_req = NULL; struct l1ctl_rach_req *req = NULL; enum rach_synch_seq_t synch_seq; - uint8_t burst[GSM_BURST_LEN]; - uint8_t *burst_ptr = burst; + uint8_t *burst_ptr = br->burst; uint8_t payload[36]; int i, rc; @@ -155,27 +156,19 @@ burst_ptr += RACH_PAYLOAD_LEN; /* BN85-156: tail bits & extended guard period */ - memset(burst_ptr, 0, burst + GSM_BURST_LEN - burst_ptr); + memset(burst_ptr, 0, br->burst + GSM_BURST_LEN - burst_ptr); + br->burst_len = GSM_BURST_LEN; - LOGP(DSCHD, LOGL_NOTICE, "Transmitting %s RACH (%s) on fn=%u, tn=%u, lchan=%s\n", + LOGP(DSCHD, LOGL_NOTICE, "Scheduled %s RACH (%s) on fn=%u, tn=%u, lchan=%s\n", PRIM_IS_RACH11(lchan->prim) ? "extended (11-bit)" : "regular (8-bit)", - get_value_string(rach_synch_seq_names, synch_seq), fn, + get_value_string(rach_synch_seq_names, synch_seq), br->fn, ts->index, trx_lchan_desc[lchan->type].name); - /* Forward burst to scheduler */ - rc = sched_trx_handle_tx_burst(trx, ts, lchan, fn, burst); - if (rc) { - /* Forget this primitive */ - sched_prim_drop(lchan); - - return rc; - } - /* Confirm RACH request */ - l1ctl_tx_rach_conf(trx->l1l, trx->band_arfcn, fn); + l1ctl_tx_rach_conf(trx->l1l, trx->band_arfcn, br->fn); /* Optional GSMTAP logging */ - sched_gsmtap_send(lchan->type, fn, ts->index, + sched_gsmtap_send(lchan->type, br->fn, ts->index, trx->band_arfcn | ARFCN_UPLINK, 0, 0, PRIM_IS_RACH11(lchan->prim) ? (uint8_t *) &ext_req->ra11 : &req->ra, PRIM_IS_RACH11(lchan->prim) ? 2 : 1); diff --git a/src/host/trxcon/sched_lchan_tchf.c b/src/host/trxcon/sched_lchan_tchf.c index c5362f0..1e38e96 100644 --- a/src/host/trxcon/sched_lchan_tchf.c +++ b/src/host/trxcon/sched_lchan_tchf.c @@ -2,7 +2,8 @@ * OsmocomBB <-> SDR connection bridge * TDMA scheduler: handlers for DL / UL bursts on logical channels * - * (C) 2017-2020 by Vadim Yanitskiy + * (C) 2017-2021 by Vadim Yanitskiy + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -173,10 +174,10 @@ } int tx_tchf_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid) + struct trx_lchan_state *lchan, + struct sched_burst_req *br) { const struct trx_lchan_desc *lchan_desc; - ubit_t burst[GSM_BURST_LEN]; ubit_t *buffer, *offset; const uint8_t *tsc; uint8_t *mask; @@ -193,7 +194,7 @@ goto send_burst; /* Wait until a first burst in period */ - if (bid > 0) + if (br->bid > 0) return 0; /* Check the current TCH mode */ @@ -257,40 +258,29 @@ send_burst: /* Determine which burst should be sent */ - offset = buffer + bid * 116; + offset = buffer + br->bid * 116; /* Update mask */ - *mask |= (1 << bid); + *mask |= (1 << br->bid); /* Choose proper TSC */ tsc = sched_nb_training_bits[trx->tsc]; /* Compose a new burst */ - memset(burst, 0, 3); /* TB */ - memcpy(burst + 3, offset, 58); /* Payload 1/2 */ - memcpy(burst + 61, tsc, 26); /* TSC */ - memcpy(burst + 87, offset + 58, 58); /* Payload 2/2 */ - memset(burst + 145, 0, 3); /* TB */ + memset(br->burst, 0, 3); /* TB */ + memcpy(br->burst + 3, offset, 58); /* Payload 1/2 */ + memcpy(br->burst + 61, tsc, 26); /* TSC */ + memcpy(br->burst + 87, offset + 58, 58); /* Payload 2/2 */ + memset(br->burst + 145, 0, 3); /* TB */ + br->burst_len = GSM_BURST_LEN; - LOGP(DSCHD, LOGL_DEBUG, "Transmitting %s fn=%u ts=%u burst=%u\n", - lchan_desc->name, fn, ts->index, bid); - - /* Forward burst to scheduler */ - rc = sched_trx_handle_tx_burst(trx, ts, lchan, fn, burst); - if (rc) { - /* Forget this primitive */ - sched_prim_drop(lchan); - - /* Reset mask */ - *mask = 0x00; - - return rc; - } + LOGP(DSCHD, LOGL_DEBUG, "Scheduled %s fn=%u ts=%u burst=%u\n", + lchan_desc->name, br->fn, ts->index, br->bid); /* If we have sent the last (4/4) burst */ if (*mask == 0x0f) { /* Confirm data / traffic sending */ - sched_send_dt_conf(trx, ts, lchan, fn, PRIM_IS_TCH(lchan->prim)); + sched_send_dt_conf(trx, ts, lchan, br->fn, PRIM_IS_TCH(lchan->prim)); /* Forget processed primitive */ sched_prim_drop(lchan); diff --git a/src/host/trxcon/sched_lchan_tchh.c b/src/host/trxcon/sched_lchan_tchh.c index b6f0708..6a5c471 100644 --- a/src/host/trxcon/sched_lchan_tchh.c +++ b/src/host/trxcon/sched_lchan_tchh.c @@ -2,8 +2,9 @@ * OsmocomBB <-> SDR connection bridge * TDMA scheduler: handlers for DL / UL bursts on logical channels * - * (C) 2018-2020 by Vadim Yanitskiy + * (C) 2018-2021 by Vadim Yanitskiy * (C) 2018 by Harald Welte + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -361,10 +362,10 @@ } int tx_tchh_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid) + struct trx_lchan_state *lchan, + struct sched_burst_req *br) { const struct trx_lchan_desc *lchan_desc; - ubit_t burst[GSM_BURST_LEN]; ubit_t *buffer, *offset; const uint8_t *tsc; uint8_t *mask; @@ -376,7 +377,7 @@ mask = &lchan->tx_burst_mask; buffer = lchan->tx_bursts; - if (bid > 0) { + if (br->bid > 0) { /* Align to the first burst */ if (*mask == 0x00) return 0; @@ -386,7 +387,7 @@ if (*mask == 0x00) { /* Align transmission of the first FACCH/H frame */ if (lchan->tch_mode == GSM48_CMODE_SIGN) - if (!sched_tchh_facch_start(lchan->type, fn, 1)) + if (!sched_tchh_facch_start(lchan->type, br->fn, 1)) return 0; } @@ -459,26 +460,24 @@ send_burst: /* Determine which burst should be sent */ - offset = buffer + bid * 116; + offset = buffer + br->bid * 116; /* Update mask */ - *mask |= (1 << bid); + *mask |= (1 << br->bid); /* Choose proper TSC */ tsc = sched_nb_training_bits[trx->tsc]; /* Compose a new burst */ - memset(burst, 0, 3); /* TB */ - memcpy(burst + 3, offset, 58); /* Payload 1/2 */ - memcpy(burst + 61, tsc, 26); /* TSC */ - memcpy(burst + 87, offset + 58, 58); /* Payload 2/2 */ - memset(burst + 145, 0, 3); /* TB */ + memset(br->burst, 0, 3); /* TB */ + memcpy(br->burst + 3, offset, 58); /* Payload 1/2 */ + memcpy(br->burst + 61, tsc, 26); /* TSC */ + memcpy(br->burst + 87, offset + 58, 58); /* Payload 2/2 */ + memset(br->burst + 145, 0, 3); /* TB */ + br->burst_len = GSM_BURST_LEN; - LOGP(DSCHD, LOGL_DEBUG, "Transmitting %s fn=%u ts=%u burst=%u\n", - lchan_desc->name, fn, ts->index, bid); - - /* Forward burst to transceiver */ - sched_trx_handle_tx_burst(trx, ts, lchan, fn, burst); + LOGP(DSCHD, LOGL_DEBUG, "Scheduled %s fn=%u ts=%u burst=%u\n", + lchan_desc->name, br->fn, ts->index, br->bid); /* In case of a FACCH/H frame, one block less */ if (lchan->ul_facch_blocks) @@ -490,7 +489,7 @@ * confirm data / traffic sending */ if (!lchan->ul_facch_blocks) - sched_send_dt_conf(trx, ts, lchan, fn, + sched_send_dt_conf(trx, ts, lchan, br->fn, PRIM_IS_TCH(lchan->prim)); /* Forget processed primitive */ diff --git a/src/host/trxcon/sched_lchan_xcch.c b/src/host/trxcon/sched_lchan_xcch.c index a0b61ad..41677ec 100644 --- a/src/host/trxcon/sched_lchan_xcch.c +++ b/src/host/trxcon/sched_lchan_xcch.c @@ -2,7 +2,8 @@ * OsmocomBB <-> SDR connection bridge * TDMA scheduler: handlers for DL / UL bursts on logical channels * - * (C) 2017-2020 by Vadim Yanitskiy + * (C) 2017-2021 by Vadim Yanitskiy + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -119,10 +120,10 @@ } int tx_data_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid) + struct trx_lchan_state *lchan, + struct sched_burst_req *br) { const struct trx_lchan_desc *lchan_desc; - ubit_t burst[GSM_BURST_LEN]; ubit_t *buffer, *offset; const uint8_t *tsc; uint8_t *mask; @@ -133,7 +134,7 @@ mask = &lchan->tx_burst_mask; buffer = lchan->tx_bursts; - if (bid > 0) { + if (br->bid > 0) { /* If we have encoded bursts */ if (*mask) goto send_burst; @@ -165,40 +166,29 @@ send_burst: /* Determine which burst should be sent */ - offset = buffer + bid * 116; + offset = buffer + br->bid * 116; /* Update mask */ - *mask |= (1 << bid); + *mask |= (1 << br->bid); /* Choose proper TSC */ tsc = sched_nb_training_bits[trx->tsc]; /* Compose a new burst */ - memset(burst, 0, 3); /* TB */ - memcpy(burst + 3, offset, 58); /* Payload 1/2 */ - memcpy(burst + 61, tsc, 26); /* TSC */ - memcpy(burst + 87, offset + 58, 58); /* Payload 2/2 */ - memset(burst + 145, 0, 3); /* TB */ + memset(br->burst, 0, 3); /* TB */ + memcpy(br->burst + 3, offset, 58); /* Payload 1/2 */ + memcpy(br->burst + 61, tsc, 26); /* TSC */ + memcpy(br->burst + 87, offset + 58, 58); /* Payload 2/2 */ + memset(br->burst + 145, 0, 3); /* TB */ + br->burst_len = GSM_BURST_LEN; - LOGP(DSCHD, LOGL_DEBUG, "Transmitting %s fn=%u ts=%u burst=%u\n", - lchan_desc->name, fn, ts->index, bid); - - /* Forward burst to scheduler */ - rc = sched_trx_handle_tx_burst(trx, ts, lchan, fn, burst); - if (rc) { - /* Forget this primitive */ - sched_prim_drop(lchan); - - /* Reset mask */ - *mask = 0x00; - - return rc; - } + LOGP(DSCHD, LOGL_DEBUG, "Scheduled %s fn=%u ts=%u burst=%u\n", + lchan_desc->name, br->fn, ts->index, br->bid); /* If we have sent the last (4/4) burst */ if ((*mask & 0x0f) == 0x0f) { /* Confirm data sending */ - sched_send_dt_conf(trx, ts, lchan, fn, false); + sched_send_dt_conf(trx, ts, lchan, br->fn, false); /* Forget processed primitive */ sched_prim_drop(lchan); diff --git a/src/host/trxcon/sched_trx.c b/src/host/trxcon/sched_trx.c index 91310c0..c5e28a8 100644 --- a/src/host/trxcon/sched_trx.c +++ b/src/host/trxcon/sched_trx.c @@ -41,14 +41,18 @@ #include "trx_if.h" #include "logging.h" +static void sched_trx_a5_burst_enc(struct trx_lchan_state *lchan, + struct sched_burst_req *br); + static void sched_frame_clck_cb(struct trx_sched *sched) { struct trx_instance *trx = (struct trx_instance *) sched->data; + struct sched_burst_req br[TRX_TS_COUNT]; const struct trx_frame *frame; struct trx_lchan_state *lchan; trx_lchan_tx_func *handler; enum trx_lchan_type chan; - uint8_t offset, bid; + uint8_t offset; struct trx_ts *ts; int i; @@ -59,6 +63,14 @@ /* Iterate over timeslot list */ for (i = 0; i < TRX_TS_COUNT; i++) { + /* Initialize the buffer for this timeslot */ + br[i] = (struct sched_burst_req) { + .fn = fn, + .tn = i, + .pwr = trx->tx_power, + .burst_len = 0, /* NOPE.ind */ + }; + /* Timeslot is not allocated */ ts = trx->ts_list[i]; if (ts == NULL) @@ -73,7 +85,7 @@ frame = ts->mf_layout->frames + offset; /* Get required info from frame */ - bid = frame->ul_bid; + br[i].bid = frame->ul_bid; chan = frame->ul_chan; handler = trx_lchan_desc[chan].tx_fn; @@ -120,8 +132,16 @@ handler = trx_lchan_desc[TRXC_RACH].tx_fn; /* Poke lchan handler */ - handler(trx, ts, lchan, fn, bid); + handler(trx, ts, lchan, &br[i]); + + /* Perform A5/X burst encryption if required */ + if (lchan->a5.algo) + sched_trx_a5_burst_enc(lchan, br); } + + /* Send all bursts for this TDMA frame */ + for (i = 0; i < ARRAY_SIZE(br); i++) + trx_if_tx_burst(trx, &br[i]); } int sched_trx_init(struct trx_instance *trx, uint32_t fn_advance) @@ -602,18 +622,18 @@ } static void sched_trx_a5_burst_enc(struct trx_lchan_state *lchan, - uint32_t fn, ubit_t *burst) + struct sched_burst_req *br) { ubit_t ks[114]; int i; /* Generate keystream for an UL burst */ - osmo_a5(lchan->a5.algo, lchan->a5.key, fn, NULL, ks); + osmo_a5(lchan->a5.algo, lchan->a5.key, br->fn, NULL, ks); /* Apply keystream over plaintext */ for (i = 0; i < 57; i++) { - burst[i + 3] ^= ks[i]; - burst[i + 88] ^= ks[i + 57]; + br->burst[i + 3] ^= ks[i]; + br->burst[i + 88] ^= ks[i + 57]; } } @@ -764,26 +784,6 @@ return 0; } -int sched_trx_handle_tx_burst(struct trx_instance *trx, - struct trx_ts *ts, struct trx_lchan_state *lchan, - uint32_t fn, ubit_t *bits) -{ - int rc; - - /* Perform A5/X burst encryption if required */ - if (lchan->a5.algo) - sched_trx_a5_burst_enc(lchan, fn, bits); - - /* Forward burst to transceiver */ - rc = trx_if_tx_burst(trx, ts->index, fn, trx->tx_power, bits); - if (rc) { - LOGP(DSCHD, LOGL_ERROR, "Could not send burst to transceiver\n"); - return rc; - } - - return 0; -} - #define MEAS_HIST_FIRST(hist) \ (&hist->buf[0]) #define MEAS_HIST_LAST(hist) \ diff --git a/src/host/trxcon/sched_trx.h b/src/host/trxcon/sched_trx.h index fb7ecd4..74b41e3 100644 --- a/src/host/trxcon/sched_trx.h +++ b/src/host/trxcon/sched_trx.h @@ -97,14 +97,27 @@ _TRX_CHAN_MAX }; +/* Represents a burst to be transmitted */ +struct sched_burst_req { + uint32_t fn; + uint8_t tn; + uint8_t pwr; + + /* Internally used by the scheduler */ + uint8_t bid; + + ubit_t burst[EDGE_BURST_LEN]; + size_t burst_len; +}; + typedef int trx_lchan_rx_func(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, const sbit_t *bits, const struct trx_meas_set *meas); -typedef int trx_lchan_tx_func(struct trx_instance *trx, - struct trx_ts *ts, struct trx_lchan_state *lchan, - uint32_t fn, uint8_t bid); +typedef int trx_lchan_tx_func(struct trx_instance *trx, struct trx_ts *ts, + struct trx_lchan_state *lchan, + struct sched_burst_req *br); struct trx_lchan_desc { /*! \brief Human-readable name */ @@ -366,9 +379,6 @@ int sched_trx_handle_rx_burst(struct trx_instance *trx, uint8_t tn, uint32_t fn, sbit_t *bits, uint16_t nbits, const struct trx_meas_set *meas); -int sched_trx_handle_tx_burst(struct trx_instance *trx, - struct trx_ts *ts, struct trx_lchan_state *lchan, - uint32_t fn, ubit_t *bits); /* Shared declarations for lchan handlers */ extern const uint8_t sched_nb_training_bits[8][26]; diff --git a/src/host/trxcon/trx_if.c b/src/host/trxcon/trx_if.c index 716fd23..c4561ce 100644 --- a/src/host/trxcon/trx_if.c +++ b/src/host/trxcon/trx_if.c @@ -629,10 +629,14 @@ return 0; } -int trx_if_tx_burst(struct trx_instance *trx, uint8_t tn, uint32_t fn, - uint8_t pwr, const ubit_t *bits) +int trx_if_tx_burst(struct trx_instance *trx, + const struct sched_burst_req *br) { uint8_t buf[TRXD_BUF_SIZE]; + size_t length; + + if (br->burst_len == 0) + return 0; /** * We must be sure that we have clock, @@ -649,17 +653,20 @@ } #endif - LOGP(DTRXD, LOGL_DEBUG, "TX burst tn=%u fn=%u pwr=%u\n", tn, fn, pwr); + LOGP(DTRXD, LOGL_DEBUG, "TX burst tn=%u fn=%u pwr=%u\n", + br->tn, br->fn, br->pwr); - buf[0] = tn; - osmo_store32be(fn, buf + 1); - buf[5] = pwr; + buf[0] = br->tn; + osmo_store32be(br->fn, buf + 1); + buf[5] = br->pwr; + length = 6; /* Copy ubits {0,1} */ - memcpy(buf + 6, bits, 148); + memcpy(buf + 6, br->burst, br->burst_len); + length += br->burst_len; /* Send data to transceiver */ - send(trx->trx_ofd_data.fd, buf, 154, 0); + send(trx->trx_ofd_data.fd, buf, length, 0); return 0; } diff --git a/src/host/trxcon/trx_if.h b/src/host/trxcon/trx_if.h index 2fafa56..fa66d4a 100644 --- a/src/host/trxcon/trx_if.h +++ b/src/host/trxcon/trx_if.h @@ -79,5 +79,5 @@ int trx_if_cmd_measure(struct trx_instance *trx, uint16_t band_arfcn_start, uint16_t band_arfcn_stop); -int trx_if_tx_burst(struct trx_instance *trx, uint8_t tn, uint32_t fn, - uint8_t pwr, const ubit_t *bits); +int trx_if_tx_burst(struct trx_instance *trx, + const struct sched_burst_req *br); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Gerrit-Change-Number: 24661 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 Jun 14 21:56:32 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 14 Jun 2021 21:56:32 +0000 Subject: Change in osmocom-bb[master]: trxcon/trx_if: send NOPE indications if there is no burst References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24662 ) Change subject: trxcon/trx_if: send NOPE indications if there is no burst ...................................................................... trxcon/trx_if: send NOPE indications if there is no burst In a typical setup operating on the real radio interface, it's the duty of the transceiver (e.g. osmo-trx) to send NOPE.ind to the L1 implementation (e.g. osmo-bts-trx). However, in a virtual environment for ttcn3-bts-test we use a fake transceiver, which due to its simplicity cannot send NOPE indications itself. The lack of queues and buffering does not allow us to implement NOPE indications in fake_trx.py, so the easiest approach is to generate them from trxcon. Send TRXD PDUs without the burst bits, and fake_trx.py will tranform them info NOPE.ind for us. Change-Id: I1c7f1315b8ef44f651efd6a22fb5b854f65c0946 Related: SYS#5313, OS#1569 --- M src/host/trxcon/trx_if.c 1 file changed, 4 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/62/24662/1 diff --git a/src/host/trxcon/trx_if.c b/src/host/trxcon/trx_if.c index c4561ce..8dbbd12 100644 --- a/src/host/trxcon/trx_if.c +++ b/src/host/trxcon/trx_if.c @@ -635,9 +635,6 @@ uint8_t buf[TRXD_BUF_SIZE]; size_t length; - if (br->burst_len == 0) - return 0; - /** * We must be sure that we have clock, * and we have sent all control data @@ -662,8 +659,10 @@ length = 6; /* Copy ubits {0,1} */ - memcpy(buf + 6, br->burst, br->burst_len); - length += br->burst_len; + if (br->burst_len != 0) { + memcpy(buf + 6, br->burst, br->burst_len); + length += br->burst_len; + } /* Send data to transceiver */ send(trx->trx_ofd_data.fd, buf, length, 0); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24662 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I1c7f1315b8ef44f651efd6a22fb5b854f65c0946 Gerrit-Change-Number: 24662 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 Jun 14 22:31:34 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 14 Jun 2021 22:31:34 +0000 Subject: Change in osmo-bsc[master]: fixup for vamos: fix wrong cbits in rsl_lchan_lookup() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24663 ) Change subject: fixup for vamos: fix wrong cbits in rsl_lchan_lookup() ...................................................................... fixup for vamos: fix wrong cbits in rsl_lchan_lookup() The RSL_CHAN_OSMO_VAMOS_MASK mask applies to the chan_nr, but the cbits variable in rsl_lchan_lookup() is chan_nr >> 3. So the mask didn't do its job. Now it does. A bit embarrassing how i took the suggestion to use this mask and put it into code without testing it. It looked good enough... Change-Id: I005c5f319bb6f14651aeb613cdff52e79f761913 --- M src/osmo-bsc/bts_trx.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/63/24663/1 diff --git a/src/osmo-bsc/bts_trx.c b/src/osmo-bsc/bts_trx.c index f183742..edd52be 100644 --- a/src/osmo-bsc/bts_trx.c +++ b/src/osmo-bsc/bts_trx.c @@ -170,7 +170,7 @@ case ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Bm_ACCHs: case ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Lm_ACCHs(0): case ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Lm_ACCHs(1): - cbits &= ~RSL_CHAN_OSMO_VAMOS_MASK; + cbits = (chan_nr & ~RSL_CHAN_OSMO_VAMOS_MASK) >> 3; vamos = true; break; default: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24663 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I005c5f319bb6f14651aeb613cdff52e79f761913 Gerrit-Change-Number: 24663 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 Jun 14 22:31:34 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 14 Jun 2021 22:31:34 +0000 Subject: Change in osmo-bsc[master]: vty: reassign: add missing check for valid target lchan References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24664 ) Change subject: vty: reassign: add missing check for valid target lchan ...................................................................... vty: reassign: add missing check for valid target lchan Make sure that the target lchan has been initialized before attempting to reassign. I ran into this in the VAMOS tests, forgetting to set the BTS_FEAT_VAMOS in osmo-bts-omldummy: the vty command from ttcn attempts to reassign to a non-initialized lchan, and aborts osmo-bsc. Change-Id: Ia77a3312dde0e4b8df9ad2f33339266bae06439d --- M src/osmo-bsc/bsc_vty.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/64/24664/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 430863b..880bd94 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -6657,6 +6657,10 @@ vty_out(vty, "cannot re-assign, source lchan is not in ESTABLISHED state%s", VTY_NEWLINE); return CMD_WARNING; } + if (!to_lchan->fi) { + vty_out(vty, "cannot re-assign, target lchan is not initialized%s", VTY_NEWLINE); + return CMD_WARNING; + } if (!lchan_state_is(to_lchan, LCHAN_ST_UNUSED)) { vty_out(vty, "cannot re-assign, target lchan is already in use%s", VTY_NEWLINE); return CMD_WARNING; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24664 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia77a3312dde0e4b8df9ad2f33339266bae06439d Gerrit-Change-Number: 24664 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 Jun 14 22:31:41 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 14 Jun 2021 22:31:41 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: introduce and use struct sched_burst_req In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/24661 to look at the new patch set (#2). Change subject: trxcon/scheduler: introduce and use struct sched_burst_req ...................................................................... trxcon/scheduler: introduce and use struct sched_burst_req Similar to what we do in osmo-bts-trx, group everything related to a to be transmitted burst into a structure. Pass a pointer to this structure to the logical channel handlers. Thus makes the code easier to read, and facilitates sending NOPE indications to the transceiver (will be introduced in the upcoming patch). Get rid of sched_trx_handle_tx_burst(), and instead just call sched_trx_a5_burst_enc() directly from sched_frame_clck_cb(). Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Related: SYS#5313, OS#1569 --- M src/host/trxcon/sched_lchan_desc.c M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_rach.c M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_tchh.c M src/host/trxcon/sched_lchan_xcch.c M src/host/trxcon/sched_trx.c M src/host/trxcon/sched_trx.h M src/host/trxcon/trx_if.c M src/host/trxcon/trx_if.h 10 files changed, 146 insertions(+), 162 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/61/24661/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Gerrit-Change-Number: 24661 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 Mon Jun 14 22:32:12 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 14 Jun 2021 22:32:12 +0000 Subject: Change in osmo-bsc[master]: fixup for vamos: fix wrong cbits in rsl_lchan_lookup() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24663 ) Change subject: fixup for vamos: fix wrong cbits in rsl_lchan_lookup() ...................................................................... Patch Set 1: Code-Review+2 let me just merge this -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24663 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I005c5f319bb6f14651aeb613cdff52e79f761913 Gerrit-Change-Number: 24663 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: neels Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 14 Jun 2021 22:32: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 Jun 14 22:33:02 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 14 Jun 2021 22:33:02 +0000 Subject: Change in osmo-bsc[master]: vty: reassign: add missing check for valid target lchan In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24664 ) Change subject: vty: reassign: add missing check for valid target lchan ...................................................................... Patch Set 1: Code-Review+2 let me merge this fix -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24664 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia77a3312dde0e4b8df9ad2f33339266bae06439d Gerrit-Change-Number: 24664 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: neels Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 14 Jun 2021 22:33:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 14 22:44:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 14 Jun 2021 22:44:07 +0000 Subject: Change in osmo-bsc[master]: fixup for vamos: fix wrong cbits in rsl_lchan_lookup() In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24663 ) Change subject: fixup for vamos: fix wrong cbits in rsl_lchan_lookup() ...................................................................... fixup for vamos: fix wrong cbits in rsl_lchan_lookup() The RSL_CHAN_OSMO_VAMOS_MASK mask applies to the chan_nr, but the cbits variable in rsl_lchan_lookup() is chan_nr >> 3. So the mask didn't do its job. Now it does. A bit embarrassing how i took the suggestion to use this mask and put it into code without testing it. It looked good enough... Change-Id: I005c5f319bb6f14651aeb613cdff52e79f761913 --- M src/osmo-bsc/bts_trx.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: neels: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/bts_trx.c b/src/osmo-bsc/bts_trx.c index f183742..edd52be 100644 --- a/src/osmo-bsc/bts_trx.c +++ b/src/osmo-bsc/bts_trx.c @@ -170,7 +170,7 @@ case ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Bm_ACCHs: case ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Lm_ACCHs(0): case ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Lm_ACCHs(1): - cbits &= ~RSL_CHAN_OSMO_VAMOS_MASK; + cbits = (chan_nr & ~RSL_CHAN_OSMO_VAMOS_MASK) >> 3; vamos = true; break; default: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24663 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I005c5f319bb6f14651aeb613cdff52e79f761913 Gerrit-Change-Number: 24663 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 Mon Jun 14 22:44:08 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 14 Jun 2021 22:44:08 +0000 Subject: Change in osmo-bsc[master]: vty: reassign: add missing check for valid target lchan In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24664 ) Change subject: vty: reassign: add missing check for valid target lchan ...................................................................... vty: reassign: add missing check for valid target lchan Make sure that the target lchan has been initialized before attempting to reassign. I ran into this in the VAMOS tests, forgetting to set the BTS_FEAT_VAMOS in osmo-bts-omldummy: the vty command from ttcn attempts to reassign to a non-initialized lchan, and aborts osmo-bsc. Change-Id: Ia77a3312dde0e4b8df9ad2f33339266bae06439d --- M src/osmo-bsc/bsc_vty.c 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: neels: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 430863b..880bd94 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -6657,6 +6657,10 @@ vty_out(vty, "cannot re-assign, source lchan is not in ESTABLISHED state%s", VTY_NEWLINE); return CMD_WARNING; } + if (!to_lchan->fi) { + vty_out(vty, "cannot re-assign, target lchan is not initialized%s", VTY_NEWLINE); + return CMD_WARNING; + } if (!lchan_state_is(to_lchan, LCHAN_ST_UNUSED)) { vty_out(vty, "cannot re-assign, target lchan is already in use%s", VTY_NEWLINE); return CMD_WARNING; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24664 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia77a3312dde0e4b8df9ad2f33339266bae06439d Gerrit-Change-Number: 24664 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 Tue Jun 15 08:45:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 08:45:38 +0000 Subject: Change in osmo-pcu[master]: pcuif_proto.h: Introduce anr_{req, cnf} messages In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24620 ) Change subject: pcuif_proto.h: Introduce anr_{req,cnf} messages ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24620 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib6c7bf5ca5a06186a71ec50cfc1a91a5c9b01d9c Gerrit-Change-Number: 24620 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 15 Jun 2021 08:45:38 +0000 Gerrit-HasComments: 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 Jun 15 08:45:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 08:45:40 +0000 Subject: Change in osmo-pcu[master]: pcuif: Support receiving System Information 2 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24621 ) Change subject: pcuif: Support receiving System Information 2 ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24621 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4a9c4f70beac6805322a19835a0d30f7247780b4 Gerrit-Change-Number: 24621 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 15 Jun 2021 08:45: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 Jun 15 09:34:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 09:34:36 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/transceiver.py: allow NOPE.ind on inactive timeslots In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24659 ) Change subject: trx_toolkit/transceiver.py: allow NOPE.ind on inactive timeslots ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/24659/1/src/target/trx_toolkit/transceiver.py File src/target/trx_toolkit/transceiver.py: https://gerrit.osmocom.org/c/osmocom-bb/+/24659/1/src/target/trx_toolkit/transceiver.py at 275 PS1, Line 275: return None shouldn't you convert this to a NOPE.ind? -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24659 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I27a3c8897cb82f6c264d34702c4ec64561bb9809 Gerrit-Change-Number: 24659 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 09: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 Jun 15 09:35:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 09:35:14 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: cosmetic: move TDMA frame number calculation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24660 ) Change subject: trxcon/scheduler: cosmetic: move TDMA frame number calculation ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24660 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I79efdfa543d37889dc6749eb25aab4e1639749c6 Gerrit-Change-Number: 24660 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 09:35: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 Jun 15 09:36:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 09:36:26 +0000 Subject: Change in osmocom-bb[master]: trxcon/trx_if: send NOPE indications if there is no burst In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24662 ) Change subject: trxcon/trx_if: send NOPE indications if there is no burst ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24662 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I1c7f1315b8ef44f651efd6a22fb5b854f65c0946 Gerrit-Change-Number: 24662 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 09:36:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 09:43:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 09:43:37 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: introduce and use struct sched_burst_req In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24661 ) Change subject: trxcon/scheduler: introduce and use struct sched_burst_req ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/24661/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmocom-bb/+/24661/2//COMMIT_MSG at 9 PS2, Line 9: Similar to what we do in osmo-bts-trx, group everything related to "related to a to be" I don't get this. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Gerrit-Change-Number: 24661 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 09:43: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 Tue Jun 15 11:05:45 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 15 Jun 2021 11:05:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: test if SNS fails when all signalling NSVCs failes In-Reply-To: References: Message-ID: lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24651 ) Change subject: ns: test if SNS fails when all signalling NSVCs failes ...................................................................... ns: test if SNS fails when all signalling NSVCs failes As 3GPP TS 48.016 ? 7.4b.1.1 specifies this behaviour. 1. do success SNS configuration 2. change sig weight of the seconds inactive bind 3. add second bind to SNS 4. stop reacting to NS_ALIVE on first NSVC (only NSVC with sig weight) 5. expect SNS SIZE Related: OS#5039 Change-Id: Id06e34e7235d94a06152a0015487a507d6492a97 --- M ns/NS_Tests.ttcn 1 file changed, 36 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/ns/NS_Tests.ttcn b/ns/NS_Tests.ttcn index 8bbb43c..9fbd5ab 100644 --- a/ns/NS_Tests.ttcn +++ b/ns/NS_Tests.ttcn @@ -626,6 +626,41 @@ f_clean_ns_codec(); } +/* Test if SNS fails when all signalling NSVCs failes + * 3GPP TS 48.016 ? 7.4b.1.1 + * 1. do success SNS configuration + * 2. change sig weight of the seconds inactive bind + * 3. add second bind to SNS + * 4. stop reacting to NS_ALIVE on first NSVC (only NSVC with sig weight) + * 5. expect SNS SIZE + */ +testcase TC_sns_bss_all_signalling_nsvcs_failed() runs on RAW_Test_CT { + g_handle_rx_alive := true; + f_init_vty(); + f_init_ns_codec(mp_nsconfig); + f_init_ns_codec(mp_nsconfig, 1); + f_incoming_sns_size(); + f_incoming_sns_config(); + f_outgoing_sns_config(); + var default d := activate(as_rx_alive_tx_ack()); + + f_vty_config2(NSVTY, {"ns", "bind udp local2"}, "ip-sns signalling-weight 0 data-weight 99"); + f_vty_config2(NSVTY, {"ns", "nse " & int2str(g_nsconfig.nsei)}, "ip-sns-bind local2"); + f_incoming_sns_add(idx_add := 1, w_sig := 0, w_user := 99); + as_rx_alive_tx_ack(oneshot := true, idx := 1); + activate(as_rx_alive_tx_ack(idx := 1)); + /* 2x NSVCs up, stop first NSVC */ + deactivate(d); + /* libosmocore will rotate the SNS binds on failure */ + NSCP[0].receive(t_NS_ALIVE); + NSCP[0].receive(t_NS_ALIVE); + NSCP[0].receive(t_NS_ALIVE); + f_incoming_sns_size(idx := 1); + + setverdict(pass); + f_clean_ns_codec(); +} + control { if (mp_dialect == NS2_DIALECT_STATIC_RESETBLOCK or mp_dialect == NS2_DIALECT_IPACCESS) { execute( TC_tx_reset() ); @@ -676,6 +711,7 @@ execute( TC_sns_bss_add() ); execute( TC_sns_bss_del() ); execute( TC_sns_bss_add_change_del() ); + execute( TC_sns_bss_all_signalling_nsvcs_failed() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24651 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id06e34e7235d94a06152a0015487a507d6492a97 Gerrit-Change-Number: 24651 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus 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 Jun 15 11:19:09 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 15 Jun 2021 11:19:09 +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: lynxis lazus 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 2: Code-Review-1 blocking this commit. NSE should be only freed when not persistant. -- 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: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 11:19: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 Jun 15 11:20:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 11:20:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Fix race condition exiting f_ho_out_of_this_bsc References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24665 ) Change subject: bsc: Fix race condition exiting f_ho_out_of_this_bsc ...................................................................... bsc: Fix race condition exiting f_ho_out_of_this_bsc The function didn't wait to receive the 2 messages from the BSC. As a result, they may have arrived while tearing down the test components shortly after exiting the function and provoke a Dynamic Test Error while pushing the messages up the stack since some of the stack layers may already be unavailable. Test TC_ho_out_of_this_bsc() workarounded this by using a f_sleep(1), but TC_srvcc_eutran_to_geran_ho_out() didn't, making it fail sometimes. Change-Id: I590b09353900dfe6c4f648812ab675fed1908589 --- M bsc/BSC_Tests.ttcn 1 file changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/65/24665/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 41deea1..074fa60 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -4858,6 +4858,12 @@ BSSAP.send(ts_BSSMAP_ClearCommand(cause)); f_expect_dlcx_conns(); + + interleave { + [] 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)); + } setverdict(pass); } @@ -4870,7 +4876,6 @@ f_establish_fully(ass_req, exp_compl); f_ho_out_of_this_bsc(); - f_sleep(1.0); } testcase TC_ho_out_of_this_bsc() runs on test_CT { var MSC_ConnHdlr vc_conn; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24665 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I590b09353900dfe6c4f648812ab675fed1908589 Gerrit-Change-Number: 24665 Gerrit-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 Jun 15 11:46:03 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 15 Jun 2021 11:46:03 +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 1: 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 (and should not be deleted). -- 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: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Tue, 15 Jun 2021 11:46:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 12:06:28 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 15 Jun 2021 12:06:28 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement local change weight procedure In-Reply-To: References: Message-ID: daniel 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: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/23187/10/src/gb/gprs_ns2_internal.h File src/gb/gprs_ns2_internal.h: https://gerrit.osmocom.org/c/libosmocore/+/23187/10/src/gb/gprs_ns2_internal.h at 79 PS10, Line 79: NS_TOUT_TSNS_PROCEDURES_RETRIES, Add a NS_TOUT_MAX here and #define NS_TIMERS_COUNT NS_TOUT_MAX? https://gerrit.osmocom.org/c/libosmocore/+/23187/10/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/23187/10/src/gb/gprs_ns2_sns.c at 109 PS10, Line 109: { GPRS_SNS_EV_REQ_CHANGE_WEIGHT, "REQ_UPDATE_WEIGHT"}, Change weight vs. update weight -- 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: Tue, 15 Jun 2021 12:06:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 12:10:28 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 15 Jun 2021 12:10:28 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement local change weight procedure In-Reply-To: References: Message-ID: lynxis lazus 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: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23187/10/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/23187/10/src/gb/gprs_ns2_sns.c at 1521 PS10, Line 1521: break; maybe I should remove this one -- 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: Tue, 15 Jun 2021 12:10:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 12:17:58 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 15 Jun 2021 12:17:58 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement outbound SNS ADD procedures In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24123 ) Change subject: gprs_ns2_sns: implement outbound SNS ADD procedures ...................................................................... Patch Set 7: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/24123/7/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/24123/7/src/gb/gprs_ns2_sns.c at 1968 PS7, Line 1968: OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS); Not sure if this really holds true, we should ensure that we don't accidentally abort here. https://gerrit.osmocom.org/c/libosmocore/+/24123/7/src/gb/gprs_ns2_sns.c at 1976 PS7, Line 1976: (void *) 1 Can we have a #define for this so it's clear what the 1 actually means? Same in AF_INET6 below -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I71c33200bd1f0307ceb943ee958db5ebe3623d36 Gerrit-Change-Number: 24123 Gerrit-PatchSet: 7 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: daniel Gerrit-Comment-Date: Tue, 15 Jun 2021 12:17: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 Tue Jun 15 12:31:39 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 15 Jun 2021 12:31:39 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement outbound SNS DEL procedures In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24591 ) Change subject: gprs_ns2_sns: implement outbound SNS DEL procedures ...................................................................... Patch Set 4: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24591/4/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/24591/4/src/gb/gprs_ns2_sns.c at 2110 PS4, Line 2110: gprs_ns2_free_nsvc(nsvc); Check if runtime NSVCs are still valid (sig_weight > 0) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I53cd54dfd262c70c425c3f13dad3b29526daa523 Gerrit-Change-Number: 24591 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-Comment-Date: Tue, 15 Jun 2021 12:31:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 13:19:06 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 15 Jun 2021 13:19:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667 ) Change subject: bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup ...................................................................... bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup reasons: * TC_assignment_fr_a5_4() runs an unusual sequence of messages: it first fully assigns an lchan, and after that sends a Cipher Mode Command. Usually, the ciphering happens as part of attaching (Compl L3). The new test TC_assignment_fr_a5_not_sup() does the ciphering in the usual sequence, and properly expects a Cipher Mode Reject. * TC_assignment_fr_a5_4 means to ask for an *unsupported* encryption algo. Since we are going to introduce A5/4 support shortly, we'll need to free up this name, for a successful A5/4 encryption test. New test TC_assignment_fr_a5_not_sup() asks for A5/5 encryption, which is not supported. Related: SYS#5324 Change-Id: I83eca18d1b3d8d58177aa3750935ec5a3a985ca4 --- M bsc/BSC_Tests.ttcn M bsc/expected-results.xml 2 files changed, 43 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/67/24667/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 41deea1..845869a 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3415,26 +3415,54 @@ f_shutdown_helper(); } -private function f_tc_assignment_fr_a5_4(charstring id) runs on MSC_ConnHdlr { - g_pars := f_gen_test_hdlr_pars(); - var template PDU_BSSAP exp_compl := f_gen_exp_compl(); - var PDU_BSSAP ass_cmd := f_gen_ass_req(); - const OCT8 kc := '0001020304050607'O; - const OCT16 kc128 := kc & kc; +private function f_TC_assignment_a5_not_sup(charstring id) runs on MSC_ConnHdlr { + var template PDU_BSSAP exp_ass_cpl := f_gen_exp_compl(); + var PDU_BSSAP ass_tpl := 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); - f_cipher_mode('10'O, kc, kc128, true); - /* TODO: expect GSM0808_CAUSE_CIPHERING_ALGORITHM_NOT_SUPPORTED cause value */ + ass_tpl.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); + ass_tpl.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); + + //f_establish_fully(ass_cmd, exp_compl); + + var BSSMAP_FIELD_CodecType codecType; + timer T := 10.0; + + codecType := valueof(ass_tpl.pdu.bssmap.assignmentRequest.codecList.codecElements[0].codecType); + f_MscConnHdlr_init(g_pars.media_nr, host_bts, host_mgw_mgcp, codecType); + + f_create_chan_and_exp(); + /* we should now have a COMPL_L3 at the MSC */ + + var template PDU_BSSAP exp_l3_compl; + exp_l3_compl := tr_BSSMAP_ComplL3() + if (g_pars.aoip == false) { + exp_l3_compl.pdu.bssmap.completeLayer3Information.codecList := omit; + } else { + exp_l3_compl.pdu.bssmap.completeLayer3Information.codecList := ?; + } + T.start; + alt { + [] BSSAP.receive(exp_l3_compl); + [] BSSAP.receive(tr_BSSMAP_ComplL3) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Received non-matching COMPLETE LAYER 3 INFORMATION"); + } + [] T.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for COMPLETE LAYER 3 INFORMATION"); + } + } + + /* Start ciphering, expect Cipher Mode Reject */ + f_cipher_mode(g_pars.encr.enc_alg, g_pars.encr.enc_key, exp_fail := true); } -testcase TC_assignment_fr_a5_4() runs on test_CT { +testcase TC_assignment_fr_a5_not_sup() runs on test_CT { + var TestHdlrParams pars := f_gen_test_hdlr_pars(); var MSC_ConnHdlr vc_conn; f_init(1, true); f_sleep(1.0); - vc_conn := f_start_handler(refers(f_tc_assignment_fr_a5_4)); + pars.encr := valueof(t_EncrParams('20'O, f_rnd_octstring(8))); + vc_conn := f_start_handler(refers(f_TC_assignment_a5_not_sup), pars); vc_conn.done; f_shutdown_helper(); } @@ -8828,7 +8856,7 @@ execute( TC_assignment_fr_a5_1_codec_missing() ); } execute( TC_assignment_fr_a5_3() ); - execute( TC_assignment_fr_a5_4() ); + execute( TC_assignment_fr_a5_not_sup() ); execute( TC_ciph_mode_a5_0() ); execute( TC_ciph_mode_a5_1() ); execute( TC_ciph_mode_a5_3() ); diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml index c98d3c7..f91de19 100644 --- a/bsc/expected-results.xml +++ b/bsc/expected-results.xml @@ -47,7 +47,7 @@ - + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I83eca18d1b3d8d58177aa3750935ec5a3a985ca4 Gerrit-Change-Number: 24667 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 Jun 15 13:19:06 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 15 Jun 2021 13:19:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: reduce args to f_cipher_mode() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24668 ) Change subject: bsc: reduce args to f_cipher_mode() ...................................................................... bsc: reduce args to f_cipher_mode() Instead of passing each part individually, simply pass the entire TestHdlrEncrParams to f_cipher_mode(). Preparation for A5/4. Related: SYS#5324 Change-Id: I2cb8282e55436da5ae64ab569df87d5d5a0dd2f0 --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn 2 files changed, 8 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/68/24668/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 845869a..e3720e5 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3452,7 +3452,7 @@ } /* Start ciphering, expect Cipher Mode Reject */ - f_cipher_mode(g_pars.encr.enc_alg, g_pars.encr.enc_key, exp_fail := true); + f_cipher_mode(g_pars.encr, exp_fail := true); } testcase TC_assignment_fr_a5_not_sup() runs on test_CT { var TestHdlrParams pars := f_gen_test_hdlr_pars(); @@ -6726,7 +6726,7 @@ /* start ciphering, if requested */ if (ispresent(g_pars.encr)) { f_logp(BSCVTY, "start ciphering"); - f_cipher_mode(g_pars.encr.enc_alg, g_pars.encr.enc_key); + f_cipher_mode(g_pars.encr); } } diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index c29ccd4..c266c19 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -709,21 +709,21 @@ } } -function f_cipher_mode(OCT1 alg, OCT8 key, template OCT16 kc128 := omit, boolean exp_fail := false) +function f_cipher_mode(TestHdlrEncrParams enc, boolean exp_fail := false) runs on MSC_ConnHdlr { var PDU_BSSAP bssap; var RSL_Message rsl; var RSL_AlgId alg_rsl; - if (isvalue(kc128)) { - BSSAP.send(ts_BSSMAP_CipherModeCmdKc128(alg, key, valueof(kc128))); + if (isvalue(enc.enc_kc128)) { + BSSAP.send(ts_BSSMAP_CipherModeCmdKc128(enc.enc_alg, enc.enc_key, valueof(enc.enc_kc128))); } else { - BSSAP.send(ts_BSSMAP_CipherModeCmd(alg, key)); + BSSAP.send(ts_BSSMAP_CipherModeCmd(enc.enc_alg, enc.enc_key)); } /* RSL uses a different representation of the encryption algorithm, * so we need to convert first */ - alg_rsl := f_chipher_mode_bssmap_to_rsl(alg); + alg_rsl := f_chipher_mode_bssmap_to_rsl(enc.enc_alg); alt { /* RSL/UE Side */ @@ -1145,7 +1145,7 @@ /* start ciphering, if requested */ if (ispresent(g_pars.encr)) { - f_cipher_mode(g_pars.encr.enc_alg, g_pars.encr.enc_key); + f_cipher_mode(g_pars.encr); } /* bail out early if no assignment requested */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24668 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2cb8282e55436da5ae64ab569df87d5d5a0dd2f0 Gerrit-Change-Number: 24668 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 Jun 15 13:19:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 15 Jun 2021 13:19:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: implement ttcn API and cfg for A5/4 References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669 ) Change subject: bsc: implement ttcn API and cfg for A5/4 ...................................................................... bsc: implement ttcn API and cfg for A5/4 Implement tools for OsmoBSC a5/4 support testing: - add g_pars.encr.enc_kc128 - in f_cipher_mode() and f_check_chan_act(), expect Kc128 key as appropriate. - osmo-bsc.cfg: allow a5/4 Related: SYS#5324 Change-Id: Ifa48a8498dde7d04fb29f497013bdb5a1e5f3597 --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M bsc/osmo-bsc.cfg 3 files changed, 25 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/69/24669/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index e3720e5..b9e6bfd 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3461,7 +3461,7 @@ f_init(1, true); f_sleep(1.0); - pars.encr := valueof(t_EncrParams('20'O, f_rnd_octstring(8))); + pars.encr := valueof(t_EncrParams('20'O, f_rnd_octstring(8), f_rnd_octstring(16))); vc_conn := f_start_handler(refers(f_TC_assignment_a5_not_sup), pars); vc_conn.done; f_shutdown_helper(); diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index c266c19..799d41e 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -544,12 +544,14 @@ type record TestHdlrEncrParams { OCT1 enc_alg, - octetstring enc_key + octetstring enc_key, + octetstring enc_kc128 optional }; -template (value) TestHdlrEncrParams t_EncrParams(OCT1 alg, octetstring key) := { +template (value) TestHdlrEncrParams t_EncrParams(OCT1 alg, octetstring key, template (omit) octetstring kc128 := omit) := { enc_alg := alg, - enc_key := key + enc_key := key, + enc_kc128 := kc128 } type record TestHdlrParamsLcls { @@ -714,6 +716,7 @@ var PDU_BSSAP bssap; var RSL_Message rsl; var RSL_AlgId alg_rsl; + var octetstring expect_kc; if (isvalue(enc.enc_kc128)) { BSSAP.send(ts_BSSMAP_CipherModeCmdKc128(enc.enc_alg, enc.enc_key, valueof(enc.enc_kc128))); @@ -725,9 +728,16 @@ * so we need to convert first */ alg_rsl := f_chipher_mode_bssmap_to_rsl(enc.enc_alg); + if (alg_rsl == RSL_ALG_ID_A5_4 and ispresent(enc.enc_kc128)) { + expect_kc := enc.enc_kc128; + } else { + expect_kc := enc.enc_key; + } + log("for encryption algo ", alg_rsl, " expect kc = ", expect_kc); + alt { /* RSL/UE Side */ - [] RSL.receive(tr_RSL_ENCR_CMD(g_chan_nr, ?, alg_rsl, key)) -> value rsl { + [] RSL.receive(tr_RSL_ENCR_CMD(g_chan_nr, ?, alg_rsl, expect_kc)) -> 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); if (ischosen(l3.msgs.rrm.cipheringModeCommand)) { @@ -838,8 +848,15 @@ 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); - if (not match(encr_info, tr_EncrInfo(alg, g_pars.encr.enc_key))) { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Wrong Encryption IE in CHAN ACT"); + var octetstring expect_key; + if (alg == RSL_ALG_ID_A5_4) { + expect_key := g_pars.encr.enc_kc128; + } else { + expect_key := g_pars.encr.enc_key; + } + if (not match(encr_info, tr_EncrInfo(alg, expect_key))) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Unexpected Kc in Encryption IE in RSL ENCR CMD"); } } } else { diff --git a/bsc/osmo-bsc.cfg b/bsc/osmo-bsc.cfg index b64a63d..7b0fa2a 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 + encryption a5 0 1 3 4 neci 1 paging any use tch 0 handover 1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifa48a8498dde7d04fb29f497013bdb5a1e5f3597 Gerrit-Change-Number: 24669 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 Jun 15 13:19:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 15 Jun 2021 13:19:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_cipher_mode(): fail quicker on key mismatch References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24670 ) Change subject: bsc: f_cipher_mode(): fail quicker on key mismatch ...................................................................... bsc: f_cipher_mode(): fail quicker on key mismatch Related: SYS#5324 Change-Id: Ia79779f4229da4a5af271235a5e82c6fd59ea3a2 --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 13 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/24670/1 diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 799d41e..d902301 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -730,6 +730,8 @@ if (alg_rsl == RSL_ALG_ID_A5_4 and ispresent(enc.enc_kc128)) { expect_kc := enc.enc_kc128; + } else if (alg_rsl == RSL_ALG_ID_A5_0) { + expect_kc := ''O; } else { expect_kc := enc.enc_key; } @@ -737,9 +739,19 @@ alt { /* RSL/UE Side */ - [] RSL.receive(tr_RSL_ENCR_CMD(g_chan_nr, ?, alg_rsl, expect_kc)) -> value rsl { + [] RSL.receive(tr_RSL_ENCR_CMD(g_chan_nr, ?, alg_rsl, ?)) -> 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); + + var RSL_IE_Body encr_info; + if (not f_rsl_find_ie(rsl, RSL_IE_ENCR_INFO, encr_info)) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Missing Encryption IE in RSL ENCR CMD"); + } else { + if (not match(encr_info, tr_EncrInfo(alg_rsl, expect_kc))) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Unexpected Kc in Encryption IE in RSL ENCR CMD"); + } + } if (ischosen(l3.msgs.rrm.cipheringModeCommand)) { f_rsl_reply(ts_RRM_CiphModeCompl, rsl); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia79779f4229da4a5af271235a5e82c6fd59ea3a2 Gerrit-Change-Number: 24670 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 Jun 15 13:19:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 15 Jun 2021 13:19:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_cipher_mode(): verify enc alg in Cipher Mode Complete msg References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24671 ) Change subject: bsc: f_cipher_mode(): verify enc alg in Cipher Mode Complete msg ...................................................................... bsc: f_cipher_mode(): verify enc alg in Cipher Mode Complete msg Related: SYS#5324 Change-Id: I88b386c55e23cc180131e95a005d08cbc3ec102b --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/71/24671/1 diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index d902301..7fb7130 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -758,11 +758,13 @@ repeat; } [] BSSAP.receive(tr_BSSMAP_CipherModeCompl) -> value bssap { - // bssap.bssmap.cipherModeComplete.chosenEncryptionAlgorithm.algoritmhIdentifier if (exp_fail == true) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Unexpected Cipher Mode Complete"); } else { setverdict(pass); + if (oct2int(bssap.pdu.bssmap.cipherModeComplete.chosenEncryptionAlgorithm.algorithmIdentifier) != enum2int(alg_rsl)) { + setverdict(fail, "Unexpected Encryption Algorithm ID in BSSMAP Cipher Mode Complete"); + } } } [] BSSAP.receive(tr_BSSMAP_CipherModeRej) -> value bssap { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24671 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I88b386c55e23cc180131e95a005d08cbc3ec102b Gerrit-Change-Number: 24671 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 Jun 15 13:19:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 15 Jun 2021 13:19:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_ciph_mode_a5_4 References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24672 ) Change subject: bsc: add TC_ciph_mode_a5_4 ...................................................................... bsc: add TC_ciph_mode_a5_4 Establish a Signalling channel with A5/4 encryption. Related: SYS#5324 Change-Id: I2428c21663dfa7d67e769da0127f74e8c01dfb97 --- M bsc/BSC_Tests.ttcn M bsc/expected-results.xml 2 files changed, 13 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/72/24672/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index b9e6bfd..a5fc999 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3326,7 +3326,18 @@ vc_conn.done; f_shutdown_helper(); } +/* Establish a Signalling channel with A5/4 encryption. */ +testcase TC_ciph_mode_a5_4() runs on test_CT { + var MSC_ConnHdlr vc_conn; + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + pars.encr := valueof(t_EncrParams('10'O, f_rnd_octstring(8), f_rnd_octstring(16))); + f_init(1, true); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_tc_ciph_mode_a5), pars); + vc_conn.done; + f_shutdown_helper(); +} /* establish initial channel, enable ciphering followed by assignment to ciphered channel */ private function f_tc_assignment_aoip_tla_v6(charstring id) runs on MSC_ConnHdlr { var template PDU_BSSAP exp_compl := f_gen_exp_compl(); @@ -8860,6 +8871,7 @@ execute( TC_ciph_mode_a5_0() ); execute( TC_ciph_mode_a5_1() ); execute( TC_ciph_mode_a5_3() ); + execute( TC_ciph_mode_a5_4() ); execute( TC_assignment_codec_fr() ); execute( TC_assignment_codec_fr_by_mode_modify() ); diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml index f91de19..ab1a9e4 100644 --- a/bsc/expected-results.xml +++ b/bsc/expected-results.xml @@ -51,6 +51,7 @@ + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24672 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2428c21663dfa7d67e769da0127f74e8c01dfb97 Gerrit-Change-Number: 24672 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 Jun 15 13:19:08 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 15 Jun 2021 13:19:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_assignment_fr_a5_4 References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24673 ) Change subject: bsc: add TC_assignment_fr_a5_4 ...................................................................... bsc: add TC_assignment_fr_a5_4 Establish a TCH/F with A5/4 encryption. Related: SYS#5324 Change-Id: I9ad899bd15a1f7ba0a44764f7d2a94f5b627053f --- M bsc/BSC_Tests.ttcn M bsc/expected-results.xml 2 files changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/73/24673/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index a5fc999..b4f3904 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3402,6 +3402,18 @@ vc_conn.done; f_shutdown_helper(); } +/* Establish a Signalling channel and re-assign to TCH/F with A5/4 encryption. */ +testcase TC_assignment_fr_a5_4() runs on test_CT { + var MSC_ConnHdlr vc_conn; + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + pars.encr := valueof(t_EncrParams('10'O, f_rnd_octstring(8), f_rnd_octstring(16))); + + f_init(1, true); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_tc_assignment_fr_a5), pars); + vc_conn.done; + f_shutdown_helper(); +} /* Expect ASSIGNMENT FAIL if mandatory IE is missing */ private function f_tc_assignment_fr_a5_1_codec_missing(charstring id) runs on MSC_ConnHdlr { @@ -8867,6 +8879,7 @@ execute( TC_assignment_fr_a5_1_codec_missing() ); } execute( TC_assignment_fr_a5_3() ); + execute( TC_assignment_fr_a5_4() ); execute( TC_assignment_fr_a5_not_sup() ); execute( TC_ciph_mode_a5_0() ); execute( TC_ciph_mode_a5_1() ); diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml index ab1a9e4..e3a6a87 100644 --- a/bsc/expected-results.xml +++ b/bsc/expected-results.xml @@ -47,6 +47,7 @@ + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24673 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9ad899bd15a1f7ba0a44764f7d2a94f5b627053f Gerrit-Change-Number: 24673 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 Jun 15 13:19:08 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 15 Jun 2021 13:19:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add BSC_Tests.TC_assignment_fr_a5_4_fail References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24674 ) Change subject: bsc: add BSC_Tests.TC_assignment_fr_a5_4_fail ...................................................................... bsc: add BSC_Tests.TC_assignment_fr_a5_4_fail Allow only A5/4, but omit the Kc128 IE from MSC's msg. Expect Cipher Mode Reject. Related: SYS#5324 Change-Id: I7734a4a59797a9b21523c33f48815a8094f4e6ec --- M bsc/BSC_Tests.ttcn M bsc/expected-results.xml 2 files changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/74/24674/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index b4f3904..cef895d 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3415,6 +3415,20 @@ f_shutdown_helper(); } +/* Allow only A5/4, but omit the Kc128 IE from MSC's msg. Expect Cipher Mode Reject. */ +testcase TC_assignment_fr_a5_4_fail() runs on test_CT { + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn; + + f_init(1, true); + f_sleep(1.0); + + pars.encr := valueof(t_EncrParams('10'O, f_rnd_octstring(8))); // A5/4 support, but Kc128 missing! + vc_conn := f_start_handler(refers(f_TC_assignment_a5_not_sup), pars); + vc_conn.done; + f_shutdown_helper(); +} + /* Expect ASSIGNMENT FAIL if mandatory IE is missing */ private function f_tc_assignment_fr_a5_1_codec_missing(charstring id) runs on MSC_ConnHdlr { g_pars := f_gen_test_hdlr_pars(); @@ -8880,6 +8894,7 @@ } execute( TC_assignment_fr_a5_3() ); execute( TC_assignment_fr_a5_4() ); + execute( TC_assignment_fr_a5_4_fail() ); execute( TC_assignment_fr_a5_not_sup() ); execute( TC_ciph_mode_a5_0() ); execute( TC_ciph_mode_a5_1() ); diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml index e3a6a87..0efc3e0 100644 --- a/bsc/expected-results.xml +++ b/bsc/expected-results.xml @@ -48,6 +48,7 @@ + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7734a4a59797a9b21523c33f48815a8094f4e6ec Gerrit-Change-Number: 24674 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 Jun 15 13:34:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 13:34:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667 ) Change subject: bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667/1/bsc/BSC_Tests.ttcn File bsc/BSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667/1/bsc/BSC_Tests.ttcn at 3425 PS1, Line 3425: //f_establish_fully(ass_cmd, exp_compl); so this can be dropped? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I83eca18d1b3d8d58177aa3750935ec5a3a985ca4 Gerrit-Change-Number: 24667 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 13:34:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 13:35:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 13:35:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: reduce args to f_cipher_mode() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24668 ) Change subject: bsc: reduce args to f_cipher_mode() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24668 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2cb8282e55436da5ae64ab569df87d5d5a0dd2f0 Gerrit-Change-Number: 24668 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 13:35: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 Jun 15 13:37:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 13:37:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: implement ttcn API and cfg for A5/4 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669 ) Change subject: bsc: implement ttcn API and cfg for A5/4 ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669/1/bsc/MSC_ConnectionHandler.ttcn File bsc/MSC_ConnectionHandler.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669/1/bsc/MSC_ConnectionHandler.ttcn at 548 PS1, Line 548: octetstring enc_kc128 optional This is already used in previous commit I think? https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669/1/bsc/MSC_ConnectionHandler.ttcn at 732 PS1, Line 732: expect_kc := enc.enc_kc128; why not using same field regardless of the algo? in the end it's an octetstring. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifa48a8498dde7d04fb29f497013bdb5a1e5f3597 Gerrit-Change-Number: 24669 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 13:37: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 Tue Jun 15 13:39:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 13:39:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_cipher_mode(): fail quicker on key mismatch In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24670 ) Change subject: bsc: f_cipher_mode(): fail quicker on key mismatch ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24670/1/bsc/MSC_ConnectionHandler.ttcn File bsc/MSC_ConnectionHandler.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24670/1/bsc/MSC_ConnectionHandler.ttcn at 734 PS1, Line 734: expect_kc := ''O; why isn't enc.enc_key set to ''O by default? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia79779f4229da4a5af271235a5e82c6fd59ea3a2 Gerrit-Change-Number: 24670 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 13:39: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 Tue Jun 15 13:39:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 13:39:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_cipher_mode(): verify enc alg in Cipher Mode Complete msg In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24671 ) Change subject: bsc: f_cipher_mode(): verify enc alg in Cipher Mode Complete msg ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24671 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I88b386c55e23cc180131e95a005d08cbc3ec102b Gerrit-Change-Number: 24671 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 13:39: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 Jun 15 13:40:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 13:40:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_ciph_mode_a5_4 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24672 ) Change subject: bsc: add TC_ciph_mode_a5_4 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24672 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2428c21663dfa7d67e769da0127f74e8c01dfb97 Gerrit-Change-Number: 24672 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 13: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 Tue Jun 15 13:40:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 13:40:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_assignment_fr_a5_4 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24673 ) Change subject: bsc: add TC_assignment_fr_a5_4 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24673 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9ad899bd15a1f7ba0a44764f7d2a94f5b627053f Gerrit-Change-Number: 24673 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 13: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 Tue Jun 15 13:40:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 13:40:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add BSC_Tests.TC_assignment_fr_a5_4_fail In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24674 ) Change subject: bsc: add BSC_Tests.TC_assignment_fr_a5_4_fail ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7734a4a59797a9b21523c33f48815a8094f4e6ec Gerrit-Change-Number: 24674 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 13:40: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 Jun 15 13:53:41 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 15 Jun 2021 13:53:41 +0000 Subject: Change in osmo-bsc[master]: vty: allow A5/4 encryption in config In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#2) to the change originally created by Hoernchen. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24634 ) Change subject: vty: allow A5/4 encryption in config ...................................................................... vty: allow A5/4 encryption in config Add A5/4 to the internal mask of allowed algorithms. (Not actually working yet, A5/4 implementation follows in other patches.) Related: SYS#5324 Change-Id: Icac06ed554fd61bf7c4bfb1d5c3739a01f2915a4 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/34/24634/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24634 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icac06ed554fd61bf7c4bfb1d5c3739a01f2915a4 Gerrit-Change-Number: 24634 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria 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 Jun 15 13:53:41 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 15 Jun 2021 13:53:41 +0000 Subject: Change in osmo-bsc[master]: implement A5/4 in Ciphering Mode procedure In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#4) to the change originally created by Hoernchen. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24635 ) Change subject: implement A5/4 in Ciphering Mode procedure ...................................................................... implement A5/4 in Ciphering Mode procedure Receive and store the Kc128 key from MSC, and use as key sent to BTS if A5/4 is the chosen encryption algorithm. (A5/4 in handover will follow in a separate patch) Related: SYS#5324 Change-Id: I7c458c8a7350f34ff79531b3c891e1b367614469 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/osmo_bsc_bssap.c 3 files changed, 29 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/35/24635/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24635 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7c458c8a7350f34ff79531b3c891e1b367614469 Gerrit-Change-Number: 24635 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 13:53:42 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 15 Jun 2021 13:53:42 +0000 Subject: Change in osmo-bsc[master]: use osmo_select_shutdown to get rid of SIGTERM sleep References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24675 ) Change subject: use osmo_select_shutdown to get rid of SIGTERM sleep ...................................................................... use osmo_select_shutdown to get rid of SIGTERM sleep Change-Id: I9a4a629805c49240b8be412e9def298cdf5bc996 --- M src/osmo-bsc/osmo_bsc_main.c 1 file changed, 5 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/75/24675/1 diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index 14475ff..2a6c501 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -697,10 +697,12 @@ switch (signum) { case SIGINT: case SIGTERM: + /* If SIGTERM was already sent before, just terminate immediately. */ + if (osmo_select_shutdown_requested()) + exit(-1); bsc_shutdown_net(bsc_gsmnet); osmo_signal_dispatch(SS_L_GLOBAL, S_L_GLOBAL_SHUTDOWN, NULL); - sleep(3); - exit(0); + osmo_select_shutdown_request(); break; case SIGABRT: /* in case of abort, we want to obtain a talloc report and @@ -1033,7 +1035,7 @@ } } - while (1) { + while (!osmo_select_shutdown_done()) { osmo_select_main_ctx(0); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24675 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9a4a629805c49240b8be412e9def298cdf5bc996 Gerrit-Change-Number: 24675 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 Jun 15 13:53:42 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 15 Jun 2021 13:53:42 +0000 Subject: Change in osmo-bsc[master]: rewire build_encr_info() to return errors References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24676 ) Change subject: rewire build_encr_info() to return errors ...................................................................... rewire build_encr_info() to return errors In build_encr_info(), validate the algorithm and key presence and return negative if errors are encountered. At all callers, handle the error case. An upcoming patch will add handling of Kc128 for A5/4 encryption and also wants to return error codes. This is a preparation for that patch: I7c458c8a7350f34ff79531b3c891e1b367614469 Related: SYS#5324 Change-Id: I125d8aabceddd5b34cb98978cee9b6d2fc8fd0f2 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 28 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/76/24676/1 diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index ac8006d..f7072c9 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -152,13 +152,30 @@ memset(out+len, 0x2b, GSM_MACBLOCK_LEN - len); } -/* Chapter 9.3.7: Encryption Information */ +/* Chapter 9.3.7: Encryption Information + * Return negative on error, number of bytes written to 'out' on success. + * 'out' must provide room for 17 bytes. */ static int build_encr_info(uint8_t *out, struct gsm_lchan *lchan) { *out++ = lchan->encr.alg_id & 0xff; - if (lchan->encr.key_len) + switch (lchan->encr.alg_id) { + case GSM0808_ALG_ID_A5_0: + return 1; + + case GSM0808_ALG_ID_A5_1: + case GSM0808_ALG_ID_A5_2: + case GSM0808_ALG_ID_A5_3: + if (!lchan->encr.key_len) { + LOG_LCHAN(lchan, LOGL_ERROR, "A5/%d encryption chosen, but missing Kc\n", lchan->encr.alg_id); + return -EINVAL; + } memcpy(out, lchan->encr.key, lchan->encr.key_len); - return lchan->encr.key_len + 1; + return 1 + lchan->encr.key_len; + + default: + LOG_LCHAN(lchan, LOGL_ERROR, "A5/%d encryption not supported\n", lchan->encr.alg_id); + return -EINVAL; + } } /* If the TLV contain an RSL Cause IE, return pointer to the cause value. If there is no Cause IE, return @@ -595,6 +612,10 @@ rc = build_encr_info(encr_info, lchan); if (rc > 0) msgb_tlv_put(msg, RSL_IE_ENCR_INFO, rc, encr_info); + if (rc < 0) { + msgb_free(msg); + return rc; + } } switch (act_type) { @@ -688,6 +709,10 @@ rc = build_encr_info(encr_info, lchan); if (rc > 0) msgb_tlv_put(msg, RSL_IE_ENCR_INFO, rc, encr_info); + if (rc < 0) { + msgb_free(msg); + return rc; + } } if (gsm48_chan_mode_to_non_vamos(lchan->modify.ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24676 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I125d8aabceddd5b34cb98978cee9b6d2fc8fd0f2 Gerrit-Change-Number: 24676 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 Jun 15 13:53:43 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 15 Jun 2021 13:53:43 +0000 Subject: Change in osmo-bsc[master]: dissolve gsm0808_cipher_mode() into bssmap_handle_cipher_mode() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24677 ) Change subject: dissolve gsm0808_cipher_mode() into bssmap_handle_cipher_mode() ...................................................................... dissolve gsm0808_cipher_mode() into bssmap_handle_cipher_mode() An upcoming patch for A5/4 would need to add a kc128 arg and reject cause rc to gsm0808_cipher_mode(). Instead prepare for less cruft by just having a single function. Related: SYS#5324 Change-Id: I7f7c635943990a251ae28ae7a0d69cc3a239a154 --- M src/osmo-bsc/osmo_bsc_bssap.c 1 file changed, 25 insertions(+), 32 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/77/24677/1 diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index da0429b..0b1c649 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -416,34 +416,6 @@ return -1; } -/*! We received a GSM 08.08 CIPHER MODE from the MSC */ -static int gsm0808_cipher_mode(struct gsm_subscriber_connection *conn, int cipher, - const uint8_t *key, int len, int include_imeisv) -{ - if (cipher > 0 && key == NULL) { - LOGP(DRSL, LOGL_ERROR, "%s: Need to have an encryption key.\n", - bsc_subscr_name(conn->bsub)); - return -1; - } - - if (len > MAX_A5_KEY_LEN) { - LOGP(DRSL, LOGL_ERROR, "%s: The key is too long: %d\n", - bsc_subscr_name(conn->bsub), len); - return -1; - } - - LOGP(DRSL, LOGL_DEBUG, "(subscr %s) Cipher Mode: cipher=%d key=%s include_imeisv=%d\n", - bsc_subscr_name(conn->bsub), cipher, osmo_hexdump_nospc(key, len), include_imeisv); - - conn->lchan->encr.alg_id = RSL_ENC_ALG_A5(cipher); - if (key) { - conn->lchan->encr.key_len = len; - memcpy(conn->lchan->encr.key, key, len); - } - - return gsm48_send_rr_ciph_mode(conn->lchan, include_imeisv); -} - static int bssmap_handle_clear_cmd(struct gsm_subscriber_connection *conn, struct msgb *msg, unsigned int length) { @@ -553,13 +525,34 @@ goto reject; } - /* To complete the confusion, gsm0808_cipher_mode again expects the encryption as a number - * from 0 to 7. */ - if (gsm0808_cipher_mode(conn, chosen_cipher, enc_key, enc_key_len, - include_imeisv)) { + if (chosen_cipher > 0 && !enc_key_len) { + LOGP(DRSL, LOGL_ERROR, "%s: Need to have an encryption key.\n", + bsc_subscr_name(conn->bsub)); reject_cause = GSM0808_CAUSE_PROTOCOL_ERROR_BETWEEN_BSS_AND_MSC; goto reject; } + + if (enc_key_len > MAX_A5_KEY_LEN) { + LOGP(DRSL, LOGL_ERROR, "%s: The key is too long: %d\n", + bsc_subscr_name(conn->bsub), len); + reject_cause = GSM0808_CAUSE_PROTOCOL_ERROR_BETWEEN_BSS_AND_MSC; + goto reject; + } + + conn->lchan->encr.alg_id = RSL_ENC_ALG_A5(chosen_cipher); + if (enc_key_len) { + conn->lchan->encr.key_len = enc_key_len; + memcpy(conn->lchan->encr.key, enc_key, enc_key_len); + } + + LOGP(DRSL, LOGL_DEBUG, "(subscr %s) Cipher Mode: cipher=%d key=%s include_imeisv=%d\n", + bsc_subscr_name(conn->bsub), chosen_cipher, osmo_hexdump_nospc(enc_key, enc_key_len), + include_imeisv); + + if (gsm48_send_rr_ciph_mode(conn->lchan, include_imeisv) < 0) { + reject_cause = GSM0808_CAUSE_RADIO_INTERFACE_FAILURE; + goto reject; + } return 0; reject: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7f7c635943990a251ae28ae7a0d69cc3a239a154 Gerrit-Change-Number: 24677 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 Jun 15 14:28:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 14:28:01 +0000 Subject: Change in osmo-bsc[master]: use osmo_select_shutdown to get rid of SIGTERM sleep In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24675 ) Change subject: use osmo_select_shutdown to get rid of SIGTERM sleep ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24675 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9a4a629805c49240b8be412e9def298cdf5bc996 Gerrit-Change-Number: 24675 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 14:28: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 Jun 15 14:28:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 14:28:59 +0000 Subject: Change in osmo-bsc[master]: rewire build_encr_info() to return errors In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24676 ) Change subject: rewire build_encr_info() to return errors ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24676 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I125d8aabceddd5b34cb98978cee9b6d2fc8fd0f2 Gerrit-Change-Number: 24676 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 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 Tue Jun 15 14:31:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 14:31:32 +0000 Subject: Change in osmo-bsc[master]: dissolve gsm0808_cipher_mode() into bssmap_handle_cipher_mode() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24677 ) Change subject: dissolve gsm0808_cipher_mode() into bssmap_handle_cipher_mode() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7f7c635943990a251ae28ae7a0d69cc3a239a154 Gerrit-Change-Number: 24677 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 14: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 Tue Jun 15 15:59:08 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Tue, 15 Jun 2021 15:59:08 +0000 Subject: Change in osmo-gsm-tester[master]: util: fix the functions "create_netns" and "setcap_netsys_admin". References: Message-ID: alealcon has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24678 ) Change subject: util: fix the functions "create_netns" and "setcap_netsys_admin". ...................................................................... util: fix the functions "create_netns" and "setcap_netsys_admin". This commit fixes 2 functions from util.py: - setcap_netsys_admin: removed "self" from the arguments. - create_netns: pass "run_dir" to Process and convert the arguments to a list as the other methods in the file. Change-Id: Ida4c6d6500be92b8d1f96e4e7a870e63bd329be9 --- M src/osmo_gsm_tester/core/util.py 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/78/24678/1 diff --git a/src/osmo_gsm_tester/core/util.py b/src/osmo_gsm_tester/core/util.py index 691b489..5ca6ad9 100644 --- a/src/osmo_gsm_tester/core/util.py +++ b/src/osmo_gsm_tester/core/util.py @@ -102,7 +102,7 @@ proc = Process(SETCAP_NET_ADMIN_BIN, run_dir, ['sudo', SETCAP_NET_ADMIN_BIN, binary]) proc.launch_sync() -def setcap_netsys_admin(self, binary, run_dir): +def setcap_netsys_admin(binary, run_dir): ''' This functionality requires specific setup on the host running osmo-gsm-tester. See osmo-gsm-tester manual for more information. @@ -118,7 +118,7 @@ ''' from .process import Process NETNS_SETUP_BIN = 'osmo-gsm-tester_netns_setup.sh' - proc = Process('create_netns', ('sudo', NETNS_SETUP_BIN, netns)) + proc = Process('create_netns',run_dir, ['sudo', NETNS_SETUP_BIN, netns]) proc.launch_sync() def move_iface_to_netns(ifname, netns, run_dir): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24678 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ida4c6d6500be92b8d1f96e4e7a870e63bd329be9 Gerrit-Change-Number: 24678 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 16:00:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 16:00:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Validate new 'srvcc fast-return' VTY command References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24679 ) Change subject: bsc: Validate new 'srvcc fast-return' VTY command ...................................................................... bsc: Validate new 'srvcc fast-return' VTY command Related: SYS#5337 Change-Id: I227abc3793255e3916eba0dbc1460f46ec9926fe --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn 2 files changed, 38 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/79/24679/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 074fa60..5ab2dd1 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -5226,11 +5226,15 @@ } private function f_tc_ho_into_this_bsc(charstring id) runs on MSC_ConnHdlr { - var template PDU_ML3_NW_MS exp_rr_rel_tmpl := tr_RRM_RR_RELEASE; + var template PDU_ML3_NW_MS exp_rr_rel_tmpl; var template (omit) BSSMAP_oldToNewBSSIEs oldToNewBSSIEs := omit; if (not istemplatekind(g_pars.last_used_eutran_plmn, "omit")) { oldToNewBSSIEs := f_ts_BSSMAP_oldToNewBSSIEs(ts_BSSMAP_LastUsedEUTRANPLMNId(g_pars.last_used_eutran_plmn)); + } + if (g_pars.exp_fast_return) { exp_rr_rel_tmpl := tr_RRM_RR_RELEASE_CellSelectInd; + } else { + exp_rr_rel_tmpl := tr_RRM_RR_RELEASE; } f_ho_into_this_bsc(id, oldToNewBSSIEs); f_perform_clear(RSL, exp_rr_rel_tmpl); @@ -5278,10 +5282,26 @@ testcase TC_srvcc_eutran_to_geran() runs on test_CT { var TestHdlrParams pars := f_gen_test_hdlr_pars(); pars.last_used_eutran_plmn := '323454'O; + pars.exp_fast_return := true; f_tc_ho_into_this_bsc_main(pars); f_shutdown_helper(); } +/* Same as TC_srvcc_eutran_to_geran, but test explicitly forbiding fast return + on the BTS. As a result, RR Release shouldn't contain the EUTRAN neighbor + list when the channel is released. */ +testcase TC_srvcc_eutran_to_geran_forbid_fast_return() runs on test_CT { + f_init_vty(); + f_vty_allow_srvcc_fast_return(true, 0) + + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + pars.last_used_eutran_plmn := '323454'O; + pars.exp_fast_return := false; + f_tc_ho_into_this_bsc_main(pars); + f_vty_allow_srvcc_fast_return(false, 0); + f_shutdown_helper(); +} + private function f_tc_srvcc_eutran_to_geran_ho_out(charstring id) runs on MSC_ConnHdlr { var template (omit) BSSMAP_oldToNewBSSIEs oldToNewBSSIEs; oldToNewBSSIEs := f_ts_BSSMAP_oldToNewBSSIEs(ts_BSSMAP_LastUsedEUTRANPLMNId(g_pars.last_used_eutran_plmn)); @@ -5303,6 +5323,7 @@ f_ctrs_bsc_and_bts_init(); pars.last_used_eutran_plmn := '323454'O; + pars.exp_fast_return := true; pars.sccp_addr_msc := g_bssap[0].sccp_addr_own; pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer; @@ -7306,6 +7327,19 @@ f_vty_transceive(BSCVTY, "exit"); } +/* Allow/Forbid Fast Return after SRVCC on a given BTS via VTY */ +private function f_vty_allow_srvcc_fast_return(boolean allow, integer bts_nr) runs on test_CT { + f_vty_enter_cfg_bts(BSCVTY, bts_nr); + if (allow) { + f_vty_transceive(BSCVTY, "srvcc fast-return allow"); + } else { + f_vty_transceive(BSCVTY, "srvcc fast-return forbid"); + } + 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; @@ -8950,6 +8984,7 @@ } execute( TC_srvcc_eutran_to_geran() ); execute( TC_srvcc_eutran_to_geran_ho_out() ); + execute( TC_srvcc_eutran_to_geran_forbid_fast_return() ); execute( TC_ho_in_fail_msc_clears() ); execute( TC_ho_in_fail_msc_clears_after_ho_detect() ); execute( TC_ho_in_fail_no_detect() ); diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index c29ccd4..a4f1f51 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -590,6 +590,7 @@ TestHdlrParamsMSCPool mscpool, boolean media_mgw_offer_ipv6, OCT3 last_used_eutran_plmn optional, + boolean exp_fast_return, /* RR Release expected to contain CellSelectInd ? */ boolean expect_channel_mode_modify, uint3_t expect_tsc optional }; @@ -628,6 +629,7 @@ }, media_mgw_offer_ipv6 := true, last_used_eutran_plmn := omit, + exp_fast_return := false, expect_channel_mode_modify := false, expect_tsc := omit } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24679 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I227abc3793255e3916eba0dbc1460f46ec9926fe Gerrit-Change-Number: 24679 Gerrit-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 Jun 15 16:00:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 16:00:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Validate new SRVCC counters References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24680 ) Change subject: bsc: Validate new SRVCC counters ...................................................................... bsc: Validate new SRVCC counters Change-Id: Icf2cd00f4024533a1bd8ba52816750a836bc0cb2 --- M bsc/BSC_Tests.ttcn 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/80/24680/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 5ab2dd1..0e951dd 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -5284,6 +5284,10 @@ pars.last_used_eutran_plmn := '323454'O; pars.exp_fast_return := true; f_tc_ho_into_this_bsc_main(pars); + + f_ctrs_bsc_and_bts_add(0, "srvcc:attempted"); + f_ctrs_bsc_and_bts_add(0, "srvcc:completed"); + f_ctrs_bsc_and_bts_verify(); f_shutdown_helper(); } @@ -5336,6 +5340,9 @@ f_ctrs_bsc_and_bts_add(0, "interbsc_ho_in:completed", 1); f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:attempted", 1); f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:completed", 1); + + f_ctrs_bsc_and_bts_add(0, "srvcc:attempted", 1); + f_ctrs_bsc_and_bts_add(0, "srvcc:completed", 1); f_ctrs_bsc_and_bts_verify(); f_shutdown_helper(); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24680 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icf2cd00f4024533a1bd8ba52816750a836bc0cb2 Gerrit-Change-Number: 24680 Gerrit-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 Jun 15 16:04:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 16:04:36 +0000 Subject: Change in osmo-bsc[master]: Introduce counters to track SRVCC procedures References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24681 ) Change subject: Introduce counters to track SRVCC procedures ...................................................................... Introduce counters to track SRVCC procedures Related: SYS#5337 Change-Id: I5c20da56d465dbcf4366130394f7c42635a24cc7 --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bts.c M src/osmo-bsc/handover_fsm.c 4 files changed, 53 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/81/24681/1 diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 4436ed0..b6980d1 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -137,6 +137,13 @@ BTS_CTR_INTER_BSC_HO_IN_FAILED, BTS_CTR_INTER_BSC_HO_IN_TIMEOUT, BTS_CTR_INTER_BSC_HO_IN_ERROR, + BTS_CTR_SRVCC_ATTEMPTED, + BTS_CTR_SRVCC_COMPLETED, + BTS_CTR_SRVCC_STOPPED, + BTS_CTR_SRVCC_NO_CHANNEL, + BTS_CTR_SRVCC_TIMEOUT, + BTS_CTR_SRVCC_FAILED, + BTS_CTR_SRVCC_ERROR, }; extern const struct rate_ctr_desc bts_ctr_description[]; diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 37e3899..2a73f46 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1116,6 +1116,13 @@ BSC_CTR_INTER_BSC_HO_IN_FAILED, BSC_CTR_INTER_BSC_HO_IN_TIMEOUT, BSC_CTR_INTER_BSC_HO_IN_ERROR, + BSC_CTR_SRVCC_ATTEMPTED, + BSC_CTR_SRVCC_COMPLETED, + BSC_CTR_SRVCC_STOPPED, + BSC_CTR_SRVCC_NO_CHANNEL, + BSC_CTR_SRVCC_TIMEOUT, + BSC_CTR_SRVCC_FAILED, + BSC_CTR_SRVCC_ERROR, BSC_CTR_PAGING_ATTEMPTED, BSC_CTR_PAGING_DETACHED, BSC_CTR_PAGING_RESPONDED, @@ -1181,6 +1188,14 @@ [BSC_CTR_INTER_BSC_HO_IN_ERROR] = {"interbsc_ho_in:error", "Handover from remote BSS failed for other reason"}, + [BSC_CTR_SRVCC_ATTEMPTED] = {"srvcc:attempted", "Intra-BSC SRVCC attempts"}, + [BSC_CTR_SRVCC_COMPLETED] = {"srvcc:completed", "Intra-BSC SRVCC completed"}, + [BSC_CTR_SRVCC_STOPPED] = {"srvcc:stopped", "Connection ended during HO"}, + [BSC_CTR_SRVCC_NO_CHANNEL] = {"srvcc:no_channel", "Failure to allocate lchan for HO"}, + [BSC_CTR_SRVCC_TIMEOUT] = {"srvcc:timeout", "SRVCC timed out"}, + [BSC_CTR_SRVCC_FAILED] = {"srvcc:failed", "Received SRVCC Fail messages"}, + [BSC_CTR_SRVCC_ERROR] = {"srvcc:error", "Re-assignment failed for other reason"}, + [BSC_CTR_PAGING_ATTEMPTED] = {"paging:attempted", "Paging attempts for a subscriber"}, [BSC_CTR_PAGING_DETACHED] = {"paging:detached", "Paging request send failures because no responsible BTS was found"}, [BSC_CTR_PAGING_RESPONDED] = {"paging:responded", "Paging attempts with successful response"}, diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index e140565..b64890f 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -1110,6 +1110,28 @@ [BTS_CTR_INTER_BSC_HO_IN_ERROR] = \ { "interbsc_ho_in:error", "Handover from remote BSS failed for other reason" }, + + [BTS_CTR_SRVCC_ATTEMPTED] = \ + { "srvcc:attempted", + "Intra-BSC handover attempts" }, + [BTS_CTR_SRVCC_COMPLETED] = \ + { "srvcc:completed", + "Intra-BSC handover completed" }, + [BTS_CTR_SRVCC_STOPPED] = \ + { "srvcc:stopped", + "Connection ended during HO" }, + [BTS_CTR_SRVCC_NO_CHANNEL] = \ + { "srvcc:no_channel", + "Failure to allocate lchan for HO" }, + [BTS_CTR_SRVCC_TIMEOUT] = \ + { "srvcc:timeout", + "Handover timed out" }, + [BTS_CTR_SRVCC_FAILED] = \ + { "srvcc:failed", + "Received Handover Fail messages" }, + [BTS_CTR_SRVCC_ERROR] = \ + { "srvcc:error", + "Re-assignment failed for other reason" }, }; const struct rate_ctr_group_desc bts_ctrg_desc = { diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 08b1dc7..cae5167 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -725,6 +725,7 @@ conn->fast_return.last_eutran_plmn_valid = true; memcpy(&conn->fast_return.last_eutran_plmn, &req->last_eutran_plmn, sizeof(conn->fast_return.last_eutran_plmn)); + ho_count(ho->new_bts, CTR_SRVCC_ATTEMPTED); } lchan_activate(ho->new_lchan, &info); @@ -824,6 +825,9 @@ } } +FUNC_RESULT_COUNTER(BSC, SRVCC) +FUNC_RESULT_COUNTER(BTS, SRVCC) + static void send_handover_performed(struct gsm_subscriber_connection *conn) { struct gsm_lchan *lchan = conn->lchan; @@ -977,6 +981,11 @@ ho_count_bsc(result_counter_bsc(ho->scope, result)); ho_count_bts(bts, result_counter_BTS_HANDOVER(result)); ho_count_bts(bts, result_counter_bts(ho->scope, result)); + if (ho->scope & HO_INTER_BSC_IN && conn->fast_return.last_eutran_plmn_valid) { + /* From outside local BSC and with Last EUTRAN PLMN Id => SRVCC */ + ho_count_bsc(result_counter_BSC_SRVCC(result)); + ho_count_bts(bts, result_counter_BTS_SRVCC(result)); + } LOG_HO(conn, LOGL_INFO, "Result: %s\n", handover_result_name(result)); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24681 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5c20da56d465dbcf4366130394f7c42635a24cc7 Gerrit-Change-Number: 24681 Gerrit-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 Jun 15 16:06:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 16:06:20 +0000 Subject: Change in osmo-bsc[master]: Introduce VTY command to disable srvcc fast-return on target BTS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24666 ) Change subject: Introduce VTY command to disable srvcc fast-return on target BTS ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24666 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2ac91b5dffc9b6de60576aabe21a15f24fea38cb Gerrit-Change-Number: 24666 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 15 Jun 2021 16:06:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 16:06:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 16:06:55 +0000 Subject: Change in libosmocore[master]: ctrl: Support recovering from short write In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24640 ) Change subject: ctrl: Support recovering from short write ...................................................................... Patch Set 1: ping? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6cbc7ec6ae6832e61cddf4402332ba09b142a7d4 Gerrit-Change-Number: 24640 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-CC: neels Gerrit-Comment-Date: Tue, 15 Jun 2021 16:06: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 Tue Jun 15 16:10:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 16:10:18 +0000 Subject: Change in osmo-gsm-tester[master]: util: fix the functions "create_netns" and "setcap_netsys_admin". In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24678 ) Change subject: util: fix the functions "create_netns" and "setcap_netsys_admin". ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24678/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24678/1//COMMIT_MSG at 11 PS1, Line 11: - create_netns: pass "run_dir" to Process and convert the arguments to ACK for the first. For the second, It's not really a fix since it works fine anyway. Furthermore, there's a "copy" of the function in remote.py, and this one from util.py is only used when running a ms_srs locally we nobody usually does. But the copy in remote.py is also using () instead of []. So please have a looks what's the best and submit a different commit if needed changing both. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24678 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ida4c6d6500be92b8d1f96e4e7a870e63bd329be9 Gerrit-Change-Number: 24678 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 16:10:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 16:24:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:24:34 +0000 Subject: Change in osmo-bsc[master]: Introduce VTY command to disable srvcc fast-return on target BTS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24666 ) Change subject: Introduce VTY command to disable srvcc fast-return on target BTS ...................................................................... Patch Set 2: the question is how the intended behavior is supposed to work. You are introducing a per-BTS permission, but you are only using that permission (copying it from the gsm_bts to the subscr_conn) at the time of the initial inbound handover into the BSC. So the first BTS determines the permission for the entire connection, even if it gets handed over 10 more times within this BSC to other BTS later on. Shouldn't the (config of the) BTS at the time of termination of the call determine whether or not add thosee EUTRAN fast return related IEs? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24666 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2ac91b5dffc9b6de60576aabe21a15f24fea38cb Gerrit-Change-Number: 24666 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 15 Jun 2021 16:24: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 Jun 15 16:26:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:26:33 +0000 Subject: Change in osmo-bsc[master]: Introduce counters to track SRVCC procedures In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24681 ) Change subject: Introduce counters to track SRVCC procedures ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24681 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5c20da56d465dbcf4366130394f7c42635a24cc7 Gerrit-Change-Number: 24681 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 15 Jun 2021 16: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 Tue Jun 15 16:26:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 16:26:47 +0000 Subject: Change in osmo-bsc[master]: Introduce VTY command to disable srvcc fast-return on target BTS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24666 ) Change subject: Introduce VTY command to disable srvcc fast-return on target BTS ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24666/2/src/osmo-bsc/osmo_bsc_bssap.c File src/osmo-bsc/osmo_bsc_bssap.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24666/2/src/osmo-bsc/osmo_bsc_bssap.c at 1379 PS2, Line 1379: params.old_bss_to_new_bss_info_present = true; Please see here, I already took into account what you say. If MS moved to another BTS, the relevant info is still being passed to the new BTS, and then it's up to the new BTS to decide. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24666 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2ac91b5dffc9b6de60576aabe21a15f24fea38cb Gerrit-Change-Number: 24666 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 15 Jun 2021 16:26: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 Jun 15 16:28:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:28:33 +0000 Subject: Change in libosmocore[master]: ctrl: Support recovering from short write In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24640 ) Change subject: ctrl: Support recovering from short write ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6cbc7ec6ae6832e61cddf4402332ba09b142a7d4 Gerrit-Change-Number: 24640 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Tue, 15 Jun 2021 16:28: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 Jun 15 16:29:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:29:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Fix race condition exiting f_ho_out_of_this_bsc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24665 ) Change subject: bsc: Fix race condition exiting f_ho_out_of_this_bsc ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24665 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I590b09353900dfe6c4f648812ab675fed1908589 Gerrit-Change-Number: 24665 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 15 Jun 2021 16:29: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 Jun 15 16:29:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 16:29:21 +0000 Subject: Change in libosmocore[master]: ctrl: Pre-calculate required size before allocating msgb In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24639 ) Change subject: ctrl: Pre-calculate required size before allocating msgb ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0b8f370f7b08736207f9efed13a0663b5e482824 Gerrit-Change-Number: 24639 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 16:29: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 Jun 15 16:29:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 16:29:44 +0000 Subject: Change in libosmocore[master]: ctrl: Pre-calculate required size before allocating msgb In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24639 ) Change subject: ctrl: Pre-calculate required size before allocating msgb ...................................................................... ctrl: Pre-calculate required size before allocating msgb This commit fixes crash when response is more than ~4096 chars. Furthermore, we now allocate only the required memory, not 4096 for all messages, which usually don't require it. Test needs to be adapted since it assumed there was more available space at the end of the msgb. Related: OS#5169 Change-Id: I0b8f370f7b08736207f9efed13a0663b5e482824 --- M src/ctrl/control_cmd.c M tests/ctrl/ctrl_test.c 2 files changed, 34 insertions(+), 62 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve dexter: Looks good to me, but someone else must approve keith: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified Objections: neels: I would prefer this is not merged as is diff --git a/src/ctrl/control_cmd.c b/src/ctrl/control_cmd.c index 33496bd..753e6cc 100644 --- a/src/ctrl/control_cmd.c +++ b/src/ctrl/control_cmd.c @@ -516,92 +516,61 @@ * \returns callee-allocated message buffer containing the encoded \a cmd; NULL on error */ struct msgb *ctrl_cmd_make(struct ctrl_cmd *cmd) { - struct msgb *msg; + struct msgb *msg = NULL; + char *strbuf; + size_t len; const char *type; - char *tmp; if (!cmd->id) return NULL; - msg = msgb_alloc_headroom(4096, 128, "ctrl command make"); - if (!msg) - return NULL; - type = get_value_string(ctrl_type_vals, cmd->type); switch (cmd->type) { case CTRL_TYPE_GET: if (!cmd->variable) - goto err; - - tmp = talloc_asprintf(cmd, "%s %s %s", type, cmd->id, cmd->variable); - if (!tmp) { - LOGP(DLCTRL, LOGL_ERROR, "Failed to allocate cmd.\n"); - goto err; - } - - msg->l2h = msgb_put(msg, strlen(tmp)); - memcpy(msg->l2h, tmp, strlen(tmp)); - talloc_free(tmp); + return NULL; + strbuf = talloc_asprintf(cmd, "%s %s %s", type, cmd->id, cmd->variable); break; case CTRL_TYPE_SET: if (!cmd->variable || !cmd->value) - goto err; - - tmp = talloc_asprintf(cmd, "%s %s %s %s", type, cmd->id, cmd->variable, - cmd->value); - if (!tmp) { - LOGP(DLCTRL, LOGL_ERROR, "Failed to allocate cmd.\n"); - goto err; - } - - msg->l2h = msgb_put(msg, strlen(tmp)); - memcpy(msg->l2h, tmp, strlen(tmp)); - talloc_free(tmp); + return NULL; + strbuf = talloc_asprintf(cmd, "%s %s %s %s", type, cmd->id, + cmd->variable, cmd->value); break; case CTRL_TYPE_GET_REPLY: case CTRL_TYPE_SET_REPLY: case CTRL_TYPE_TRAP: if (!cmd->variable || !cmd->reply) - goto err; - - tmp = talloc_asprintf(cmd, "%s %s %s %s", type, cmd->id, cmd->variable, - cmd->reply); - if (!tmp) { - LOGP(DLCTRL, LOGL_ERROR, "Failed to allocate cmd.\n"); - goto err; - } - - msg->l2h = msgb_put(msg, strlen(tmp)); - memcpy(msg->l2h, tmp, strlen(tmp)); - talloc_free(tmp); + return NULL; + strbuf = talloc_asprintf(cmd, "%s %s %s %s", type, cmd->id, + cmd->variable, cmd->reply); break; case CTRL_TYPE_ERROR: if (!cmd->reply) - goto err; - - tmp = talloc_asprintf(cmd, "%s %s %s", type, cmd->id, - cmd->reply); - if (!tmp) { - LOGP(DLCTRL, LOGL_ERROR, "Failed to allocate cmd.\n"); - goto err; - } - - msg->l2h = msgb_put(msg, strlen(tmp)); - memcpy(msg->l2h, tmp, strlen(tmp)); - talloc_free(tmp); + return NULL; + strbuf = talloc_asprintf(cmd, "%s %s %s", type, cmd->id, cmd->reply); break; default: LOGP(DLCTRL, LOGL_NOTICE, "Unknown command type %i\n", cmd->type); - goto err; - break; + return NULL; } - return msg; + if (!strbuf) { + LOGP(DLCTRL, LOGL_ERROR, "Failed to allocate cmd.\n"); + goto ret; + } + len = strlen(strbuf); -err: - msgb_free(msg); - return NULL; + msg = msgb_alloc_headroom(len + 128, 128, "ctrl ERROR command make"); + if (!msg) + goto ret; + msg->l2h = msgb_put(msg, len); + memcpy(msg->l2h, strbuf, len); + +ret: + talloc_free(strbuf); + return msg; } /*! Build a deferred control command state and keep it the per-connection list of deferred commands. diff --git a/tests/ctrl/ctrl_test.c b/tests/ctrl/ctrl_test.c index b46e9ac..01fb9f7 100644 --- a/tests/ctrl/ctrl_test.c +++ b/tests/ctrl/ctrl_test.c @@ -117,11 +117,14 @@ } else { struct msgb *sent_msg = msgb_dequeue(&ccon->write_queue.msg_queue); OSMO_ASSERT(sent_msg); - msgb_put_u8(sent_msg, 0); - printf("replied: '%s'\n", osmo_escape_str((char*)msgb_l2(sent_msg), -1)); + char *strbuf = talloc_size(sent_msg, msgb_l2len(sent_msg) + 1); + memcpy(strbuf, msgb_l2(sent_msg), msgb_l2len(sent_msg)); + strbuf[msgb_l2len(sent_msg)] = '\0'; + + printf("replied: '%s'\n", osmo_escape_str(strbuf, -1)); OSMO_ASSERT(t->reply_str); - OSMO_ASSERT(!strcmp(t->reply_str, (char*)msgb_l2(sent_msg))); + OSMO_ASSERT(!strcmp(t->reply_str, strbuf)); msgb_free(sent_msg); } osmo_wqueue_clear(&ccon->write_queue); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0b8f370f7b08736207f9efed13a0663b5e482824 Gerrit-Change-Number: 24639 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: keith 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 Jun 15 16:29:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 16:29:45 +0000 Subject: Change in libosmocore[master]: ctrl: Support recovering from short write In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24640 ) Change subject: ctrl: Support recovering from short write ...................................................................... ctrl: Support recovering from short write osmo_wqueue has support for it, so simply handle it correctly in the callback (updating buffer and returning -EAGAIN). Related: OS#5169 Change-Id: I6cbc7ec6ae6832e61cddf4402332ba09b142a7d4 --- M src/ctrl/control_if.c 1 file changed, 7 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified Objections: fixeria: I would prefer this is not merged as is diff --git a/src/ctrl/control_if.c b/src/ctrl/control_if.c index d117fcf..0a893ba 100644 --- a/src/ctrl/control_if.c +++ b/src/ctrl/control_if.c @@ -489,8 +489,14 @@ control_close_conn(ccon); return -EBADF; } - if (rc != msg->len) + if (rc < 0) { LOGP(DLCTRL, LOGL_ERROR, "Failed to write message to the CTRL connection.\n"); + return 0; + } + if (rc < msg->len) { + msgb_pull(msg, rc); + return -EAGAIN; + } return 0; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6cbc7ec6ae6832e61cddf4402332ba09b142a7d4 Gerrit-Change-Number: 24640 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 16:29:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:29:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Validate new 'srvcc fast-return' VTY command In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24679 ) Change subject: bsc: Validate new 'srvcc fast-return' VTY command ...................................................................... Patch Set 1: might need extensions if you consider the 'subsequent intra-GSM-HO after SRVCC EUTRA->GERAN" case I mentioned in the review of the osmo-bsc patch. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24679 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I227abc3793255e3916eba0dbc1460f46ec9926fe Gerrit-Change-Number: 24679 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 15 Jun 2021 16:29:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 16:29:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:29:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Validate new SRVCC counters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24680 ) Change subject: bsc: Validate new SRVCC counters ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24680 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icf2cd00f4024533a1bd8ba52816750a836bc0cb2 Gerrit-Change-Number: 24680 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 15 Jun 2021 16:29:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 16:30:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:30:12 +0000 Subject: Change in osmo-bsc[master]: use osmo_select_shutdown to get rid of SIGTERM sleep In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24675 ) Change subject: use osmo_select_shutdown to get rid of SIGTERM sleep ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24675 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9a4a629805c49240b8be412e9def298cdf5bc996 Gerrit-Change-Number: 24675 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 16:30: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 Jun 15 16:30:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 16:30:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Validate new 'srvcc fast-return' VTY command In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24679 ) Change subject: bsc: Validate new 'srvcc fast-return' VTY command ...................................................................... Patch Set 1: > Patch Set 1: > > might need extensions if you consider the 'subsequent intra-GSM-HO after SRVCC EUTRA->GERAN" case I mentioned in the review of the osmo-bsc patch. I can add a test verifying that even if fast-return is disabled for local BTS, the subsequen inra-GSM-HO still contains the OldBSSToNewBSSInfo -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24679 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I227abc3793255e3916eba0dbc1460f46ec9926fe Gerrit-Change-Number: 24679 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 15 Jun 2021 16:30:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 16:32:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:32:17 +0000 Subject: Change in libosmocore[master]: osmo_select_shutdown_request(): allow finishing pending writes on SIG... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24544 ) Change subject: osmo_select_shutdown_request(): allow finishing pending writes on SIGTERM ...................................................................... Patch Set 3: (1 comment) lgtm, except for the question about the conditional osmo_timers_update() https://gerrit.osmocom.org/c/libosmocore/+/24544/3/src/select.c File src/select.c: https://gerrit.osmocom.org/c/libosmocore/+/24544/3/src/select.c at 387 PS3, Line 387: if (!_osmo_select_shutdown_requested) > I'm not sure if this is a good idea, it could affect assumptions on the application, leading to diff [?] I'd also say it's an over-optimization. do we care if osmo_timers_update() is called unconditionally here? What would be the danger of keeping the current behavior? Maybe pespin and I don't get the rationale. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib94d4316924103459577087c2214188679db2227 Gerrit-Change-Number: 24544 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 16:32: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 Jun 15 16:32:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:32:49 +0000 Subject: Change in osmo-bsc[master]: rewire build_encr_info() to return errors In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24676 ) Change subject: rewire build_encr_info() to return errors ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24676 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I125d8aabceddd5b34cb98978cee9b6d2fc8fd0f2 Gerrit-Change-Number: 24676 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 16:32: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 Jun 15 16:33:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:33:22 +0000 Subject: Change in osmo-bsc[master]: dissolve gsm0808_cipher_mode() into bssmap_handle_cipher_mode() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24677 ) Change subject: dissolve gsm0808_cipher_mode() into bssmap_handle_cipher_mode() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7f7c635943990a251ae28ae7a0d69cc3a239a154 Gerrit-Change-Number: 24677 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 16:33: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 Jun 15 16:33:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:33:52 +0000 Subject: Change in osmo-bsc[master]: vty: allow A5/4 encryption in config In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24634 ) Change subject: vty: allow A5/4 encryption in config ...................................................................... Patch Set 2: Code-Review+1 I would merge this with the patch actually introducing the A5/4 capability. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24634 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icac06ed554fd61bf7c4bfb1d5c3739a01f2915a4 Gerrit-Change-Number: 24634 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 16:33:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 16:34:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:34:37 +0000 Subject: Change in osmo-bsc[master]: implement A5/4 in Ciphering Mode procedure In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24635 ) Change subject: implement A5/4 in Ciphering Mode procedure ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24635 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7c458c8a7350f34ff79531b3c891e1b367614469 Gerrit-Change-Number: 24635 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 15 Jun 2021 16: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 Tue Jun 15 16:35:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:35:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667 ) Change subject: bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I83eca18d1b3d8d58177aa3750935ec5a3a985ca4 Gerrit-Change-Number: 24667 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 16:35: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 Jun 15 16:35:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:35:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: reduce args to f_cipher_mode() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24668 ) Change subject: bsc: reduce args to f_cipher_mode() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24668 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2cb8282e55436da5ae64ab569df87d5d5a0dd2f0 Gerrit-Change-Number: 24668 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 16:35:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 16:37:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:37:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: implement ttcn API and cfg for A5/4 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669 ) Change subject: bsc: implement ttcn API and cfg for A5/4 ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669/1/bsc/MSC_ConnectionHandler.ttcn File bsc/MSC_ConnectionHandler.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669/1/bsc/MSC_ConnectionHandler.ttcn at 732 PS1, Line 732: expect_kc := enc.enc_kc128; > why not using same field regardless of the algo? in the end it's an octetstring. a BSC has both a 64bit and a 128bit key simultaneously, and will use either of the two depending of the ciphering capabilities of the BTS e.g. during hand-over. So likewise, the tests emulating the MSC+BTS must handle both in parallel. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifa48a8498dde7d04fb29f497013bdb5a1e5f3597 Gerrit-Change-Number: 24669 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 16:37:39 +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 Jun 15 16:37:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:37:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: implement ttcn API and cfg for A5/4 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669 ) Change subject: bsc: implement ttcn API and cfg for A5/4 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifa48a8498dde7d04fb29f497013bdb5a1e5f3597 Gerrit-Change-Number: 24669 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 16: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 Tue Jun 15 16:39:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 16:39:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: implement ttcn API and cfg for A5/4 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669 ) Change subject: bsc: implement ttcn API and cfg for A5/4 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifa48a8498dde7d04fb29f497013bdb5a1e5f3597 Gerrit-Change-Number: 24669 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 16:39: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 Jun 15 16:41:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:41:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_cipher_mode(): fail quicker on key mismatch In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24670 ) Change subject: bsc: f_cipher_mode(): fail quicker on key mismatch ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24670/1/bsc/MSC_ConnectionHandler.ttcn File bsc/MSC_ConnectionHandler.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24670/1/bsc/MSC_ConnectionHandler.ttcn at 734 PS1, Line 734: expect_kc := ''O; > why isn't enc. [?] I don't know the details in the tests, but as I staed in the other comment, the UE and BSC will store different 64bit and 128bit keys simultaneously, and use whatever is the best within the current BTS (think of HO). -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia79779f4229da4a5af271235a5e82c6fd59ea3a2 Gerrit-Change-Number: 24670 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 16:41:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 16:41:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:41:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_cipher_mode(): verify enc alg in Cipher Mode Complete msg In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24671 ) Change subject: bsc: f_cipher_mode(): verify enc alg in Cipher Mode Complete msg ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24671 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I88b386c55e23cc180131e95a005d08cbc3ec102b Gerrit-Change-Number: 24671 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 16:41: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 Jun 15 16:41:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:41:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_ciph_mode_a5_4 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24672 ) Change subject: bsc: add TC_ciph_mode_a5_4 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24672 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2428c21663dfa7d67e769da0127f74e8c01dfb97 Gerrit-Change-Number: 24672 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 16:41:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 16:41:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:41:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_assignment_fr_a5_4 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24673 ) Change subject: bsc: add TC_assignment_fr_a5_4 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24673 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9ad899bd15a1f7ba0a44764f7d2a94f5b627053f Gerrit-Change-Number: 24673 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 16:41:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 16:42:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:42:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add BSC_Tests.TC_assignment_fr_a5_4_fail In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24674 ) Change subject: bsc: add BSC_Tests.TC_assignment_fr_a5_4_fail ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7734a4a59797a9b21523c33f48815a8094f4e6ec Gerrit-Change-Number: 24674 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 16:42:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 16:43:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:43:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Fix race condition exiting f_ho_out_of_this_bsc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24665 ) Change subject: bsc: Fix race condition exiting f_ho_out_of_this_bsc ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24665 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I590b09353900dfe6c4f648812ab675fed1908589 Gerrit-Change-Number: 24665 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 15 Jun 2021 16:43: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 Jun 15 16:43:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:43:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Fix race condition exiting f_ho_out_of_this_bsc In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24665 ) Change subject: bsc: Fix race condition exiting f_ho_out_of_this_bsc ...................................................................... bsc: Fix race condition exiting f_ho_out_of_this_bsc The function didn't wait to receive the 2 messages from the BSC. As a result, they may have arrived while tearing down the test components shortly after exiting the function and provoke a Dynamic Test Error while pushing the messages up the stack since some of the stack layers may already be unavailable. Test TC_ho_out_of_this_bsc() workarounded this by using a f_sleep(1), but TC_srvcc_eutran_to_geran_ho_out() didn't, making it fail sometimes. Change-Id: I590b09353900dfe6c4f648812ab675fed1908589 --- M bsc/BSC_Tests.ttcn 1 file changed, 6 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 41deea1..074fa60 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -4858,6 +4858,12 @@ BSSAP.send(ts_BSSMAP_ClearCommand(cause)); f_expect_dlcx_conns(); + + interleave { + [] 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)); + } setverdict(pass); } @@ -4870,7 +4876,6 @@ f_establish_fully(ass_req, exp_compl); f_ho_out_of_this_bsc(); - f_sleep(1.0); } testcase TC_ho_out_of_this_bsc() runs on test_CT { var MSC_ConnHdlr vc_conn; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24665 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I590b09353900dfe6c4f648812ab675fed1908589 Gerrit-Change-Number: 24665 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 16:43:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:43:24 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/transceiver.py: allow NOPE.ind on inactive timeslots In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24659 ) Change subject: trx_toolkit/transceiver.py: allow NOPE.ind on inactive timeslots ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24659 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I27a3c8897cb82f6c264d34702c4ec64561bb9809 Gerrit-Change-Number: 24659 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 16:43: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 Jun 15 16:43:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:43:35 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: cosmetic: move TDMA frame number calculation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24660 ) Change subject: trxcon/scheduler: cosmetic: move TDMA frame number calculation ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24660 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I79efdfa543d37889dc6749eb25aab4e1639749c6 Gerrit-Change-Number: 24660 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 16:43:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 16:44:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:44:12 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: introduce and use struct sched_burst_req In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24661 ) Change subject: trxcon/scheduler: introduce and use struct sched_burst_req ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Gerrit-Change-Number: 24661 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 16:44:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 16:44:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:44:40 +0000 Subject: Change in osmocom-bb[master]: trxcon/trx_if: send NOPE indications if there is no burst In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24662 ) Change subject: trxcon/trx_if: send NOPE indications if there is no burst ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24662 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I1c7f1315b8ef44f651efd6a22fb5b854f65c0946 Gerrit-Change-Number: 24662 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 16:44:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 16:44:43 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Tue, 15 Jun 2021 16:44:43 +0000 Subject: Change in osmo-gsm-tester[master]: util: fix the functions "create_netns" and "setcap_netsys_admin". In-Reply-To: References: Message-ID: alealcon has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24678 ) Change subject: util: fix the functions "create_netns" and "setcap_netsys_admin". ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24678/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24678/1//COMMIT_MSG at 11 PS1, Line 11: - create_netns: pass "run_dir" to Process and convert the arguments to > ACK for the first. For the second, It's not really a fix since it works fine anyway. [?] It doesn't work. The local one uses the Process class, with the constructor def __init__(self, name, run_dir, popen_args, **popen_kwargs): and it needs the run_dir or it crashed because it mismatches the args with the run_dir. remote.py uses the RemoteProcess function with a different arguments: def RemoteProcess(self, name, popen_args, remote_env={}, **popen_kwargs): It's true that remote.py uses () instead [], but in utils.py almost all the methods use [], so I wanted to be consistent within that file. If you prefer () only for that function I can update the commit -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24678 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ida4c6d6500be92b8d1f96e4e7a870e63bd329be9 Gerrit-Change-Number: 24678 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 16:44:43 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 16:45:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:45:14 +0000 Subject: Change in osmo-pcu[master]: pcuif: Support receiving System Information 2 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24621 ) Change subject: pcuif: Support receiving System Information 2 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24621 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4a9c4f70beac6805322a19835a0d30f7247780b4 Gerrit-Change-Number: 24621 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 15 Jun 2021 16:45: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 Jun 15 16:46:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:46:43 +0000 Subject: Change in osmo-pcu[master]: pcuif_proto.h: Introduce anr_{req, cnf} messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24620 ) Change subject: pcuif_proto.h: Introduce anr_{req,cnf} messages ...................................................................... Patch Set 1: Code-Review+1 curious to see the BTS side of this. I'm surprised that the BSC-originated messages appear on the PCUIF socket without any kind of explicit discrimnator that differentiates them from BTS-originated messages? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24620 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib6c7bf5ca5a06186a71ec50cfc1a91a5c9b01d9c Gerrit-Change-Number: 24620 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 15 Jun 2021 16:46: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 Jun 15 16:47:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 16:47:26 +0000 Subject: Change in osmo-gsm-tester[master]: util: fix the functions "create_netns" and "setcap_netsys_admin". In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24678 ) Change subject: util: fix the functions "create_netns" and "setcap_netsys_admin". ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24678 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ida4c6d6500be92b8d1f96e4e7a870e63bd329be9 Gerrit-Change-Number: 24678 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 16:47:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 16:47:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 16:47:28 +0000 Subject: Change in osmo-gsm-tester[master]: util: fix the functions "create_netns" and "setcap_netsys_admin". In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24678 ) Change subject: util: fix the functions "create_netns" and "setcap_netsys_admin". ...................................................................... util: fix the functions "create_netns" and "setcap_netsys_admin". This commit fixes 2 functions from util.py: - setcap_netsys_admin: removed "self" from the arguments. - create_netns: pass "run_dir" to Process and convert the arguments to a list as the other methods in the file. Change-Id: Ida4c6d6500be92b8d1f96e4e7a870e63bd329be9 --- M src/osmo_gsm_tester/core/util.py 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/core/util.py b/src/osmo_gsm_tester/core/util.py index 691b489..5ca6ad9 100644 --- a/src/osmo_gsm_tester/core/util.py +++ b/src/osmo_gsm_tester/core/util.py @@ -102,7 +102,7 @@ proc = Process(SETCAP_NET_ADMIN_BIN, run_dir, ['sudo', SETCAP_NET_ADMIN_BIN, binary]) proc.launch_sync() -def setcap_netsys_admin(self, binary, run_dir): +def setcap_netsys_admin(binary, run_dir): ''' This functionality requires specific setup on the host running osmo-gsm-tester. See osmo-gsm-tester manual for more information. @@ -118,7 +118,7 @@ ''' from .process import Process NETNS_SETUP_BIN = 'osmo-gsm-tester_netns_setup.sh' - proc = Process('create_netns', ('sudo', NETNS_SETUP_BIN, netns)) + proc = Process('create_netns',run_dir, ['sudo', NETNS_SETUP_BIN, netns]) proc.launch_sync() def move_iface_to_netns(ifname, netns, run_dir): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24678 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ida4c6d6500be92b8d1f96e4e7a870e63bd329be9 Gerrit-Change-Number: 24678 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 16:54:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 16:54:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Validate new 'srvcc fast-return' VTY command 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/+/24679 to look at the new patch set (#2). Change subject: bsc: Validate new 'srvcc fast-return' VTY command ...................................................................... bsc: Validate new 'srvcc fast-return' VTY command Related: SYS#5337 Change-Id: I227abc3793255e3916eba0dbc1460f46ec9926fe --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn 2 files changed, 61 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/79/24679/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24679 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I227abc3793255e3916eba0dbc1460f46ec9926fe Gerrit-Change-Number: 24679 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 16:59:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:59:28 +0000 Subject: Change in osmo-bts[master]: pcuif_proto.h: Introduce anr_{req, cnf} messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24618 ) Change subject: pcuif_proto.h: Introduce anr_{req,cnf} messages ...................................................................... Patch Set 3: I would suggest to somehow introduce an entirely new "transparent" channel from the BSC. The way how you're doing it herre (flat next to the BTS originated messages) looks like the BTS will still need to be updated every time some new message between PCU and BSC is added. I would simply introduce something like a BSC_TO_PCU_IND and PCU_TO_BSC_IND at the msg_type level. At that point the BTS doesn't care anymore, it just passes those messages back and forth between PCU and BSC. The payload is opaqua and needs to be understood only by those two. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8deef11f9ec191475c99133629cd5cd9048c4bcb Gerrit-Change-Number: 24618 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 15 Jun 2021 16:59:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 16:59:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 16:59:42 +0000 Subject: Change in osmo-bts[master]: pcu_sock: Transmit SI2 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24617 ) Change subject: pcu_sock: Transmit SI2 ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24617 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If70c64f941f621a9a68aef2c846639b5c7f2f74b Gerrit-Change-Number: 24617 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 15 Jun 2021 16:59:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 17:00:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 17:00:51 +0000 Subject: Change in osmo-bts[master]: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24619 ) Change subject: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU ...................................................................... Patch Set 3: I would suggest to somehow introduce an entirely new "transparent" channel from the BSC. The way how you're doing it herre (flat next to the BTS originated messages) looks like the BTS will still need to be updated every time some new message between PCU and BSC is added. I would simply introduce something like a BSC_TO_PCU_IND and PCU_TO_BSC_IND at the msg_type level. At that point the BTS doesn't care anymore, it just passes those messages back and forth between PCU and BSC. The payload is opaqua and needs to be understood only by those two. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I73fdb17107494ade9263a62d1f729e67303fce87 Gerrit-Change-Number: 24619 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 15 Jun 2021 17:00:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 17:01:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 17:01:21 +0000 Subject: Change in osmo-bts[master]: pcuif_proto.h: Introduce anr_{req, cnf} messages In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24618 ) Change subject: pcuif_proto.h: Introduce anr_{req,cnf} messages ...................................................................... Patch Set 3: > Patch Set 3: > > I would suggest to somehow introduce an entirely new "transparent" channel from the BSC. The way how you're doing it herre (flat next to the BTS originated messages) looks like the BTS will still need to be updated every time some new message between PCU and BSC is added. > > I would simply introduce something like a BSC_TO_PCU_IND and PCU_TO_BSC_IND at the msg_type level. At that point the BTS doesn't care anymore, it just passes those messages back and forth between PCU and BSC. The payload is opaqua and needs to be understood only by those two. Fine with it. That was actually my first approach, but I decided to go for the straightforward way of passing messages directly to have something working in a faster way. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8deef11f9ec191475c99133629cd5cd9048c4bcb Gerrit-Change-Number: 24618 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 15 Jun 2021 17:01: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 Tue Jun 15 17:09:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 17:09:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sgsn a54 tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24629 ) Change subject: sgsn a54 tests ...................................................................... Patch Set 1: I'd really want to merge it, but as stated before, the commit log looks really unfinished. --verbose missing. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iad65cbf9840aa883cb34e53554b94a4142c82638 Gerrit-Change-Number: 24629 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 15 Jun 2021 17:09: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 Jun 15 17:11:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Jun 2021 17:11:50 +0000 Subject: Change in osmo-pcu[master]: pcuif: Support receiving System Information 2 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24621 ) Change subject: pcuif: Support receiving System Information 2 ...................................................................... Patch Set 2: I rearranged the commits so this one can be merged already. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24621 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4a9c4f70beac6805322a19835a0d30f7247780b4 Gerrit-Change-Number: 24621 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 15 Jun 2021 17:11: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 Tue Jun 15 18:52:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 18:52:59 +0000 Subject: Change in osmo-pcu[master]: pcuif: Support receiving System Information 2 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24621 ) Change subject: pcuif: Support receiving System Information 2 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24621 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4a9c4f70beac6805322a19835a0d30f7247780b4 Gerrit-Change-Number: 24621 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 15 Jun 2021 18:52:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 18:53:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 15 Jun 2021 18:53:02 +0000 Subject: Change in osmo-pcu[master]: pcuif: Support receiving System Information 2 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24621 ) Change subject: pcuif: Support receiving System Information 2 ...................................................................... pcuif: Support receiving System Information 2 OsmoPCU will need this SI2 in order to gain knowledge of the BCCH Frequency List being broadcasted, in order to build a per-MS specific Neighbour List using NC_FREQUENCY_LIST bits in Packet Measurement Order. Related: SYS#5303 Change-Id: I4a9c4f70beac6805322a19835a0d30f7247780b4 --- M src/bts.h M src/pcu_l1_if.cpp 2 files changed, 33 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/bts.h b/src/bts.h index 2a7d883..a2f4598 100644 --- a/src/bts.h +++ b/src/bts.h @@ -231,6 +231,9 @@ uint8_t si1[GSM_MACBLOCK_LEN]; bool si1_is_set; + uint8_t si2[GSM_MACBLOCK_LEN]; + bool si2_is_set; + struct gsm_sysinfo_freq si2_bcch_cell_list[1024]; uint8_t si3[GSM_MACBLOCK_LEN]; bool si3_is_set; uint8_t si13[GSM_MACBLOCK_LEN]; diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 0453b92..818cb1a 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -286,9 +286,28 @@ return rc; } +static int list_arfcn(const struct gprs_rlcmac_bts *bts, const struct gsm_sysinfo_freq *freq, const char *text) +{ + int n = 0, i; + for (i = 0; i < 1024; i++) { + if (freq[i].mask) { + if (!n) + LOGP(DL1IF, LOGL_INFO, "BTS%d: %s", bts->nr, text); + LOGPC(DL1IF, LOGL_INFO, " %d", i); + n++; + } + } + if (n) + LOGPC(DL1IF, LOGL_INFO, "\n"); + + return n; +} + static int pcu_rx_data_ind_bcch(struct gprs_rlcmac_bts *bts, uint8_t *data, uint8_t len) { + struct gsm48_system_information_type_2 *si2; const uint8_t *si_ro; + switch (len) { case 0: /* Due to historical reasons also accept a completely empty message as @@ -305,6 +324,9 @@ case SYSINFO_TYPE_1: bts->si1_is_set = false; break; + case SYSINFO_TYPE_2: + bts->si2_is_set = false; + break; case SYSINFO_TYPE_3: bts->si3_is_set = false; break; @@ -328,6 +350,14 @@ memcpy(bts->si1, data, GSM_MACBLOCK_LEN); bts->si1_is_set = true; break; + case GSM48_MT_RR_SYSINFO_2: + memcpy(bts->si2, data, GSM_MACBLOCK_LEN); + bts->si2_is_set = true; + si2 = (struct gsm48_system_information_type_2 *)bts->si2; + gsm48_decode_freq_list(bts->si2_bcch_cell_list, si2->bcch_frequency_list, + sizeof(si2->bcch_frequency_list), 0xce, 1); + list_arfcn(bts, bts->si2_bcch_cell_list, "SI2 Neighbour cells in same band:"); + break; case GSM48_MT_RR_SYSINFO_3: memcpy(bts->si3, data, GSM_MACBLOCK_LEN); bts->si3_is_set = true; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24621 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4a9c4f70beac6805322a19835a0d30f7247780b4 Gerrit-Change-Number: 24621 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 18:59:15 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 15 Jun 2021 18:59:15 +0000 Subject: Change in libosmocore[master]: gprs_ns2: use llist_add_tail to keep order References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24682 ) Change subject: gprs_ns2: use llist_add_tail to keep order ...................................................................... gprs_ns2: use llist_add_tail to keep order When configuring multiple NSE/BINDs the order of the configuration should be keeped. Change-Id: Ibbc03f0780b49543b5bd97ee059f11cfd6c2a126 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_vty.c 2 files changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/82/24682/1 diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 618d55e..3bf31a3 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -609,8 +609,8 @@ rate_ctr_group_set_name(nsvc->ctrg, id); osmo_stat_item_group_set_name(nsvc->statg, id); - llist_add(&nsvc->list, &nse->nsvc); - llist_add(&nsvc->blist, &bind->nsvc); + llist_add_tail(&nsvc->list, &nse->nsvc); + llist_add_tail(&nsvc->blist, &bind->nsvc); ns2_nse_update_mtu(nse); return nsvc; @@ -809,7 +809,7 @@ nse->nsi = nsi; nse->first = true; nse->mtu = 0; - llist_add(&nse->list, &nsi->nse); + llist_add_tail(&nse->list, &nsi->nse); INIT_LLIST_HEAD(&nse->nsvc); return nse; @@ -1633,7 +1633,7 @@ bind->sns_data_weight = 1; bind->nsi = nsi; INIT_LLIST_HEAD(&bind->nsvc); - llist_add(&bind->list, &nsi->binding); + llist_add_tail(&bind->list, &nsi->binding); nsi->bind_rate_ctr_idx++; diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index 2777641..705b60e 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -141,7 +141,7 @@ vbind->ip_sns_sig_weight = 1; vbind->ip_sns_data_weight = 1; - llist_add(&vbind->list, &binds); + llist_add_tail(&vbind->list, &binds); return vbind; } @@ -172,7 +172,7 @@ vnse->nsei = nsei; INIT_LLIST_HEAD(&vnse->binds); - llist_add(&vnse->list, &nses); + llist_add_tail(&vnse->list, &nses); return vnse; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24682 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibbc03f0780b49543b5bd97ee059f11cfd6c2a126 Gerrit-Change-Number: 24682 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 Jun 15 19:06:02 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 15 Jun 2021 19:06:02 +0000 Subject: Change in libosmocore[master]: gprs_ns2: use llist_add_tail to keep order In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24682 to look at the new patch set (#2). Change subject: gprs_ns2: use llist_add_tail to keep order ...................................................................... gprs_ns2: use llist_add_tail to keep order When configuring multiple NSE/BINDs the order of the configuration should be keeped. Change-Id: Ibbc03f0780b49543b5bd97ee059f11cfd6c2a126 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_vty.c M tests/gb/gprs_ns2_vty.vty 3 files changed, 10 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/82/24682/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24682 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibbc03f0780b49543b5bd97ee059f11cfd6c2a126 Gerrit-Change-Number: 24682 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 Jun 15 19:12:54 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 15 Jun 2021 19:12:54 +0000 Subject: Change in osmo-bsc[master]: rewire build_encr_info() to return errors In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24676 ) Change subject: rewire build_encr_info() to return errors ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24676 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I125d8aabceddd5b34cb98978cee9b6d2fc8fd0f2 Gerrit-Change-Number: 24676 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 19:12:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 19:22:19 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 15 Jun 2021 19:22:19 +0000 Subject: Change in libosmocore[master]: gprs_ns2: use llist_add_tail to keep order In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24682 ) Change subject: gprs_ns2: use llist_add_tail to keep order ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24682 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibbc03f0780b49543b5bd97ee059f11cfd6c2a126 Gerrit-Change-Number: 24682 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Tue, 15 Jun 2021 19:22:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 19:52:28 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 15 Jun 2021 19:52:28 +0000 Subject: Change in libosmocore[master]: gprs_ns2: use llist_add_tail to keep order 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/+/24682 to look at the new patch set (#3). Change subject: gprs_ns2: use llist_add_tail to keep order ...................................................................... gprs_ns2: use llist_add_tail to keep order When configuring multiple NSE/BINDs the order of the configuration should be keeped. Related: OS#5181 Change-Id: Ibbc03f0780b49543b5bd97ee059f11cfd6c2a126 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_vty.c M tests/gb/gprs_ns2_vty.vty 3 files changed, 10 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/82/24682/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24682 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibbc03f0780b49543b5bd97ee059f11cfd6c2a126 Gerrit-Change-Number: 24682 Gerrit-PatchSet: 3 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 Tue Jun 15 19:52:29 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 15 Jun 2021 19:52:29 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix missing notify towards the NSE when NSVC become blocked References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24683 ) Change subject: gprs_ns2: fix missing notify towards the NSE when NSVC become blocked ...................................................................... gprs_ns2: fix missing notify towards the NSE when NSVC become blocked The NSE wasn't notified when a NSVC went into the BLOCKED state from an UNBLOCKED state. Related: OS#5182 Change-Id: I09634e414e9bb966e6b5809b7de1b59fbabd413d --- 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, 73 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/83/24683/1 diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c index 341a5a1..70258cc 100644 --- a/src/gb/gprs_ns2_vc_fsm.c +++ b/src/gb/gprs_ns2_vc_fsm.c @@ -338,6 +338,7 @@ rate_ctr_inc(rate_ctr_group_get_ctr(priv->nsvc->ctrg, NS_CTR_BLOCKED)); } + ns2_nse_notify_unblocked(priv->nsvc, false); if (priv->om_blocked) { /* we are already blocked after a RESET */ if (old_state == GPRS_NS2_ST_RESET) { diff --git a/tests/gb/gprs_ns2_test.c b/tests/gb/gprs_ns2_test.c index cc1b2f1..c53cc6d 100644 --- a/tests/gb/gprs_ns2_test.c +++ b/tests/gb/gprs_ns2_test.c @@ -302,6 +302,72 @@ printf("--- Finish NSE block unblock nsvc\n"); } +/* setup NSE with 2x NSVCs. + * block 1st NSVC + * block 2nd NSVC + * unblock 1st NSVC */ +void test_block_unblock_nsvc2(void *ctx) +{ + struct gprs_ns2_inst *nsi; + struct gprs_ns2_vc_bind *bind[2]; + struct gprs_ns2_nse *nse; + struct gprs_ns2_vc *nsvc[2]; + struct gprs_ns_hdr *nsh; + struct msgb *msg; + char idbuf[32]; + int i; + + printf("--- Testing NSE block unblock nsvc2\n"); + 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"); + nse = gprs_ns2_create_nse(nsi, 1001, GPRS_NS2_LL_UDP, GPRS_NS2_DIALECT_STATIC_RESETBLOCK); + OSMO_ASSERT(nse); + + for (i=0; i<2; i++) { + printf("---- Create NSVC[i]\n"); + 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]); + nsvc[i]->fi->state = 3; /* HACK: 3 = GPRS_NS2_ST_UNBLOCKED */ + /* ensure the fi->state works correct */ + OSMO_ASSERT(ns2_vc_is_unblocked(nsvc[i])); + ns2_nse_notify_unblocked(nsvc[i], true); + } + + OSMO_ASSERT(nse->alive); + /* both nsvcs are unblocked and alive. Let's block them. */ + OSMO_ASSERT(!find_pdu(bind[0], NS_PDUT_BLOCK)); + clear_pdus(bind[0]); + ns2_vc_block(nsvc[0]); + OSMO_ASSERT(find_pdu(bind[0], NS_PDUT_BLOCK)); + clear_pdus(bind[0]); + OSMO_ASSERT(nse->alive); + + OSMO_ASSERT(!find_pdu(bind[1], NS_PDUT_BLOCK)); + clear_pdus(bind[1]); + ns2_vc_block(nsvc[1]); + OSMO_ASSERT(find_pdu(bind[1], NS_PDUT_BLOCK)); + clear_pdus(bind[1]); + OSMO_ASSERT(!nse->alive); + + /* now unblocking the 1st NSVC */ + ns2_vc_unblock(nsvc[0]); + OSMO_ASSERT(find_pdu(bind[0], NS_PDUT_UNBLOCK)); + clear_pdus(bind[0]); + msg = msgb_alloc_headroom(NS_ALLOC_SIZE, NS_ALLOC_HEADROOM, "test_unblock"); + msg->l2h = msgb_put(msg, sizeof(*nsh)); + nsh = (struct gprs_ns_hdr *) msg->l2h; + nsh->pdu_type = NS_PDUT_UNBLOCK_ACK; + ns2_recv_vc(nsvc[0], msg); + OSMO_ASSERT(nse->alive); + + OSMO_ASSERT(ns2_vc_is_unblocked(nsvc[0])); + gprs_ns2_free(nsi); + printf("--- Finish NSE block unblock nsvc2\n"); +} + static struct msgb *generate_unitdata(const char *msgname) { struct gprs_ns_hdr *nsh; @@ -533,6 +599,7 @@ printf("===== NS2 protocol test START\n"); test_nse_transfer_cap(ctx); test_block_unblock_nsvc(ctx); + test_block_unblock_nsvc2(ctx); test_unitdata(ctx); test_unitdata_weights(ctx); test_mtu(ctx); diff --git a/tests/gb/gprs_ns2_test.ok b/tests/gb/gprs_ns2_test.ok index 40a1528..148b6a4 100644 --- a/tests/gb/gprs_ns2_test.ok +++ b/tests/gb/gprs_ns2_test.ok @@ -11,6 +11,11 @@ ---- Create NSVC[i] ---- Create NSVC[i] --- Finish NSE block unblock nsvc +--- Testing NSE block unblock nsvc2 +---- Create NSE + Binds +---- Create NSVC[i] +---- Create NSVC[i] +--- Finish NSE block unblock nsvc2 --- Testing unitdata test ---- Create NSE + Binds ---- Create NSVC[0] -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24683 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I09634e414e9bb966e6b5809b7de1b59fbabd413d Gerrit-Change-Number: 24683 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 Jun 15 20:12:00 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 15 Jun 2021 20:12:00 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vc_fsm: reset the ALIVE response time when stopping test References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24684 ) Change subject: gprs_ns2_vc_fsm: reset the ALIVE response time when stopping test ...................................................................... gprs_ns2_vc_fsm: reset the ALIVE response time when stopping test Prevent showing a response time when the NSVC has failed. Related: OS#5089 Change-Id: I5435077d35ff1ae3d743ea1b1b8ace7f0fb913cf --- M src/gb/gprs_ns2_vc_fsm.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/84/24684/1 diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c index 70258cc..05118b2 100644 --- a/src/gb/gprs_ns2_vc_fsm.c +++ b/src/gb/gprs_ns2_vc_fsm.c @@ -181,6 +181,7 @@ static void stop_test_procedure(struct gprs_ns2_vc_priv *priv) { + osmo_stat_item_set(osmo_stat_item_group_get_item(priv->nsvc->statg, NS_STAT_ALIVE_DELAY), 0); osmo_timer_del(&priv->alive.timer); } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24684 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5435077d35ff1ae3d743ea1b1b8ace7f0fb913cf Gerrit-Change-Number: 24684 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 Jun 15 20:20:37 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 15 Jun 2021 20:20:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 ) Change subject: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401/4/library/NS_Provider_IPL4.ttcn File library/NS_Provider_IPL4.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401/4/library/NS_Provider_IPL4.ttcn at 219 PS4, Line 219: f_nspip_add_nsvc2 > yes, because it runs on RAW_NS_CT and not on NS_CT Done -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iafd9310e04066958914201da0cbdcd563bd5c976 Gerrit-Change-Number: 24401 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 15 Jun 2021 20:20:37 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge 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 Tue Jun 15 20:20:44 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 15 Jun 2021 20:20:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface In-Reply-To: References: Message-ID: lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 ) Change subject: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface ...................................................................... RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface RAW_NS used previous a single TTCN3 port for a single UDP port (source/listen side). This has the limitation that only a single NSVC could be tested for a local UDP port. However SNS tests require multiple NSVCs over a single UDP port. NS_Provider_IPL4 already supports multiple NSVCs for the NS_Emulation. Extend the support in NS_Provider_IPL4 to also allow RAW_NS to use multiple NSVCs. Related: OS#5036 Change-Id: Iafd9310e04066958914201da0cbdcd563bd5c976 --- M fr-net/gen_links.sh M fr/gen_links.sh M gbproxy/gen_links.sh M library/NS_Provider_IPL4.ttcn M library/RAW_NS.ttcnpp M ns/gen_links.sh M pcu/gen_links.sh M sgsn/gen_links.sh 8 files changed, 106 insertions(+), 32 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/fr-net/gen_links.sh b/fr-net/gen_links.sh index 29f4399..413676c 100755 --- a/fr-net/gen_links.sh +++ b/fr-net/gen_links.sh @@ -47,7 +47,7 @@ DIR=../library FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc GSM_Types.ttcn Osmocom_Types.ttcn " -FILES+="NS_Provider_IPL4.ttcn NS_Provider_FR.ttcn NS_Emulation.ttcnpp " +FILES+="RAW_NS.ttcnpp NS_Provider_IPL4.ttcn NS_Provider_FR.ttcn NS_Emulation.ttcnpp " FILES+="BSSGP_Emulation.ttcnpp Osmocom_Gb_Types.ttcn " FILES+="LLC_Templates.ttcn " gen_links $DIR $FILES diff --git a/fr/gen_links.sh b/fr/gen_links.sh index 29f4399..413676c 100755 --- a/fr/gen_links.sh +++ b/fr/gen_links.sh @@ -47,7 +47,7 @@ DIR=../library FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc GSM_Types.ttcn Osmocom_Types.ttcn " -FILES+="NS_Provider_IPL4.ttcn NS_Provider_FR.ttcn NS_Emulation.ttcnpp " +FILES+="RAW_NS.ttcnpp NS_Provider_IPL4.ttcn NS_Provider_FR.ttcn NS_Emulation.ttcnpp " FILES+="BSSGP_Emulation.ttcnpp Osmocom_Gb_Types.ttcn " FILES+="LLC_Templates.ttcn " gen_links $DIR $FILES diff --git a/gbproxy/gen_links.sh b/gbproxy/gen_links.sh index d6bf22e..6d4ab81 100755 --- a/gbproxy/gen_links.sh +++ b/gbproxy/gen_links.sh @@ -84,7 +84,7 @@ DIR=../library FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_Types.ttcn RLCMAC_Templates.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc " -FILES+="NS_Provider_IPL4.ttcn NS_Provider_FR.ttcn NS_Emulation.ttcnpp " +FILES+="RAW_NS.ttcnpp NS_Provider_IPL4.ttcn NS_Provider_FR.ttcn NS_Emulation.ttcnpp " FILES+="BSSGP_Emulation.ttcnpp Osmocom_Gb_Types.ttcn " FILES+="PCUIF_Types.ttcn " FILES+="Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn " diff --git a/library/NS_Provider_IPL4.ttcn b/library/NS_Provider_IPL4.ttcn index 774c08a..09e7dc0 100644 --- a/library/NS_Provider_IPL4.ttcn +++ b/library/NS_Provider_IPL4.ttcn @@ -27,6 +27,7 @@ import from Misc_Helpers all; import from NS_Emulation all; +import from RAW_NS all; import from NS_Types all; import from IPL4asp_Types all; @@ -42,6 +43,7 @@ /* per-NSVC ports and state */ port NS_PROVIDER_PT NSVC[NUM_MAX_NSVC]; + var boolean g_nsvc_bound[NUM_MAX_NSVC]; var PerNsvcState g_nsvc[NUM_MAX_NSVC]; /* management port via which */ @@ -54,31 +56,35 @@ NSVC_CT vc_nsvc }; -signature NSPIP_add_nsvc(charstring remote_ip, PortNumber remote_port, NSVC_CT vc_nsvc); -signature NSPIP_del_nsvc(charstring remote_ip, PortNumber remote_port); +signature NSPIP_add_nsvc(charstring remote_ip, PortNumber remote_port, NSVC_CT vc_nsvc) return integer; +signature NSPIP_del_nsvc(charstring remote_ip, PortNumber remote_port) return integer; type port NSPIP_PROC_PT procedure { inout NSPIP_add_nsvc, NSPIP_del_nsvc; } with { extension "internal" }; /* add a new NSVC to the provider */ -private function f_nsvc_add(PerNsvcState nsvc) runs on NS_Provider_IPL4_CT +private function f_nsvc_add(PerNsvcState nsvc) runs on NS_Provider_IPL4_CT return integer { for (var integer i := 0; i < sizeof(g_nsvc); i := i+1) { - if (g_nsvc[i].vc_nsvc == null) { + if (g_nsvc_bound[i] == false) { g_nsvc[i] := nsvc; - connect(self:NSVC[i], nsvc.vc_nsvc:NSCP); - NSVC[i].send(NS_Provider_Evt:{link_status := NS_PROV_LINK_STATUS_UP}); - return; + g_nsvc_bound[i] := true; + if (isbound(nsvc.vc_nsvc) and nsvc.vc_nsvc != null) { + connect(self:NSVC[i], nsvc.vc_nsvc:NSCP); + NSVC[i].send(NS_Provider_Evt:{link_status := NS_PROV_LINK_STATUS_UP}); + } + return i; } } Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("Overflow of g_nsvc array")); + return -1; } -private function f_nsvc_del(PerNsvcState nsvc) runs on NS_Provider_IPL4_CT +private function f_nsvc_del(PerNsvcState nsvc) runs on NS_Provider_IPL4_CT return integer { for (var integer i := 0; i < sizeof(g_nsvc); i := i+1) { - if (g_nsvc[i].vc_nsvc != null and + if (g_nsvc_bound[i] and g_nsvc[i].remote_ip == nsvc.remote_ip and g_nsvc[i].remote_port == nsvc.remote_port) { g_nsvc[i] := { @@ -86,19 +92,23 @@ remote_port := -, vc_nsvc := null } + g_nsvc_bound[i] := false; NSVC[i].send(NS_Provider_Evt:{link_status := NS_PROV_LINK_STATUS_DOWN}); - disconnect(self:NSVC[i], nsvc.vc_nsvc:NSCP); - return; + if (isbound(g_nsvc[i].vc_nsvc) and g_nsvc[i].vc_nsvc != null) { + disconnect(self:NSVC[i], nsvc.vc_nsvc:NSCP); + } + return i; } } Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("attempt to delete unknown NSVC")); + return -1; } private function f_get_nsvc_idx(charstring remote_ip, PortNumber remote_port) runs on NS_Provider_IPL4_CT return integer { for (var integer i := 0; i < sizeof(g_nsvc); i := i+1) { - if (g_nsvc[i].vc_nsvc != null and + if (g_nsvc_bound[i] and g_nsvc[i].remote_ip == remote_ip and g_nsvc[i].remote_port == remote_port) { return i; } @@ -109,6 +119,7 @@ function main(NSVCConfiguration config, NSConfiguration nsconfig, charstring id) runs on NS_Provider_IPL4_CT { for (var integer i := 0; i < sizeof(g_nsvc); i := i+1) { g_nsvc[i].vc_nsvc := null; + g_nsvc_bound[i] := false; } /* in order to support any number of NSVC on this endpoiint, we only bind the socket @@ -182,12 +193,14 @@ /* procedure port to add/remove NSVCs from this provider */ [] PROC.getcall(NSPIP_add_nsvc:{?,?,?}) -> param (remote_ip, remote_port, vc_nsvc) sender vc_caller { - f_nsvc_add(PerNsvcState:{remote_ip, remote_port, vc_nsvc}); - PROC.reply(NSPIP_add_nsvc:{remote_ip, remote_port, vc_nsvc}) to vc_caller; + var integer idx; + idx := f_nsvc_add(PerNsvcState:{remote_ip, remote_port, vc_nsvc}); + PROC.reply(NSPIP_add_nsvc:{remote_ip, remote_port, vc_nsvc} value idx) to vc_caller; } [] PROC.getcall(NSPIP_del_nsvc:{?,?}) -> param (remote_ip, remote_port) sender vc_caller { - f_nsvc_del(PerNsvcState:{remote_ip, remote_port}); - PROC.reply(NSPIP_del_nsvc:{remote_ip, remote_port}) to vc_caller; + var integer idx; + idx := f_nsvc_del(PerNsvcState:{remote_ip, remote_port}); + PROC.reply(NSPIP_del_nsvc:{remote_ip, remote_port} value idx) to vc_caller; } } /* alt */ @@ -197,9 +210,20 @@ function f_nspip_add_nsvc(NS_Provider_IPL4_CT vc_ipep, charstring remote_ip, PortNumber remote_port, NSVC_CT vc_nsvc) runs on NS_CT { + var integer idx := -1; NSPIP_PROC.call(NSPIP_add_nsvc:{remote_ip, remote_port, vc_nsvc}) to vc_ipep { - [] NSPIP_PROC.getreply(NSPIP_add_nsvc:{?,?,?}); + [] NSPIP_PROC.getreply(NSPIP_add_nsvc:{?,?,?}) -> value idx; } } +function f_nspip_add_nsvc2(NS_Provider_IPL4_CT vc_ipep, charstring remote_ip, PortNumber remote_port) +runs on RAW_NS_CT return integer { + var integer idx := -1; + NSPIP_PROC.call(NSPIP_add_nsvc:{remote_ip, remote_port, null}) to vc_ipep { + [] NSPIP_PROC.getreply(NSPIP_add_nsvc:{?,?,?}) -> value idx; + } + + return idx; +} + } /* module */ diff --git a/library/RAW_NS.ttcnpp b/library/RAW_NS.ttcnpp index 42efb7d..6930a72 100644 --- a/library/RAW_NS.ttcnpp +++ b/library/RAW_NS.ttcnpp @@ -25,16 +25,24 @@ import from NS_Provider_FR all; #endif +type record PerIPProvider { + NS_Provider_IPL4_CT vc_NSP_IP, + charstring local_ip, + PortNumber local_udp_port +} + public type component RAW_NS_CT { /* UDP port towards the bottom (IUT) */ port NS_PROVIDER_PT NSCP[4]; - var NS_Provider_IPL4_CT vc_NSP_IP[4]; + var PerIPProvider ip_prov[4]; + port NSPIP_PROC_PT NSPIP_PROC; #ifdef NS_EMULATION_FR var NS_Provider_FR_CT vc_NSP_FR[4]; #endif var NSConfiguration g_nsconfig; timer g_T_guard; var boolean g_handle_rx_alive := false; + var boolean rawns_initialized := false; } public altstep as_Tguard() runs on RAW_NS_CT { @@ -44,6 +52,21 @@ } } +function f_find_ip_provider(NSVCConfigurationIP nsip_config) +runs on RAW_NS_CT return integer { + for (var integer idx := 0; idx < sizeof(ip_prov); idx := idx+1) { + if (ip_prov[idx].vc_NSP_IP == null) { + continue; + } + + if (ip_prov[idx].local_ip == nsip_config.local_ip and + ip_prov[idx].local_udp_port == nsip_config.local_udp_port) { + return idx; + } + } + return -1; +} + function f_init_ns_codec(NSConfiguration ns_config, integer idx := 0, float guard_secs := 60.0, charstring id := testcasename()) runs on RAW_NS_CT { var Result res; @@ -52,31 +75,58 @@ activate(as_Tguard()); } + if (not rawns_initialized) { + for (var integer i := 0; i < sizeof(ip_prov); i := i+1) { + ip_prov[i].vc_NSP_IP := null; + } + rawns_initialized := true; + } + if (not isbound(g_nsconfig)) { g_nsconfig := ns_config; } if (ischosen(ns_config.nsvc[idx].provider.ip)) { - /* Connect the UDP socket */ - vc_NSP_IP[idx] := NS_Provider_IPL4_CT.create(id & "-provIP"); - connect(self:NSCP[idx], vc_NSP_IP[idx]:NSE); - vc_NSP_IP[idx].start(NS_Provider_IPL4.main(ns_config.nsvc[idx], ns_config, id)); + var integer prov_idx := f_find_ip_provider(ns_config.nsvc[idx].provider.ip); + /* Connect the UDP socket + * check if NS_Provider_IPL4_CT is already created + * add list of vc_NSP_IP with entries of source ip/port + * add a NSVC to it */ + if (prov_idx == -1) { + for (prov_idx := 0; prov_idx < sizeof(ip_prov); prov_idx := prov_idx+1) { + if (ip_prov[prov_idx].vc_NSP_IP == null) { + break; + } + } + if (prov_idx > sizeof(ip_prov)) { + /* TODO: error !! */ + } + ip_prov[prov_idx].local_ip := ns_config.nsvc[idx].provider.ip.local_ip; + ip_prov[prov_idx].local_udp_port := ns_config.nsvc[idx].provider.ip.local_udp_port; + ip_prov[prov_idx].vc_NSP_IP := NS_Provider_IPL4_CT.create(id & "-provIP" & int2str(prov_idx)); + connect(self:NSPIP_PROC, ip_prov[prov_idx].vc_NSP_IP:PROC); + ip_prov[prov_idx].vc_NSP_IP.start(NS_Provider_IPL4.main(ns_config.nsvc[idx], ns_config, id)); + } + var integer port_idx := f_nspip_add_nsvc2(ip_prov[prov_idx].vc_NSP_IP, ns_config.nsvc[idx].provider.ip.remote_ip, ns_config.nsvc[idx].provider.ip.remote_udp_port); + connect(self:NSCP[idx], ip_prov[prov_idx].vc_NSP_IP:NSVC[port_idx]); + /* the NS_PROV_LINK_STATUS_UP is not sent by the NS_Provider_IPL4 because we connect the port manual */ #ifdef NS_EMULATION_FR } else if (ischosen(ns_config.nsvc[idx].provider.fr)) { vc_NSP_FR[idx] := NS_Provider_FR_CT.create(id & "-provFR"); connect(self:NSCP[idx], vc_NSP_FR[idx]:NSE); vc_NSP_FR[idx].start(NS_Provider_FR.main(ns_config.nsvc[idx], ns_config, id)); + NSCP[idx].receive(NS_Provider_Evt:{link_status:=NS_PROV_LINK_STATUS_UP}); #endif } else { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Unsupported NS provider"); } - - NSCP[idx].receive(NS_Provider_Evt:{link_status:=NS_PROV_LINK_STATUS_UP}); } function f_clean_ns_codec() runs on RAW_NS_CT { - for (var integer i := 0; i < lengthof(vc_NSP_IP); i := i + 1) { - vc_NSP_IP[i].stop; + for (var integer i := 0; i < lengthof(ip_prov); i := i + 1) { + if (ip_prov[i].vc_NSP_IP != null) { + ip_prov[i].vc_NSP_IP.stop; + } } #ifdef NS_EMULATION_FR for (var integer i := 0; i < lengthof(vc_NSP_FR); i := i + 1) { diff --git a/ns/gen_links.sh b/ns/gen_links.sh index 6ebee9d..42e5547 100755 --- a/ns/gen_links.sh +++ b/ns/gen_links.sh @@ -52,7 +52,7 @@ DIR=../library FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_Types.ttcn RLCMAC_Templates.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc " FILES+="StatsD_Types.ttcn StatsD_CodecPort.ttcn StatsD_CodecPort_CtrlFunct.ttcn StatsD_CodecPort_CtrlFunctdef.cc StatsD_Checker.ttcn " -FILES+="NS_Provider_IPL4.ttcn NS_Provider_FR.ttcn NS_Emulation.ttcnpp " +FILES+="RAW_NS.ttcnpp NS_Provider_IPL4.ttcn NS_Provider_FR.ttcn NS_Emulation.ttcnpp " FILES+="BSSGP_Emulation.ttcnpp Osmocom_Gb_Types.ttcn " FILES+="LLC_Templates.ttcn L3_Templates.ttcn L3_Common.ttcn " FILES+="PCUIF_Types.ttcn PCUIF_CodecPort.ttcn RAW_NS.ttcnpp " diff --git a/pcu/gen_links.sh b/pcu/gen_links.sh index 98a9ff3..d0f3ace 100755 --- a/pcu/gen_links.sh +++ b/pcu/gen_links.sh @@ -51,7 +51,7 @@ DIR=../library FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_Types.ttcn RLCMAC_Templates.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc " FILES+="StatsD_Types.ttcn StatsD_CodecPort.ttcn StatsD_CodecPort_CtrlFunct.ttcn StatsD_CodecPort_CtrlFunctdef.cc StatsD_Checker.ttcn " -FILES+="NS_Provider_IPL4.ttcn NS_Emulation.ttcnpp " +FILES+="RAW_NS.ttcnpp NS_Provider_IPL4.ttcn NS_Emulation.ttcnpp " FILES+="BSSGP_Emulation.ttcnpp Osmocom_Gb_Types.ttcn " FILES+="LLC_Templates.ttcn L3_Templates.ttcn L3_Common.ttcn " FILES+="PCUIF_Types.ttcn PCUIF_CodecPort.ttcn RAW_NS.ttcnpp " diff --git a/sgsn/gen_links.sh b/sgsn/gen_links.sh index 8cffa17..510b449 100755 --- a/sgsn/gen_links.sh +++ b/sgsn/gen_links.sh @@ -84,7 +84,7 @@ DIR=../library FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_Types.ttcn RLCMAC_Templates.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc " -FILES+="NS_Provider_IPL4.ttcn NS_Emulation.ttcnpp PCUIF_Types.ttcn " +FILES+="RAW_NS.ttcnpp NS_Provider_IPL4.ttcn NS_Emulation.ttcnpp PCUIF_Types.ttcn " FILES+="BSSGP_Emulation.ttcnpp Osmocom_Gb_Types.ttcn " FILES+="Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn " FILES+="Osmocom_VTY_Functions.ttcn " -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iafd9310e04066958914201da0cbdcd563bd5c976 Gerrit-Change-Number: 24401 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria 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 Jun 15 20:25:30 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 15 Jun 2021 20:25:30 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vc_fsm: rename state UNCONFIGURED -> DISABLED References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24685 ) Change subject: gprs_ns2_vc_fsm: rename state UNCONFIGURED -> DISABLED ...................................................................... gprs_ns2_vc_fsm: rename state UNCONFIGURED -> DISABLED Original the state was only used as initial state and should be left immediate afterwards. However as the FR and SNS are using this state and the vty will also show it to the user, use a non-confusion state. Related: OS#5180 Change-Id: I5f46ce5e27d7556d5e17bc236f1765d42aecbe0c --- M src/gb/gprs_ns2_fr.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_sns.c M src/gb/gprs_ns2_vc_fsm.c M src/gb/gprs_ns2_vty.c 5 files changed, 27 insertions(+), 27 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/85/24685/1 diff --git a/src/gb/gprs_ns2_fr.c b/src/gb/gprs_ns2_fr.c index 3113b00..bbc5361 100644 --- a/src/gb/gprs_ns2_fr.c +++ b/src/gb/gprs_ns2_fr.c @@ -189,7 +189,7 @@ if (active) { ns2_vc_fsm_start(nsvc); } else { - ns2_vc_force_unconfigured(nsvc); + ns2_vc_force_disabled(nsvc); } } diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index 70e212a..e77731b 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -409,7 +409,7 @@ struct osmo_fsm_inst *ns2_vc_fsm_alloc(struct gprs_ns2_vc *nsvc, const char *id, bool initiate); int ns2_vc_fsm_start(struct gprs_ns2_vc *nsvc); -int ns2_vc_force_unconfigured(struct gprs_ns2_vc *nsvc); +int ns2_vc_force_disabled(struct gprs_ns2_vc *nsvc); int ns2_vc_rx(struct gprs_ns2_vc *nsvc, struct msgb *msg, struct tlv_parsed *tp); int ns2_vc_is_alive(struct gprs_ns2_vc *nsvc); int ns2_vc_is_unblocked(struct gprs_ns2_vc *nsvc); diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 367f77c..ea90846 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -2286,7 +2286,7 @@ /* keep the NSVC we need for SNS, but unconfigure it */ nsvc->sig_weight = 0; nsvc->data_weight = 0; - ns2_vc_force_unconfigured(nsvc); + ns2_vc_force_disabled(nsvc); } else { /* free all other NS-VCs */ gprs_ns2_free_nsvc(nsvc); diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c index 05118b2..36bb3a9 100644 --- a/src/gb/gprs_ns2_vc_fsm.c +++ b/src/gb/gprs_ns2_vc_fsm.c @@ -76,10 +76,10 @@ /* The FSM covers both the VC with RESET/BLOCK and without RESET/BLOCK procedure.. * * With RESET/BLOCK, the state should follow: - * - UNCONFIGURED -> RESET -> BLOCK -> UNBLOCKED + * - DISABLED -> RESET -> BLOCK -> UNBLOCKED * * Without RESET/BLOCK, the state should follow: - * - UNCONFIGURED -> RECOVERY -> UNBLOCKED + * - DISABLED -> RECOVERY -> UNBLOCKED * * The UNBLOCKED and TEST states are used to send ALIVE PDU using the timeout Tns-test and Tns-alive. * UNBLOCKED -> TEST: on expire of Tns-Test, send Alive PDU. @@ -90,7 +90,7 @@ */ enum gprs_ns2_vc_state { - GPRS_NS2_ST_UNCONFIGURED, + GPRS_NS2_ST_DISABLED, GPRS_NS2_ST_RESET, GPRS_NS2_ST_BLOCKED, GPRS_NS2_ST_UNBLOCKED, /* allows sending NS_UNITDATA */ @@ -114,7 +114,7 @@ GPRS_NS2_EV_RX_UNITDATA, - GPRS_NS2_EV_REQ_FORCE_UNCONFIGURED, /* called via vty for tests */ + GPRS_NS2_EV_REQ_FORCE_DISABLED, /* called via vty for tests */ GPRS_NS2_EV_REQ_OM_RESET, /* vty cmd: reset */ GPRS_NS2_EV_REQ_OM_BLOCK, /* vty cmd: block */ GPRS_NS2_EV_REQ_OM_UNBLOCK, /* vty cmd: unblock*/ @@ -132,7 +132,7 @@ { GPRS_NS2_EV_RX_ALIVE_ACK, "RX-ALIVE_ACK" }, { GPRS_NS2_EV_RX_STATUS, "RX-STATUS" }, { GPRS_NS2_EV_RX_UNITDATA, "RX-UNITDATA" }, - { GPRS_NS2_EV_REQ_FORCE_UNCONFIGURED, "REQ-FORCE_UNCONFIGURED" }, + { GPRS_NS2_EV_REQ_FORCE_DISABLED, "REQ-FORCE-DISABLED" }, { GPRS_NS2_EV_REQ_OM_RESET, "REQ-O&M-RESET"}, { GPRS_NS2_EV_REQ_OM_BLOCK, "REQ-O&M-BLOCK"}, { GPRS_NS2_EV_REQ_OM_UNBLOCK, "REQ-O&M-UNBLOCK"}, @@ -252,12 +252,12 @@ } -static void ns2_st_unconfigured_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) +static void ns2_st_disabled_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) { stop_test_procedure(fi->priv); } -static void ns2_st_unconfigured(struct osmo_fsm_inst *fi, uint32_t event, void *data) +static void ns2_st_disabled(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct gprs_ns2_vc_priv *priv = fi->priv; struct gprs_ns2_inst *nsi = priv->nsvc->nse->nsi; @@ -467,20 +467,20 @@ } static const struct osmo_fsm_state ns2_vc_states[] = { - [GPRS_NS2_ST_UNCONFIGURED] = { + [GPRS_NS2_ST_DISABLED] = { .in_event_mask = S(GPRS_NS2_EV_REQ_START), .out_state_mask = S(GPRS_NS2_ST_RESET) | S(GPRS_NS2_ST_RECOVERING) | S(GPRS_NS2_ST_UNBLOCKED), - .name = "UNCONFIGURED", - .action = ns2_st_unconfigured, - .onenter = ns2_st_unconfigured_onenter, + .name = "DISABLED", + .action = ns2_st_disabled, + .onenter = ns2_st_disabled_onenter, }, [GPRS_NS2_ST_RESET] = { .in_event_mask = S(GPRS_NS2_EV_RX_RESET_ACK) | S(GPRS_NS2_EV_RX_RESET), .out_state_mask = S(GPRS_NS2_ST_RESET) | S(GPRS_NS2_ST_BLOCKED) | - S(GPRS_NS2_ST_UNCONFIGURED), + S(GPRS_NS2_ST_DISABLED), .name = "RESET", .action = ns2_st_reset, .onenter = ns2_st_reset_onenter, @@ -491,7 +491,7 @@ .out_state_mask = S(GPRS_NS2_ST_RESET) | S(GPRS_NS2_ST_UNBLOCKED) | S(GPRS_NS2_ST_BLOCKED) | - S(GPRS_NS2_ST_UNCONFIGURED), + S(GPRS_NS2_ST_DISABLED), .name = "BLOCKED", .action = ns2_st_blocked, .onenter = ns2_st_blocked_onenter, @@ -501,7 +501,7 @@ S(GPRS_NS2_EV_RX_UNBLOCK), .out_state_mask = S(GPRS_NS2_ST_RESET) | S(GPRS_NS2_ST_RECOVERING) | S(GPRS_NS2_ST_BLOCKED) | - S(GPRS_NS2_ST_UNCONFIGURED), + S(GPRS_NS2_ST_DISABLED), .name = "UNBLOCKED", .action = ns2_st_unblocked, .onenter = ns2_st_unblocked_on_enter, @@ -512,7 +512,7 @@ .in_event_mask = S(GPRS_NS2_EV_RX_ALIVE_ACK), .out_state_mask = S(GPRS_NS2_ST_RECOVERING) | S(GPRS_NS2_ST_UNBLOCKED) | - S(GPRS_NS2_ST_UNCONFIGURED), + S(GPRS_NS2_ST_DISABLED), .name = "RECOVERING", .action = ns2_st_alive, .onenter = ns2_st_alive_onenter, @@ -638,7 +638,7 @@ break; case GPRS_NS2_EV_RX_ALIVE: switch (fi->state) { - case GPRS_NS2_ST_UNCONFIGURED: + case GPRS_NS2_ST_DISABLED: case GPRS_NS2_ST_RESET: /* ignore ALIVE */ break; @@ -682,10 +682,10 @@ msgb_free(msg); break; - case GPRS_NS2_EV_REQ_FORCE_UNCONFIGURED: - if (fi->state != GPRS_NS2_ST_UNCONFIGURED) { + case GPRS_NS2_EV_REQ_FORCE_DISABLED: + if (fi->state != GPRS_NS2_ST_DISABLED) { /* Force the NSVC back to its initial state */ - osmo_fsm_inst_state_chg(fi, GPRS_NS2_ST_UNCONFIGURED, 0, 0); + osmo_fsm_inst_state_chg(fi, GPRS_NS2_ST_DISABLED, 0, 0); return; } break; @@ -722,7 +722,7 @@ S(GPRS_NS2_EV_RX_RESET) | S(GPRS_NS2_EV_RX_ALIVE) | S(GPRS_NS2_EV_RX_ALIVE_ACK) | - S(GPRS_NS2_EV_REQ_FORCE_UNCONFIGURED) | + S(GPRS_NS2_EV_REQ_FORCE_DISABLED) | S(GPRS_NS2_EV_REQ_OM_RESET) | S(GPRS_NS2_EV_REQ_OM_BLOCK) | S(GPRS_NS2_EV_REQ_OM_UNBLOCK), @@ -768,7 +768,7 @@ int ns2_vc_fsm_start(struct gprs_ns2_vc *nsvc) { /* allows to call this function even for started nsvc by gprs_ns2_start_alive_all_nsvcs */ - if (nsvc->fi->state == GPRS_NS2_ST_UNCONFIGURED) + if (nsvc->fi->state == GPRS_NS2_ST_DISABLED) return osmo_fsm_inst_dispatch(nsvc->fi, GPRS_NS2_EV_REQ_START, NULL); return 0; } @@ -776,9 +776,9 @@ /*! Reset a NS-VC FSM. * \param nsvc the virtual circuit * \return 0 on success; negative on error */ -int ns2_vc_force_unconfigured(struct gprs_ns2_vc *nsvc) +int ns2_vc_force_disabled(struct gprs_ns2_vc *nsvc) { - return osmo_fsm_inst_dispatch(nsvc->fi, GPRS_NS2_EV_REQ_FORCE_UNCONFIGURED, NULL); + return osmo_fsm_inst_dispatch(nsvc->fi, GPRS_NS2_EV_REQ_FORCE_DISABLED, NULL); } /*! Block a NS-VC. diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index 705b60e..819e0c8 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -2027,7 +2027,7 @@ static int nsvc_force_unconf_cb(struct gprs_ns2_vc *nsvc, void *ctx) { - ns2_vc_force_unconfigured(nsvc); + ns2_vc_force_disabled(nsvc); ns2_vc_fsm_start(nsvc); return 0; } -- 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-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 21:20:23 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 15 Jun 2021 21:20:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sgsn a54 tests In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24629 to look at the new patch set (#2). Change subject: sgsn a54 tests ...................................................................... sgsn a54 tests This adds a few tests that ensure that the encryption algorithm dynamically chosen is 1) one actually supported by both the sgsn and the UE 2) the strongest one available both have in common Change-Id: Iad65cbf9840aa883cb34e53554b94a4142c82638 Related: SYS#5324 --- M sgsn/SGSN_Tests.ttcn M sgsn/expected-results.xml 2 files changed, 127 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/29/24629/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iad65cbf9840aa883cb34e53554b94a4142c82638 Gerrit-Change-Number: 24629 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 15 21:41:14 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 15 Jun 2021 21:41:14 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: dump_nsvc: change output depending on NSVCI References: Message-ID: lynxis lazus has uploaded this change for review. ( 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 1 file changed, 9 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/86/24686/1 diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index 819e0c8..4932b68 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); -- 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: 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 Jun 15 21:53:41 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 15 Jun 2021 21:53:41 +0000 Subject: Change in osmo-gsm-manuals[master]: WIP: add ns2 docs References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/24687 ) Change subject: WIP: add ns2 docs ...................................................................... WIP: add ns2 docs Change-Id: I5571001a127c933397a4bc26e85410288d50fc2f --- A common/chapters/gb-ns2-maintainance.adoc A common/chapters/gb-ns2-nsvc-states-alive.dot A common/chapters/gb-ns2-nsvc-states-reset-block.dot 3 files changed, 123 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/87/24687/1 diff --git a/common/chapters/gb-ns2-maintainance.adoc b/common/chapters/gb-ns2-maintainance.adoc new file mode 100644 index 0000000..e16fa63 --- /dev/null +++ b/common/chapters/gb-ns2-maintainance.adoc @@ -0,0 +1,108 @@ +=== Gb/NS maintaince + +This section describes common maintance procedures. + +==== NSE states + +A NSE can have the following states: +- ALIVE +- DEAD + +For FR, IPA: The NSE is ALIVE if there is at least one NSVC in state UNBLOCKED. +For IP-SNS/UDP: The NSE is ALIVE if there is at least one NSVC ALIVE and the sum of all ALIVE NSVCs signalling weights > 0 and data weights > 0. + +The state of the NSE is shown by vty. + +.show ns +---- +GbProxy# show ns nsei 1234 +NSEI 01234: UDP, DEAD <1> + FSM Instance Name: 'GPRS-NS2-SNS-BSS(NSE01234-SNS)[0x6120000012a0]', ID: 'NSE01234-SNS' + Log-Level: 'DEBUG', State: 'BSS_SIZE' + Timer: 1 + Maximum number of remote NS-VCs: 8192, IPv4 Endpoints: 8192, IPv6 Endpoints: 8192 + 1 NS-VC: + NSVCI none: DISABLED DYNAMIC data_weight=1 sig_weight=1 udp)[127.0.0.1]:23000<>[127.0.0.1]:22000 +---- +<1> NSE state + +==== NSVC states + +A NSVC can have the following states: + +- DISABLED +- RESET +- BLOCKED +- UNBLOCKED +- RECOVERING + +.nsvc states +[options="header"] +|========================================================= +| State | transport UNITDATA | Description + +| DISABLED | No | Either the transport layer is unavailable (FR) or this NSVC is currently used by IP-SNS dynamic configuration. +| RESET | No | Sending out RESET PDU and awaiting data. +| BLOCKED | No* | The NSVC has been BLOCKED. * see 3GPP TS 48.016 ? 7.2 exception +| UNBLOCKED/ALIVE | Yes | The NSVC transport UNITDATA. +| RECOVERING | No | The NSVC test procedure timed out. NSVC type is a IP-SNS which don't use RESET/BLOCK/UNBLOCK. + +|========================================================= + +[[fig-nsvc-states-reset-block]] +.Simplified state diagram for RESET BLOCK UNBLOCK NSVCs +[graphviz] +---- +include::gb-ns2-nsvc-states-reset-block.dot[] +---- + +[[fig-nsvc-states-reset-block]] +.Simplified state diagram for IP-SNS/UDP +[graphviz] +---- +include::gb-ns2-nsvc-states-alive.dot[] +---- + +==== Show information of a specific NSE + +The NSE 1234 has been configured for as BSS with IP-SNS configuration. + +.show ns on a dynamic configured IP-SNS NSE +---- +GbProxy# show ns nsei 1234 +NSEI 01234: UDP, DEAD <1> + FSM Instance Name: 'GPRS-NS2-SNS-BSS(NSE01234-SNS)[0x6120000012a0]', ID: 'NSE01234-SNS' + Log-Level: 'DEBUG', State: 'BSS_SIZE' <2> + Timer: 1 + Maximum number of remote NS-VCs: 8192, IPv4 Endpoints: 8192, IPv6 Endpoints: 8192 + 1 NS-VC: + NSVCI none: DISABLED DYNAMIC data_weight=1 sig_weight=1 udp)[127.0.0.1]:23000<>[127.0.0.1]:22000 +---- +<1> A UDP NSE. A NSE can be ALIVE or DEAD +<2> The SNS state. CONFIGURED and LOCAL_PROCEDURE are ALIVE states + +For FR, IPA: The NSE is ALIVE if there is at least one NSVC in state UNBLOCKED. +For IP-SNS/UDP: The NSE is alive if there is at least one NSVC ALIVE and the summary of all NSVC signalling weights > 1 and data weights > 1. + +.show ns on a frame relay NSE +---- +OsmoNSdummy# show ns nsei 02001 +NSEI 02001: FR, ALIVE <1> + 4 NS-VC: + NSVCI 00001: DISABLED PERSIST data_weight=1 sig_weight=1 fr)netif: hdlcnet1 dlci: 16 <2> + NSVCI 00002: DISABLED PERSIST data_weight=1 sig_weight=1 fr)netif: hdlcnet2 dlci: 17 <3> + NSVCI 00003: DISABLED PERSIST <4> data_weight=1 sig_weight=1 fr)netif: hdlcnet3 dlci: 18 + NSVCI 00004: DISABLED PERSIST data_weight=1 sig_weight=1 fr)netif: hdlcnet4 dlci: 19 +---- +<1> A FR NSE. A NSE can be ALIVE or DEAD +<2> An unblocked NS-VC will be used for data and signalling. data and signalling weight are only relevant for UDP NSVC. +<3> NSVC is still blocked. +<4> A PERSIST NSVC is a configured via VTY. + +==== Blocking a NSVC + +To block a single NSVC + +---- + +---- diff --git a/common/chapters/gb-ns2-nsvc-states-alive.dot b/common/chapters/gb-ns2-nsvc-states-alive.dot new file mode 100644 index 0000000..7e919c1 --- /dev/null +++ b/common/chapters/gb-ns2-nsvc-states-alive.dot @@ -0,0 +1,6 @@ + +digraph G { + DISABLED -> ALIVE; + ALIVE -> RECOVERING [label="test procedure timeout"]; + RECOVERING -> ALIVE [label="test procedure success"]; +} diff --git a/common/chapters/gb-ns2-nsvc-states-reset-block.dot b/common/chapters/gb-ns2-nsvc-states-reset-block.dot new file mode 100644 index 0000000..b1825d5 --- /dev/null +++ b/common/chapters/gb-ns2-nsvc-states-reset-block.dot @@ -0,0 +1,9 @@ +digraph G { + DISABLED -> RESET [label="transport layer available"]; + RESET -> BLOCKED [label="reset ack"]; + BLOCKED -> UNBLOCKED [label="unblock"]; + UNBLOCKED -> BLOCKED [label="block"]; + BLOCKED -> RESET [label="test procedure timeout"]; + UNBLOCKED -> RESET [label="test procedure timeout"]; +} + -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/24687 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Change-Id: I5571001a127c933397a4bc26e85410288d50fc2f Gerrit-Change-Number: 24687 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 Jun 15 21:54:21 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 15 Jun 2021 21:54:21 +0000 Subject: Change in osmo-gsm-manuals[master]: WIP: add ns2 docs In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/24687 ) Change subject: WIP: add ns2 docs ...................................................................... Patch Set 1: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/24687 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Change-Id: I5571001a127c933397a4bc26e85410288d50fc2f Gerrit-Change-Number: 24687 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: daniel Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 15 Jun 2021 21:54: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 Wed Jun 16 06:32:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 06:32:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sgsn a54 tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24629 ) Change subject: sgsn a54 tests ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iad65cbf9840aa883cb34e53554b94a4142c82638 Gerrit-Change-Number: 24629 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 06:32:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 06:32:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 06:32:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sgsn a54 tests In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24629 ) Change subject: sgsn a54 tests ...................................................................... sgsn a54 tests This adds a few tests that ensure that the encryption algorithm dynamically chosen is 1) one actually supported by both the sgsn and the UE 2) the strongest one available both have in common Change-Id: Iad65cbf9840aa883cb34e53554b94a4142c82638 Related: SYS#5324 --- M sgsn/SGSN_Tests.ttcn M sgsn/expected-results.xml 2 files changed, 127 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index d760e58..0047ba8 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -2833,6 +2833,123 @@ f_cleanup(); } +private function f_TC_attach_usim_crypt(OCT1 netcap_a2345, BIT3 auth_req_ciph) runs on BSSGP_ConnHdlr { + var RoutingAreaIdentificationV old_ra := f_random_RAI(); + + var template PDU_L3_MS_SGSN attach_req := ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit); + attach_req.msgs.gprs_mm.attachRequest.msNetworkCapability.msNetworkCapabilityV.spare_octets := netcap_a2345; /* GEA2345... */ + + /* send Attach Request */ + /* indicate R99 capability of the MS to enable UMTS AKA in presence of + * 3G auth vectors */ + attach_req.msgs.gprs_mm.attachRequest.msNetworkCapability.msNetworkCapabilityV.revisionLevelIndicatior := '1'B; + /* The thing is, if the solSACapability is 'omit', then the + * revisionLevelIndicatior is at the wrong place! */ + attach_req.msgs.gprs_mm.attachRequest.msNetworkCapability.msNetworkCapabilityV.solSACapability := '0'B; + f_send_l3(attach_req); + + /* do the auth */ + var PDU_L3_MS_SGSN l3_mo; + var PDU_L3_SGSN_MS l3_mt; + var default di := activate(as_mm_identity()); + + var GSUP_IE auth_tuple; + var template AuthenticationParameterAUTNTLV autn; + + g_pars.vec := f_gen_auth_vec_3g(); + autn := { + elementIdentifier := '28'O, + lengthIndicator := lengthof(g_pars.vec.autn), + autnValue := g_pars.vec.autn + }; + auth_tuple := valueof(ts_GSUP_IE_AuthTuple2G3G(g_pars.vec.rand, + g_pars.vec.sres, + g_pars.vec.kc, + g_pars.vec.ik, + g_pars.vec.ck, + g_pars.vec.autn, + g_pars.vec.res)); + log("GSUP sends 2G and 3G auth tuples", auth_tuple); + GSUP.receive(tr_GSUP_SAI_REQ(g_pars.imsi)); + GSUP.send(ts_GSUP_SAI_RES(g_pars.imsi, auth_tuple)); + + var template PDU_L3_SGSN_MS auth_ciph_req := tr_GMM_AUTH_REQ(g_pars.vec.rand, auth_req_ciph); + auth_ciph_req.msgs.gprs_mm.authenticationAndCipheringRequest.authenticationParameterAUTN := autn; + BSSGP[0].receive(auth_ciph_req) -> value l3_mt; + + setverdict(pass); + deactivate(di); +} + +private function f_TC_attach_usim_a54_a54(charstring id) runs on BSSGP_ConnHdlr { + f_TC_attach_usim_crypt('10'O, '100'B); +} + +private function f_TC_attach_usim_a54_a53(charstring id) runs on BSSGP_ConnHdlr { + f_TC_attach_usim_crypt('20'O, '011'B); +} + +private function f_TC_attach_usim_a53_a54(charstring id) runs on BSSGP_ConnHdlr { + f_TC_attach_usim_crypt('30'O, '011'B); +} + +private function f_TC_attach_usim_a50_a54(charstring id) runs on BSSGP_ConnHdlr { + f_TC_attach_usim_crypt('30'O, '000'B); +} + +private function f_TC_attach_usim_a54_a50(charstring id) runs on BSSGP_ConnHdlr { + f_TC_attach_usim_crypt('00'O, '000'B); +} + +testcase TC_attach_usim_a54_a54() runs on test_CT { + var BSSGP_ConnHdlr vc_conn; + f_init(); + f_sleep(1.0); + f_vty_config(SGSNVTY, "sgsn", "encryption GEA0 GEA3 GEA4"); + vc_conn := f_start_handler(refers(f_TC_attach_usim_a54_a54), testcasename(), g_gb, 40); + vc_conn.done; + f_cleanup(); +} + +testcase TC_attach_usim_a54_a53() runs on test_CT { + var BSSGP_ConnHdlr vc_conn; + f_init(); + f_sleep(1.0); + f_vty_config(SGSNVTY, "sgsn", "encryption GEA0 GEA3 GEA4"); + vc_conn := f_start_handler(refers(f_TC_attach_usim_a54_a53), testcasename(), g_gb, 40); + vc_conn.done; + f_cleanup(); +} + +testcase TC_attach_usim_a53_a54() runs on test_CT { + var BSSGP_ConnHdlr vc_conn; + f_init(); + f_sleep(1.0); + f_vty_config(SGSNVTY, "sgsn", "encryption GEA0 GEA3"); + vc_conn := f_start_handler(refers(f_TC_attach_usim_a53_a54), testcasename(), g_gb, 40); + vc_conn.done; + f_cleanup(); +} + +testcase TC_attach_usim_a50_a54() runs on test_CT { + var BSSGP_ConnHdlr vc_conn; + f_init(); + f_sleep(1.0); + f_vty_config(SGSNVTY, "sgsn", "encryption GEA0"); + vc_conn := f_start_handler(refers(f_TC_attach_usim_a50_a54), testcasename(), g_gb, 40); + vc_conn.done; + f_cleanup(); +} + +testcase TC_attach_usim_a54_a50() runs on test_CT { + var BSSGP_ConnHdlr vc_conn; + f_init(); + f_sleep(1.0); + f_vty_config(SGSNVTY, "sgsn", "encryption GEA0 GEA3 GEA4"); + vc_conn := f_start_handler(refers(f_TC_attach_usim_a54_a50), testcasename(), g_gb, 40); + vc_conn.done; + f_cleanup(); +} /* Send LLC NULL to see if the SGSN survives it (OS#3952) */ private function f_TC_llc_null(charstring id) runs on BSSGP_ConnHdlr { @@ -3506,6 +3623,11 @@ execute( TC_attach_rau_a_a() ); execute( TC_attach_rau_a_b() ); execute( TC_attach_usim_resync() ); + execute( TC_attach_usim_a54_a54() ); + execute( TC_attach_usim_a54_a53() ); + execute( TC_attach_usim_a53_a54() ); + execute( TC_attach_usim_a50_a54() ); + execute( TC_attach_usim_a54_a50() ); execute( TC_detach_unknown_nopoweroff() ); execute( TC_detach_unknown_poweroff() ); execute( TC_detach_nopoweroff() ); diff --git a/sgsn/expected-results.xml b/sgsn/expected-results.xml index 0a36e2e..9997895 100644 --- a/sgsn/expected-results.xml +++ b/sgsn/expected-results.xml @@ -37,6 +37,11 @@ + + + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iad65cbf9840aa883cb34e53554b94a4142c82638 Gerrit-Change-Number: 24629 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen 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 Wed Jun 16 10:41:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Jun 2021 10:41:53 +0000 Subject: Change in osmo-bts[master]: pcu_sock: Transmit SI2 In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24617 ) Change subject: pcu_sock: Transmit SI2 ...................................................................... pcu_sock: Transmit SI2 OsmoPCU will need this SI2 in order to gain knowledge of the BCCH Frequency List being broadcasted, in order to build a per-MS specific Neighbour List using NC_FREQUENCY_LIST bits in Packet Measurement Order. Related: SYS#5303 Change-Id: If70c64f941f621a9a68aef2c846639b5c7f2f74b --- M src/common/pcu_sock.c M src/common/rsl.c 2 files changed, 3 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved fixeria: Looks good to me, approved diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 83aa0a1..3a73570 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -770,8 +770,8 @@ static int pcu_tx_si_all(struct gsm_bts *bts) { - const enum osmo_sysinfo_type si_types[3] = - { SYSINFO_TYPE_1, SYSINFO_TYPE_3, SYSINFO_TYPE_13 }; + const enum osmo_sysinfo_type si_types[] = + { SYSINFO_TYPE_1, SYSINFO_TYPE_2, SYSINFO_TYPE_3, SYSINFO_TYPE_13 }; unsigned int i; int rc = 0; diff --git a/src/common/rsl.c b/src/common/rsl.c index 7f9af84..a4b1b7d 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -550,6 +550,7 @@ } break; case SYSINFO_TYPE_1: + case SYSINFO_TYPE_2: case SYSINFO_TYPE_13: pcu_tx_si(trx->bts, osmo_si, true); break; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24617 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If70c64f941f621a9a68aef2c846639b5c7f2f74b Gerrit-Change-Number: 24617 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 Wed Jun 16 10:42:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Jun 2021 10:42:54 +0000 Subject: Change in libosmocore[master]: gprs_ns2: use llist_add_tail to keep order In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24682 ) Change subject: gprs_ns2: use llist_add_tail to keep order ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24682 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibbc03f0780b49543b5bd97ee059f11cfd6c2a126 Gerrit-Change-Number: 24682 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Assignee: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-CC: daniel Gerrit-Comment-Date: Wed, 16 Jun 2021 10:42:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 10:43:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Jun 2021 10:43:31 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix missing notify towards the NSE when NSVC become blocked In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24683 ) Change subject: gprs_ns2: fix missing notify towards the NSE when NSVC become blocked ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24683 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I09634e414e9bb966e6b5809b7de1b59fbabd413d Gerrit-Change-Number: 24683 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Assignee: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: daniel Gerrit-Comment-Date: Wed, 16 Jun 2021 10:43: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 Jun 16 10:44:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Jun 2021 10:44:21 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vc_fsm: reset the ALIVE response time when stopping test In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24684 ) Change subject: gprs_ns2_vc_fsm: reset the ALIVE response time when stopping test ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24684 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5435077d35ff1ae3d743ea1b1b8ace7f0fb913cf Gerrit-Change-Number: 24684 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 10:44: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 Jun 16 10:45:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Jun 2021 10:45:07 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vc_fsm: rename state UNCONFIGURED -> DISABLED In-Reply-To: References: Message-ID: pespin 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: Code-Review+1 -- 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: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 10:45:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 11:22:53 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 16 Jun 2021 11:22:53 +0000 Subject: Change in libosmocore[master]: gprs_ns2: use llist_add_tail to keep order In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24682 ) Change subject: gprs_ns2: use llist_add_tail to keep order ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24682/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmocore/+/24682/3//COMMIT_MSG at 10 PS3, Line 10: should be keeped. keeped -> kept or better "maintained" -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24682 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibbc03f0780b49543b5bd97ee059f11cfd6c2a126 Gerrit-Change-Number: 24682 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Assignee: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-CC: daniel Gerrit-Comment-Date: Wed, 16 Jun 2021 11:22: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 Wed Jun 16 11:32:02 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 16 Jun 2021 11:32:02 +0000 Subject: Change in pysim[master]: card_handler: clean-up In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23595 ) Change subject: card_handler: clean-up ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/pysim/+/23595/2/pySim/card_handler.py File pySim/card_handler.py: https://gerrit.osmocom.org/c/pysim/+/23595/2/pySim/card_handler.py at 34 PS2, Line 34: Abstract > Let's please use Python's API for abstract classes: https://docs.python.org/3/library/abc.html. I do not think that this is a mandatory requirement. I agree it would be good to use the python API, but lets not get this blocked by this since it is more or less a cosmetic thing. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23595 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7168506cbebb1ebb67f47453419b860824912051 Gerrit-Change-Number: 23595 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 16 Jun 2021 11:32:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 12:35:49 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 16 Jun 2021 12:35:49 +0000 Subject: Change in libosmocore[master]: stats_vty: Improve generation of osmo counters References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24688 ) Change subject: stats_vty: Improve generation of osmo counters ...................................................................... stats_vty: Improve generation of osmo counters Use section for all counter headings, the idea is that the generated doc is included below a chapter describing the implemented counters which can optionally describe individual items. If not osmo_counters are present simply omit the whole section to tidy up the manual. Those are deprecated anyway and not used in the osmo-* projects that I checked. Change-Id: I126b39cb9458e0f62efa338967e07151a0eece0f Related: SYS#5005, OS#4523 --- M src/vty/stats_vty.c 1 file changed, 10 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/88/24688/1 diff --git a/src/vty/stats_vty.c b/src/vty/stats_vty.c index d5d3292..ba45e1e 100644 --- a/src/vty/stats_vty.c +++ b/src/vty/stats_vty.c @@ -415,13 +415,6 @@ static void asciidoc_counter_generate(struct vty *vty) { - if (osmo_counters_count() == 0) - { - vty_out(vty, "// there are no ungrouped osmo_counters%s", - VTY_NEWLINE); - return; - } - vty_out(vty, "// ungrouped osmo_counters%s", VTY_NEWLINE); vty_out(vty, ".ungrouped osmo counters%s", VTY_NEWLINE); vty_out(vty, "[options=\"header\"]%s", VTY_NEWLINE); @@ -542,13 +535,19 @@ vty_out(vty, "// generating tables for rate_ctr_group%s", VTY_NEWLINE); rate_ctr_for_each_group(asciidoc_rate_ctr_group_handler, vty); - vty_out(vty, "== Osmo Stat Items%s%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "=== Osmo Stat Items%s%s", VTY_NEWLINE, VTY_NEWLINE); vty_out(vty, "// generating tables for osmo_stat_items%s", VTY_NEWLINE); osmo_stat_item_for_each_group(asciidoc_osmo_stat_item_group_handler, vty); - vty_out(vty, "== Osmo Counters%s%s", VTY_NEWLINE, VTY_NEWLINE); - vty_out(vty, "// generating tables for osmo_counters%s", VTY_NEWLINE); - asciidoc_counter_generate(vty); + if (osmo_counters_count() == 0) + { + vty_out(vty, "// there are no ungrouped osmo_counters%s", + VTY_NEWLINE); + } else { + vty_out(vty, "=== Osmo Counters%s%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "// generating tables for osmo_counters%s", VTY_NEWLINE); + asciidoc_counter_generate(vty); + } return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24688 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I126b39cb9458e0f62efa338967e07151a0eece0f Gerrit-Change-Number: 24688 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 Jun 16 12:44:13 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 16 Jun 2021 12:44:13 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/transceiver.py: allow NOPE.ind on inactive timeslots In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24659 ) Change subject: trx_toolkit/transceiver.py: allow NOPE.ind on inactive timeslots ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/24659/1/src/target/trx_toolkit/transceiver.py File src/target/trx_toolkit/transceiver.py: https://gerrit.osmocom.org/c/osmocom-bb/+/24659/1/src/target/trx_toolkit/transceiver.py at 275 PS1, Line 275: return None > shouldn't you convert this to a NOPE. [?] In this function we do not transform from Tx to Rx, we just receive and parse PDUs. NOPE.ind flag will be set during the actual transformation in TxMsg.trans(). -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24659 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I27a3c8897cb82f6c264d34702c4ec64561bb9809 Gerrit-Change-Number: 24659 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 12:44:13 +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 Jun 16 12:45:47 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 16 Jun 2021 12:45:47 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: introduce and use struct sched_burst_req In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24661 ) Change subject: trxcon/scheduler: introduce and use struct sched_burst_req ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/24661/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmocom-bb/+/24661/2//COMMIT_MSG at 9 PS2, Line 9: Similar to what we do in osmo-bts-trx, group everything related to > "related to a to be" I don't get this. ... related to a [to be transmitted] burst. I can rephrase to [Uplink] instead. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Gerrit-Change-Number: 24661 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 12:45:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 12:54:50 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 16 Jun 2021 12:54:50 +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, 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 (#2). 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 M include/osmocom/bsc/handover_cfg.h A include/osmocom/bsc/handover_ctrl.h M src/osmo-bsc/Makefile.am M src/osmo-bsc/handover_cfg.c A src/osmo-bsc/handover_ctrl.c M src/osmo-bsc/handover_vty.c M src/osmo-bsc/osmo_bsc_ctrl.c M tests/handover/Makefile.am 10 files changed, 296 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/00/24600/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: 2 Gerrit-Owner: dexter Gerrit-Assignee: 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 Wed Jun 16 12:54:51 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 16 Jun 2021 12:54:51 +0000 Subject: Change in osmo-bsc[master]: handover_cfg: add missing VTY_CMD_PREFIX in comment References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24689 ) Change subject: handover_cfg: add missing VTY_CMD_PREFIX in comment ...................................................................... handover_cfg: add missing VTY_CMD_PREFIX in comment The comment that explains HO_CFG_ONE_MEMBER lacks VTY_CMD_PREFIX in the sample macro definistion. Change-Id: I80db198178cfd1e8669589eb3b468766f0c30ea2 --- M include/osmocom/bsc/handover_cfg.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/89/24689/1 diff --git a/include/osmocom/bsc/handover_cfg.h b/include/osmocom/bsc/handover_cfg.h index 342d5e4..6e003af 100644 --- a/include/osmocom/bsc/handover_cfg.h +++ b/include/osmocom/bsc/handover_cfg.h @@ -53,7 +53,7 @@ /* 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, - * VTY_CMD, VTY_CMD_ARG, VTY_ARG_EVAL, + * VTY_CMD_PREFIX, VTY_CMD, VTY_CMD_ARG, VTY_ARG_EVAL, * VTY_WRITE_FMT, VTY_WRITE_CONV, * VTY_DOC) * Then using HO_CFG_ALL_MEMBERS can save a lot of code dup in defining API declaration, API -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24689 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I80db198178cfd1e8669589eb3b468766f0c30ea2 Gerrit-Change-Number: 24689 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 Jun 16 12:55:05 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 16 Jun 2021 12:55:05 +0000 Subject: Change in libosmocore[master]: control_cmd: fix typo References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24690 ) Change subject: control_cmd: fix typo ...................................................................... control_cmd: fix typo Change-Id: I9deaee42aeb0ab0549cc7c4f180ad9c216b9df39 --- M src/ctrl/control_cmd.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/90/24690/1 diff --git a/src/ctrl/control_cmd.c b/src/ctrl/control_cmd.c index 33496bd..0badf9c 100644 --- a/src/ctrl/control_cmd.c +++ b/src/ctrl/control_cmd.c @@ -207,7 +207,7 @@ } /*! Install a given command definition at a given CTRL node. - * \param[in] node CTRL node at whihc \a cmd is to be installed + * \param[in] node CTRL node at which \a cmd is to be installed * \param[in] cmd command definition to be installed * \returns 0 on success; negative on error */ int ctrl_cmd_install(enum ctrl_node_type node, struct ctrl_cmd_element *cmd) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24690 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9deaee42aeb0ab0549cc7c4f180ad9c216b9df39 Gerrit-Change-Number: 24690 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 Jun 16 12:55:06 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 16 Jun 2021 12:55:06 +0000 Subject: Change in libosmocore[master]: vty: make function cmd_range_match() public References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24691 ) Change subject: vty: make function cmd_range_match() public ...................................................................... vty: make function cmd_range_match() public Certain control interface commands also may require to verfy a range in their verify function. cmd_range_match() from the VTY does exactly that and the range can be specified as string, the same way as we would specify it in the VTY. Change-Id: I53fc207677f52b1dc748b01d58424839cdba807c related: SYS#5369 --- M include/osmocom/vty/command.h M src/vty/command.c 2 files changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/91/24691/1 diff --git a/include/osmocom/vty/command.h b/include/osmocom/vty/command.h index 81333b4..01209f5 100644 --- a/include/osmocom/vty/command.h +++ b/include/osmocom/vty/command.h @@ -483,4 +483,6 @@ int vty_dump_xml_ref_mode(FILE *stream, enum vty_ref_gen_mode mode); int vty_dump_xml_ref(FILE *stream) OSMO_DEPRECATED("Use vty_dump_xml_ref_mode() instead"); +int cmd_range_match(const char *range, const char *str); + /*! @} */ diff --git a/src/vty/command.c b/src/vty/command.c index 6d63d84..48ac031 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -1477,7 +1477,7 @@ #error "LONG_MAX not defined!" #endif -static int cmd_range_match(const char *range, const char *str) +int cmd_range_match(const char *range, const char *str) { char *p; char buf[DECIMAL_STRLEN_MAX_UNSIGNED + 1]; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24691 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I53fc207677f52b1dc748b01d58424839cdba807c Gerrit-Change-Number: 24691 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 Jun 16 12:55:38 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 16 Jun 2021 12:55:38 +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 2: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24600/1/doc/manuals/chapters/control.adoc File doc/manuals/chapters/control.adoc: https://gerrit.osmocom.org/c/osmo-bsc/+/24600/1/doc/manuals/chapters/control.adoc at 41 PS1, Line 41: |handover_ho_active|RW|No|"0","1","default"|Enable/disable handover. > I did not notice that. This probably means that I have dig a bit deeper. [?] This is now also fixed. It was not easy as well since the control interface seems to have a lot of quirks (and maybe bugs). I do not see through entirely, but by design it seems not to be possible to install a command twice on different nodes. Also there seems to be no way to find on which nodes we are. The node variable is a void pointer to the struct we are working on. (e.g. bts) but we have no way to check if we are really on the BTS node. We just have to trust that cmd->node contains what we expect. 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 80 PS1, Line 80: CTRL_CMD_DEFINE(NAME, "handover_"#NAME); \ > The vty command name is in VTY_CMD; [?] I have thought through both. Option 1 is a bit problematic as we have VTY commands that have spaces (which become to dots) and - characters in them. We can not use - in the C code. Also I think it would be a mess to replace all the struct members. Adding another argument to the macro is the better solution I think. Ironically it turned out (I did not know that before) that the control interface commands must have spaces where later the dots are expected. So we can just use VTY_CMD_PREFIX and VTY_CMD directly and we get exactly what we need. Unfortunately there are min-free-slots tch/f and min-free-slots tch/h. The / is a forbidden character in the control interface. So we still need the additional argument to define a string without /. At least I managed to make the new parameter (CTRL_CMD) optional. -- 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: 2 Gerrit-Owner: dexter Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 12:55:38 +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 Jun 16 12:56:10 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 16 Jun 2021 12:56:10 +0000 Subject: Change in osmo-gbproxy[master]: manual: Update counters, add proper chapter for counters References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24692 ) Change subject: manual: Update counters, add proper chapter for counters ...................................................................... manual: Update counters, add proper chapter for counters Change-Id: If499ba8f8e26d340e79a42be3fb490e912d507cc --- A doc/manuals/chapters/counters.adoc M doc/manuals/chapters/counters_generated.adoc M doc/manuals/osmogbproxy-usermanual.adoc 3 files changed, 25 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/92/24692/1 diff --git a/doc/manuals/chapters/counters.adoc b/doc/manuals/chapters/counters.adoc new file mode 100644 index 0000000..0d9799c --- /dev/null +++ b/doc/manuals/chapters/counters.adoc @@ -0,0 +1,4 @@ +[[counters]] +== Counters + +include::./counters_generated.adoc[] \ No newline at end of file diff --git a/doc/manuals/chapters/counters_generated.adoc b/doc/manuals/chapters/counters_generated.adoc index e16560c..6b0f89c 100644 --- a/doc/manuals/chapters/counters_generated.adoc +++ b/doc/manuals/chapters/counters_generated.adoc @@ -1,6 +1,6 @@ // autogenerated by show asciidoc counters -These counters and their description are based on OsmoGbProxy UNKNOWN-dirty (OsmoGbProxy). +These counters and their description are based on OsmoGbProxy 0.1.0.21-5643 (OsmoGbProxy). === Rate Counters @@ -16,44 +16,46 @@ | bytes:in | <> | Bytes at NS Level ( In) | bytes:out | <> | Bytes at NS Level (Out) | bytes:out:drop | <> | Dropped Bytes (Out) -| blocked | <> | NS-VC Block count -| unblocked | <> | NS-VC Unblock count -| dead | <> | NS-VC gone dead count +| blocked | <> | NS-VC Block count +| unblocked | <> | NS-VC Unblock count +| dead | <> | NS-VC gone dead count | replaced | <> | NS-VC replaced other count -| nsei-chg | <> | NS-VC changed NSEI count -| lost:alive | <> | ALIVE ACK missing count -| lost:reset | <> | RESET ACK missing count +| nsei-chg | <> | NS-VC changed NSEI count +| inv-nsvci | <> | NS-VCI was invalid count +| inv-nsei | <> | NSEI was invalid count +| lost:alive | <> | ALIVE ACK missing count +| lost:reset | <> | RESET ACK missing count |=== // rate_ctr_group table GBProxy Peer Statistics .gbproxy:peer - GBProxy Peer Statistics [options="header"] |=== | Name | Reference | Description -| blocked | <> | BVC Block -| unblocked | <> | BVC Unblock -| dropped | <> | BVC blocked, dropped packet -| inv-nsei | <> | NSEI mismatch -| tx-err | <> | NS Transmission error +| blocked | <> | BVC Block +| unblocked | <> | BVC Unblock +| dropped | <> | BVC blocked, dropped packet +| inv-nsei | <> | NSEI mismatch +| tx-err | <> | NS Transmission error |=== // rate_ctr_group table GBProxy Global Statistics .gbproxy:global - GBProxy Global Statistics [options="header"] |=== | Name | Reference | Description -| inv-bvci | <> | Invalid BVC Identifier +| inv-bvci | <> | Invalid BVC Identifier | inv-lai | <> | Invalid Location Area Identifier -| inv-rai | <> | Invalid Routing Area Identifier -| inv-nsei | <> | No BVC established for NSEI +| inv-rai | <> | Invalid Routing Area Identifier +| inv-nsei | <> | No BVC established for NSEI | proto-err:bss | <> | BSSGP protocol error (BSS ) | proto-err:sgsn | <> | BSSGP protocol error (SGSN) | not-supp:bss | <> | Feature not supported (BSS ) | not-supp:sgsn | <> | Feature not supported (SGSN) | restart:sgsn | <> | Restarted RESET procedure (SGSN) | tx-err:sgsn | <> | NS Transmission error (SGSN) -| error | <> | Other error -| mod-peer-err | <> | Patch error: no peer +| error | <> | Other error +| mod-peer-err | <> | Patch error: no peer |=== -== Osmo Stat Items +=== Osmo Stat Items // generating tables for osmo_stat_items NSVC Peer Statistics @@ -72,7 +74,4 @@ | Name | Reference | Description | Unit | tx_backlog_length | <> | Transmit backlog length | packets |=== -== Osmo Counters - -// generating tables for osmo_counters // there are no ungrouped osmo_counters diff --git a/doc/manuals/osmogbproxy-usermanual.adoc b/doc/manuals/osmogbproxy-usermanual.adoc index 193b6a4..835b4ed 100644 --- a/doc/manuals/osmogbproxy-usermanual.adoc +++ b/doc/manuals/osmogbproxy-usermanual.adoc @@ -31,7 +31,7 @@ include::./common/chapters/control_if.adoc[] -include::{srcdir}/chapters/counters_generated.adoc[] +include::{srcdir}/chapters/counters.adoc[] include::./common/chapters/vty_cpu_sched.adoc[] -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24692 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: If499ba8f8e26d340e79a42be3fb490e912d507cc Gerrit-Change-Number: 24692 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 Jun 16 12:56:10 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 16 Jun 2021 12:56:10 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_vty: Remove redundant command "show gbproxy links" References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24693 ) Change subject: gbproxy_vty: Remove redundant command "show gbproxy links" ...................................................................... gbproxy_vty: Remove redundant command "show gbproxy links" show gbproxy bvc bss displays the same information Change-Id: I069a4eb8031d2b486a1f88eaf2a0a6a1a06c9fd2 --- M src/gb_proxy_vty.c 1 file changed, 0 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/93/24693/1 diff --git a/src/gb_proxy_vty.c b/src/gb_proxy_vty.c index 9ac45e7..906beff 100644 --- a/src/gb_proxy_vty.c +++ b/src/gb_proxy_vty.c @@ -544,21 +544,6 @@ return CMD_SUCCESS; } -DEFUN(show_gbproxy_links, show_gbproxy_links_cmd, "show gbproxy links", - SHOW_STR GBPROXY_STR "Show logical links\n") -{ - struct gbproxy_nse *nse; - int i, j; - - hash_for_each(g_cfg->bss_nses, i, nse, list) { - struct gbproxy_bvc *bvc; - hash_for_each(nse->bvcs, j, bvc, list) { - gbprox_vty_print_bvc(vty, bvc); - } - } - return CMD_SUCCESS; -} - DEFUN(show_gbproxy_tlli_cache, show_gbproxy_tlli_cache_cmd, "show gbproxy tlli-cache", SHOW_STR GBPROXY_STR "Show TLLI cache entries\n") @@ -738,7 +723,6 @@ { install_element_ve(&show_gbproxy_bvc_cmd); install_element_ve(&show_gbproxy_cell_cmd); - install_element_ve(&show_gbproxy_links_cmd); install_element_ve(&show_gbproxy_tlli_cache_cmd); install_element_ve(&show_gbproxy_imsi_cache_cmd); install_element_ve(&show_nri_all_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24693 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I069a4eb8031d2b486a1f88eaf2a0a6a1a06c9fd2 Gerrit-Change-Number: 24693 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 Jun 16 12:56:10 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 16 Jun 2021 12:56:10 +0000 Subject: Change in osmo-gbproxy[master]: manual: Add section describing show gbproxy command usage References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24694 ) Change subject: manual: Add section describing show gbproxy command usage ...................................................................... manual: Add section describing show gbproxy command usage Change-Id: Iad2775d125b842f47b0a7b8324fbe417bece04de --- M doc/manuals/chapters/gbproxy-configuration.adoc 1 file changed, 48 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/94/24694/1 diff --git a/doc/manuals/chapters/gbproxy-configuration.adoc b/doc/manuals/chapters/gbproxy-configuration.adoc index 79a508b..84eac07 100644 --- a/doc/manuals/chapters/gbproxy-configuration.adoc +++ b/doc/manuals/chapters/gbproxy-configuration.adoc @@ -48,4 +48,51 @@ ---- <1> Define bind with IP/port for the BSS <2> Allow BSS with dynamic NSE to connect to this bind -<3> Use this bind as default for dynamic NSE \ No newline at end of file +<3> Use this bind as default for dynamic NSE + +=== Checking OsmoGbProxy state + +The VTY interface (see <>) offers you commands to inspect the state of +OsmoGbProxy. +FIXME mention/link to NS VTY chapter + + +.Example: Check SGSN-side BVCs +---- +OsmoGbProxy# show gbproxy bvc sgsn <1> +NSEI 1, SIG-BVCI 0 [UNBLOCKED] <2> +NSEI 1, PTP-BVCI 1234, RAI 001-01-1234-0 [UNBLOCKED] <3> +NSEI 1, PTP-BVCI 1235, RAI 001-01-1235-0 [BLOCKED] <4> +---- +<1> show the BVCs towards the SGSN-side +<2> a signalling BVC is required before PTP-BVCs can be established +<3> for PTP-BVCs show the BVCI and RAI that was sent during the RESET procedure +<4> a BVC on the SGSN-side can be blocked either because the BSS blocked the PTP-BVC or if the + BSS BVC vanished (due to BVC-RESET or NSE failure). Since there is no way to delete a PTP-BVC + it will stay until the SIG-BVC on that NSE is reset. + +.Example: Check BSS-side BVCs +---- +OsmoGbProxy# show gbproxy bvc bss <1> +NSEI 1001, SIG-BVCI 0 [UNBLOCKED] +NSEI 1001, PTP-BVCI 1234, RAI 001-01-1234-0 [UNBLOCKED] <2> +NSEI 1002, SIG-BVCI 0 [UNBLOCKED] +NSEI 1002, PTP-BVCI 1235, RAI 001-01-1235-0 [BLOCKED] +---- +<1> show the BVCs towards the BSS-side +<2> the information displayed is the same as for the SGSN-side + +.Example: Show cell information +---- +OsmoGbProxy# show gbproxy cell +BVCI 1234 RAI 001-01-1234-0 CID 1234: BSS NSEI 1001, SGSN NSEI 1 +BVCI 1235 RAI 001-01-1235-0 CID 1235: BSS NSEI 1002, SGSN NSEI 1 +---- + + +---- +BVCI 1234 RAI 001-01-1234-0 CID 1234: BSS NSEI 1001, SGSN NSEI 1 2 <1> +BVCI 1235 RAI 001-01-1235-0 CID 1235: BSS NSEI , SGSN NSEI <2> +---- +<1> when multiple SGSNs are connected (SGSN pooling) more than one NSEI is shown +<2> if the BSS or SGSN side of a cell is currently disconnected none is shown instead of the NSEI \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24694 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Iad2775d125b842f47b0a7b8324fbe417bece04de Gerrit-Change-Number: 24694 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 Jun 16 12:56:11 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 16 Jun 2021 12:56:11 +0000 Subject: Change in osmo-gbproxy[master]: manual: Add chapter describing osmo counters in general References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24695 ) Change subject: manual: Add chapter describing osmo counters in general ...................................................................... manual: Add chapter describing osmo counters in general Related: SYS#5005 Change-Id: I088f37abaccd486b9b124c91f5321ee7187873a6 --- M doc/manuals/osmogbproxy-usermanual.adoc 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/95/24695/1 diff --git a/doc/manuals/osmogbproxy-usermanual.adoc b/doc/manuals/osmogbproxy-usermanual.adoc index 835b4ed..4de5106 100644 --- a/doc/manuals/osmogbproxy-usermanual.adoc +++ b/doc/manuals/osmogbproxy-usermanual.adoc @@ -31,6 +31,8 @@ include::./common/chapters/control_if.adoc[] +include::./common/chapters/counters-overview.adoc[] + include::{srcdir}/chapters/counters.adoc[] include::./common/chapters/vty_cpu_sched.adoc[] -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24695 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I088f37abaccd486b9b124c91f5321ee7187873a6 Gerrit-Change-Number: 24695 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 Jun 16 13:07:10 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 16 Jun 2021 13:07:10 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/transceiver.py: allow NOPE.ind on inactive timeslots 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/osmocom-bb/+/24659 to look at the new patch set (#2). Change subject: trx_toolkit/transceiver.py: allow NOPE.ind on inactive timeslots ...................................................................... trx_toolkit/transceiver.py: allow NOPE.ind on inactive timeslots Change-Id: I27a3c8897cb82f6c264d34702c4ec64561bb9809 Related: SYS#5313, OS#1569 --- M src/target/trx_toolkit/transceiver.py 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/59/24659/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24659 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I27a3c8897cb82f6c264d34702c4ec64561bb9809 Gerrit-Change-Number: 24659 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria 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 Wed Jun 16 13:07:10 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 16 Jun 2021 13:07:10 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: introduce and use struct sched_burst_req 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/osmocom-bb/+/24661 to look at the new patch set (#3). Change subject: trxcon/scheduler: introduce and use struct sched_burst_req ...................................................................... trxcon/scheduler: introduce and use struct sched_burst_req Similar to what we do in osmo-bts-trx, group everything related to an Uplink burst into a structure. Pass a pointer to this structure to the logical channel handlers. Thus makes the code easier to read, and facilitates sending NOPE indications to the transceiver (will be introduced in the upcoming patch). Get rid of sched_trx_handle_tx_burst(), and instead just call sched_trx_a5_burst_enc() directly from sched_frame_clck_cb(). Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Related: SYS#5313, OS#1569 --- M src/host/trxcon/sched_lchan_desc.c M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_rach.c M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_tchh.c M src/host/trxcon/sched_lchan_xcch.c M src/host/trxcon/sched_trx.c M src/host/trxcon/sched_trx.h M src/host/trxcon/trx_if.c M src/host/trxcon/trx_if.h 10 files changed, 146 insertions(+), 162 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/61/24661/3 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Gerrit-Change-Number: 24661 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 13:14:23 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 16 Jun 2021 13:14:23 +0000 Subject: Change in osmo-sgsn[master]: add support for multiple encryption algorithms and a5/4 In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 to look at the new patch set (#4). Change subject: add support for multiple encryption algorithms and a5/4 ...................................................................... add support for multiple encryption algorithms and a5/4 Change-Id: Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Related: SYS#5324 --- M include/osmocom/sgsn/gprs_sgsn.h M include/osmocom/sgsn/sgsn.h M src/sgsn/gprs_gmm.c M src/sgsn/gprs_llc.c M src/sgsn/gprs_sgsn.c M src/sgsn/sgsn_vty.c 6 files changed, 108 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/04/24304/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Gerrit-Change-Number: 24304 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 13:20:58 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 16 Jun 2021 13:20:58 +0000 Subject: Change in osmo-trx[master]: vty: printing fn offset should be signed References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/24696 ) Change subject: vty: printing fn offset should be signed ...................................................................... vty: printing fn offset should be signed ...because it is usually negative Change-Id: I8297dbb0fec25720e73d59fd8e38834029154405 --- M CommonLibs/trx_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/96/24696/1 diff --git a/CommonLibs/trx_vty.c b/CommonLibs/trx_vty.c index 30f55c8..2b0ba71 100644 --- a/CommonLibs/trx_vty.c +++ b/CommonLibs/trx_vty.c @@ -639,7 +639,7 @@ if (trx->cfg.stack_size != 0) vty_out(vty, " stack-size %u%s", trx->cfg.stack_size, VTY_NEWLINE); if (trx->cfg.ul_fn_offset != 0) - vty_out(vty, " ul-fn-offset %u%s", trx->cfg.ul_fn_offset, VTY_NEWLINE); + vty_out(vty, " ul-fn-offset %d%s", trx->cfg.ul_fn_offset, VTY_NEWLINE); trx_rate_ctr_threshold_write_config(vty, " "); for (i = 0; i < trx->cfg.num_chans; i++) { -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24696 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I8297dbb0fec25720e73d59fd8e38834029154405 Gerrit-Change-Number: 24696 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 Jun 16 13:45:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Jun 2021 13:45:28 +0000 Subject: Change in libosmocore[master]: stats_vty: Improve generation of osmo counters In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24688 ) Change subject: stats_vty: Improve generation of osmo counters ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24688 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I126b39cb9458e0f62efa338967e07151a0eece0f Gerrit-Change-Number: 24688 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 13:45:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 13:45:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Jun 2021 13:45:55 +0000 Subject: Change in osmo-bsc[master]: handover_cfg: add missing VTY_CMD_PREFIX in comment In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24689 ) Change subject: handover_cfg: add missing VTY_CMD_PREFIX in comment ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24689 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I80db198178cfd1e8669589eb3b468766f0c30ea2 Gerrit-Change-Number: 24689 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 13:45: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 Jun 16 13:46:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Jun 2021 13:46:04 +0000 Subject: Change in libosmocore[master]: control_cmd: fix typo In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24690 ) Change subject: control_cmd: fix typo ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24690 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9deaee42aeb0ab0549cc7c4f180ad9c216b9df39 Gerrit-Change-Number: 24690 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 13: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 Wed Jun 16 13:48:12 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Jun 2021 13:48:12 +0000 Subject: Change in libosmocore[master]: vty: make function cmd_range_match() public In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24691 ) Change subject: vty: make function cmd_range_match() public ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24691/1/include/osmocom/vty/command.h File include/osmocom/vty/command.h: https://gerrit.osmocom.org/c/libosmocore/+/24691/1/include/osmocom/vty/command.h at 486 PS1, Line 486: int cmd_range_match(const char *range, const char *str); Let's add a proper prefix for it: vty_cmd_range_match, or osmo_cmd_range_match. BTW, if you plan to use it in libosmoctrl, first check if it already depends on libosmovty. Otherwise you may want to move this function to libosmocore. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24691 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I53fc207677f52b1dc748b01d58424839cdba807c Gerrit-Change-Number: 24691 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 13:48: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 Wed Jun 16 13:49:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Jun 2021 13:49:18 +0000 Subject: Change in osmo-gbproxy[master]: manual: Update counters, add proper chapter for counters In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24692 ) Change subject: manual: Update counters, add proper chapter for counters ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24692 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: If499ba8f8e26d340e79a42be3fb490e912d507cc Gerrit-Change-Number: 24692 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 13:49: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 Jun 16 13:51:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Jun 2021 13:51:39 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_vty: Remove redundant command "show gbproxy links" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24693 ) Change subject: gbproxy_vty: Remove redundant command "show gbproxy links" ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24693 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I069a4eb8031d2b486a1f88eaf2a0a6a1a06c9fd2 Gerrit-Change-Number: 24693 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 13:51: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 Jun 16 13:52:14 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 16 Jun 2021 13:52:14 +0000 Subject: Change in osmo-mgw[master]: [DO NOT MERGE] test commit to trigger linter References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24697 ) Change subject: [DO NOT MERGE] test commit to trigger linter ...................................................................... [DO NOT MERGE] test commit to trigger linter Change-Id: Id144b17283b9b73bc62e411c99ea10dc385e9435 --- M src/osmo-mgw/mgw_main.c 1 file changed, 11 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/97/24697/1 diff --git a/src/osmo-mgw/mgw_main.c b/src/osmo-mgw/mgw_main.c index d30378d..ce68927 100644 --- a/src/osmo-mgw/mgw_main.c +++ b/src/osmo-mgw/mgw_main.c @@ -95,6 +95,17 @@ /* used by msgb and mgcp */ void *tall_mgw_ctx = NULL; +/* intentionally write code that doesn't follow coding guidelines + * to trigger the linter */ +int lint_should_complain_here (char* str) +{ + if(str) + { + printf("using some weird syntax\n"); + printf ("to get complaints by linter\n "); + } +} + static void print_help() { printf("Some useful options:\n"); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24697 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id144b17283b9b73bc62e411c99ea10dc385e9435 Gerrit-Change-Number: 24697 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 Jun 16 13:52:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Jun 2021 13:52:30 +0000 Subject: Change in osmo-gbproxy[master]: manual: Add section describing show gbproxy command usage In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24694 ) Change subject: manual: Add section describing show gbproxy command usage ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-gbproxy/+/24694/1/doc/manuals/chapters/gbproxy-configuration.adoc File doc/manuals/chapters/gbproxy-configuration.adoc: https://gerrit.osmocom.org/c/osmo-gbproxy/+/24694/1/doc/manuals/chapters/gbproxy-configuration.adoc at 67 PS1, Line 67: <1> show the BVCs towards the SGSN-side start all these lines with caps? -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24694 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Iad2775d125b842f47b0a7b8324fbe417bece04de Gerrit-Change-Number: 24694 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 13:52:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 13:52:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Jun 2021 13:52:55 +0000 Subject: Change in osmo-gbproxy[master]: manual: Add chapter describing osmo counters in general In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24695 ) Change subject: manual: Add chapter describing osmo counters in general ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24695 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I088f37abaccd486b9b124c91f5321ee7187873a6 Gerrit-Change-Number: 24695 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 13:52:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 13:53:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Jun 2021 13:53:30 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/transceiver.py: allow NOPE.ind on inactive timeslots In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24659 ) Change subject: trx_toolkit/transceiver.py: allow NOPE.ind on inactive timeslots ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24659 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I27a3c8897cb82f6c264d34702c4ec64561bb9809 Gerrit-Change-Number: 24659 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 13:53:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 13:54:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Jun 2021 13:54:40 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: introduce and use struct sched_burst_req In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24661 ) Change subject: trxcon/scheduler: introduce and use struct sched_burst_req ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/24661/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmocom-bb/+/24661/3//COMMIT_MSG at 11 PS3, Line 11: to the logical channel handlers. Thus makes the code easier to read, "This makes" -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Gerrit-Change-Number: 24661 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 13:54:40 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 13:55:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Jun 2021 13:55:35 +0000 Subject: Change in osmo-trx[master]: vty: printing fn offset should be signed In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/24696 ) Change subject: vty: printing fn offset should be signed ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24696 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I8297dbb0fec25720e73d59fd8e38834029154405 Gerrit-Change-Number: 24696 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 13:55:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 13:55:41 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 16 Jun 2021 13:55:41 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: introduce and use struct sched_burst_req 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/osmocom-bb/+/24661 to look at the new patch set (#4). Change subject: trxcon/scheduler: introduce and use struct sched_burst_req ...................................................................... trxcon/scheduler: introduce and use struct sched_burst_req Similar to what we do in osmo-bts-trx, group everything related to an Uplink burst into a structure. Pass a pointer to this structure to the logical channel handlers. This makes the code easier to read, and facilitates sending NOPE indications to the transceiver (will be introduced in the upcoming patch). Get rid of sched_trx_handle_tx_burst(), and instead just call sched_trx_a5_burst_enc() directly from sched_frame_clck_cb(). Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Related: SYS#5313, OS#1569 --- M src/host/trxcon/sched_lchan_desc.c M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_rach.c M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_tchh.c M src/host/trxcon/sched_lchan_xcch.c M src/host/trxcon/sched_trx.c M src/host/trxcon/sched_trx.h M src/host/trxcon/trx_if.c M src/host/trxcon/trx_if.h 10 files changed, 146 insertions(+), 162 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/61/24661/4 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Gerrit-Change-Number: 24661 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 13:55:41 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 16 Jun 2021 13:55:41 +0000 Subject: Change in osmocom-bb[master]: trxcon/trx_if: send NOPE indications if there is no burst 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/osmocom-bb/+/24662 to look at the new patch set (#4). Change subject: trxcon/trx_if: send NOPE indications if there is no burst ...................................................................... trxcon/trx_if: send NOPE indications if there is no burst In a typical setup operating on the real radio interface, it's the duty of the transceiver (e.g. osmo-trx) to send NOPE.ind to the L1 implementation (e.g. osmo-bts-trx). However, in a virtual environment for ttcn3-bts-test we use a fake transceiver, which due to its simplicity cannot send NOPE indications itself. The lack of queues and buffering does not allow us to implement NOPE indications in fake_trx.py, so the easiest approach is to generate them from trxcon. Send TRXD PDUs without the burst bits, and fake_trx.py will tranform them info NOPE.ind for us. Change-Id: I1c7f1315b8ef44f651efd6a22fb5b854f65c0946 Related: SYS#5313, OS#1569 --- M src/host/trxcon/trx_if.c 1 file changed, 4 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/62/24662/4 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24662 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I1c7f1315b8ef44f651efd6a22fb5b854f65c0946 Gerrit-Change-Number: 24662 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 13:57:23 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 16 Jun 2021 13:57:23 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/transceiver.py: allow NOPE.ind on inactive timeslots In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24659 ) Change subject: trx_toolkit/transceiver.py: allow NOPE.ind on inactive timeslots ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24659 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I27a3c8897cb82f6c264d34702c4ec64561bb9809 Gerrit-Change-Number: 24659 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 13:57:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 13:57:28 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 16 Jun 2021 13:57:28 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: introduce and use struct sched_burst_req In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24661 ) Change subject: trxcon/scheduler: introduce and use struct sched_burst_req ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Gerrit-Change-Number: 24661 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 13:57:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 13:57:31 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 16 Jun 2021 13:57:31 +0000 Subject: Change in osmocom-bb[master]: trxcon/trx_if: send NOPE indications if there is no burst In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24662 ) Change subject: trxcon/trx_if: send NOPE indications if there is no burst ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24662 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I1c7f1315b8ef44f651efd6a22fb5b854f65c0946 Gerrit-Change-Number: 24662 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 13:57: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 Jun 16 13:57:37 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 16 Jun 2021 13:57:37 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/transceiver.py: allow NOPE.ind on inactive timeslots In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24659 ) Change subject: trx_toolkit/transceiver.py: allow NOPE.ind on inactive timeslots ...................................................................... trx_toolkit/transceiver.py: allow NOPE.ind on inactive timeslots Change-Id: I27a3c8897cb82f6c264d34702c4ec64561bb9809 Related: SYS#5313, OS#1569 --- M src/target/trx_toolkit/transceiver.py 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/target/trx_toolkit/transceiver.py b/src/target/trx_toolkit/transceiver.py index d041070..b48dffb 100644 --- a/src/target/trx_toolkit/transceiver.py +++ b/src/target/trx_toolkit/transceiver.py @@ -269,7 +269,8 @@ return None # Make sure that indicated timeslot is configured - if msg.tn not in self.ts_list: + # Pass PDUs without burst bits, they will be sent as NOPE.ind + if msg.tn not in self.ts_list and msg.burst: log.warning("(%s) RX TRXD message (%s), but timeslot is not " "configured => dropping..." % (self, msg.desc_hdr())) return None -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24659 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I27a3c8897cb82f6c264d34702c4ec64561bb9809 Gerrit-Change-Number: 24659 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 13:57:38 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 16 Jun 2021 13:57:38 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: cosmetic: move TDMA frame number calculation In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24660 ) Change subject: trxcon/scheduler: cosmetic: move TDMA frame number calculation ...................................................................... trxcon/scheduler: cosmetic: move TDMA frame number calculation Change-Id: I79efdfa543d37889dc6749eb25aab4e1639749c6 --- M src/host/trxcon/sched_trx.c 1 file changed, 5 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/host/trxcon/sched_trx.c b/src/host/trxcon/sched_trx.c index 0025e0c..91310c0 100644 --- a/src/host/trxcon/sched_trx.c +++ b/src/host/trxcon/sched_trx.c @@ -50,9 +50,13 @@ enum trx_lchan_type chan; uint8_t offset, bid; struct trx_ts *ts; - uint32_t fn; int i; + /* Advance TDMA frame number in order to give the transceiver + * more time to handle the burst before the actual transmission. */ + const uint32_t fn = GSM_TDMA_FN_SUM(sched->fn_counter_proc, + sched->fn_counter_advance); + /* Iterate over timeslot list */ for (i = 0; i < TRX_TS_COUNT; i++) { /* Timeslot is not allocated */ @@ -64,12 +68,6 @@ if (ts->mf_layout == NULL) continue; - /** - * Advance frame number, giving the transceiver more - * time until a burst must be transmitted... - */ - fn = GSM_TDMA_FN_SUM(sched->fn_counter_proc, sched->fn_counter_advance); - /* Get frame from multiframe */ offset = fn % ts->mf_layout->period; frame = ts->mf_layout->frames + offset; -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24660 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I79efdfa543d37889dc6749eb25aab4e1639749c6 Gerrit-Change-Number: 24660 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 13:57:38 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 16 Jun 2021 13:57:38 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: introduce and use struct sched_burst_req In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24661 ) Change subject: trxcon/scheduler: introduce and use struct sched_burst_req ...................................................................... trxcon/scheduler: introduce and use struct sched_burst_req Similar to what we do in osmo-bts-trx, group everything related to an Uplink burst into a structure. Pass a pointer to this structure to the logical channel handlers. This makes the code easier to read, and facilitates sending NOPE indications to the transceiver (will be introduced in the upcoming patch). Get rid of sched_trx_handle_tx_burst(), and instead just call sched_trx_a5_burst_enc() directly from sched_frame_clck_cb(). Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Related: SYS#5313, OS#1569 --- M src/host/trxcon/sched_lchan_desc.c M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_rach.c M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_tchh.c M src/host/trxcon/sched_lchan_xcch.c M src/host/trxcon/sched_trx.c M src/host/trxcon/sched_trx.h M src/host/trxcon/trx_if.c M src/host/trxcon/trx_if.h 10 files changed, 146 insertions(+), 162 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/host/trxcon/sched_lchan_desc.c b/src/host/trxcon/sched_lchan_desc.c index 2c3c3b2..b6a72b3 100644 --- a/src/host/trxcon/sched_lchan_desc.c +++ b/src/host/trxcon/sched_lchan_desc.c @@ -34,35 +34,40 @@ const sbit_t *bits, const struct trx_meas_set *meas); int tx_data_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); + struct trx_lchan_state *lchan, + struct sched_burst_req *br); int rx_sch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, const sbit_t *bits, const struct trx_meas_set *meas); int tx_rach_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); + struct trx_lchan_state *lchan, + struct sched_burst_req *br); int rx_tchf_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, const sbit_t *bits, const struct trx_meas_set *meas); int tx_tchf_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); + struct trx_lchan_state *lchan, + struct sched_burst_req *br); int rx_tchh_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, const sbit_t *bits, const struct trx_meas_set *meas); int tx_tchh_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); + struct trx_lchan_state *lchan, + struct sched_burst_req *br); int rx_pdtch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, const sbit_t *bits, const struct trx_meas_set *meas); int tx_pdtch_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); + struct trx_lchan_state *lchan, + struct sched_burst_req *br); const struct trx_lchan_desc trx_lchan_desc[_TRX_CHAN_MAX] = { [TRXC_IDLE] = { diff --git a/src/host/trxcon/sched_lchan_pdtch.c b/src/host/trxcon/sched_lchan_pdtch.c index 6a68489..abbd480 100644 --- a/src/host/trxcon/sched_lchan_pdtch.c +++ b/src/host/trxcon/sched_lchan_pdtch.c @@ -2,7 +2,8 @@ * OsmocomBB <-> SDR connection bridge * TDMA scheduler: handlers for DL / UL bursts on logical channels * - * (C) 2018-2020 by Vadim Yanitskiy + * (C) 2018-2021 by Vadim Yanitskiy + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -117,10 +118,10 @@ int tx_pdtch_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid) + struct trx_lchan_state *lchan, + struct sched_burst_req *br) { const struct trx_lchan_desc *lchan_desc; - ubit_t burst[GSM_BURST_LEN]; ubit_t *buffer, *offset; const uint8_t *tsc; uint8_t *mask; @@ -131,7 +132,7 @@ mask = &lchan->tx_burst_mask; buffer = lchan->tx_bursts; - if (bid > 0) { + if (br->bid > 0) { /* If we have encoded bursts */ if (*mask) goto send_burst; @@ -155,40 +156,29 @@ send_burst: /* Determine which burst should be sent */ - offset = buffer + bid * 116; + offset = buffer + br->bid * 116; /* Update mask */ - *mask |= (1 << bid); + *mask |= (1 << br->bid); /* Choose proper TSC */ tsc = sched_nb_training_bits[trx->tsc]; /* Compose a new burst */ - memset(burst, 0, 3); /* TB */ - memcpy(burst + 3, offset, 58); /* Payload 1/2 */ - memcpy(burst + 61, tsc, 26); /* TSC */ - memcpy(burst + 87, offset + 58, 58); /* Payload 2/2 */ - memset(burst + 145, 0, 3); /* TB */ + memset(br->burst, 0, 3); /* TB */ + memcpy(br->burst + 3, offset, 58); /* Payload 1/2 */ + memcpy(br->burst + 61, tsc, 26); /* TSC */ + memcpy(br->burst + 87, offset + 58, 58); /* Payload 2/2 */ + memset(br->burst + 145, 0, 3); /* TB */ + br->burst_len = GSM_BURST_LEN; - LOGP(DSCHD, LOGL_DEBUG, "Transmitting %s fn=%u ts=%u burst=%u\n", - lchan_desc->name, fn, ts->index, bid); - - /* Forward burst to scheduler */ - rc = sched_trx_handle_tx_burst(trx, ts, lchan, fn, burst); - if (rc) { - /* Forget this primitive */ - sched_prim_drop(lchan); - - /* Reset mask */ - *mask = 0x00; - - return rc; - } + LOGP(DSCHD, LOGL_DEBUG, "Scheduled %s fn=%u ts=%u burst=%u\n", + lchan_desc->name, br->fn, ts->index, br->bid); /* If we have sent the last (4/4) burst */ if ((*mask & 0x0f) == 0x0f) { /* Confirm data / traffic sending */ - sched_send_dt_conf(trx, ts, lchan, fn, true); + sched_send_dt_conf(trx, ts, lchan, br->fn, true); /* Forget processed primitive */ sched_prim_drop(lchan); diff --git a/src/host/trxcon/sched_lchan_rach.c b/src/host/trxcon/sched_lchan_rach.c index fe5821b..25e1b44 100644 --- a/src/host/trxcon/sched_lchan_rach.c +++ b/src/host/trxcon/sched_lchan_rach.c @@ -2,7 +2,8 @@ * OsmocomBB <-> SDR connection bridge * TDMA scheduler: handlers for DL / UL bursts on logical channels * - * (C) 2017-2019 by Vadim Yanitskiy + * (C) 2017-2021 by Vadim Yanitskiy + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -77,13 +78,13 @@ /* Obtain a to-be-transmitted RACH burst */ int tx_rach_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid) + struct trx_lchan_state *lchan, + struct sched_burst_req *br) { struct l1ctl_ext_rach_req *ext_req = NULL; struct l1ctl_rach_req *req = NULL; enum rach_synch_seq_t synch_seq; - uint8_t burst[GSM_BURST_LEN]; - uint8_t *burst_ptr = burst; + uint8_t *burst_ptr = br->burst; uint8_t payload[36]; int i, rc; @@ -155,27 +156,19 @@ burst_ptr += RACH_PAYLOAD_LEN; /* BN85-156: tail bits & extended guard period */ - memset(burst_ptr, 0, burst + GSM_BURST_LEN - burst_ptr); + memset(burst_ptr, 0, br->burst + GSM_BURST_LEN - burst_ptr); + br->burst_len = GSM_BURST_LEN; - LOGP(DSCHD, LOGL_NOTICE, "Transmitting %s RACH (%s) on fn=%u, tn=%u, lchan=%s\n", + LOGP(DSCHD, LOGL_NOTICE, "Scheduled %s RACH (%s) on fn=%u, tn=%u, lchan=%s\n", PRIM_IS_RACH11(lchan->prim) ? "extended (11-bit)" : "regular (8-bit)", - get_value_string(rach_synch_seq_names, synch_seq), fn, + get_value_string(rach_synch_seq_names, synch_seq), br->fn, ts->index, trx_lchan_desc[lchan->type].name); - /* Forward burst to scheduler */ - rc = sched_trx_handle_tx_burst(trx, ts, lchan, fn, burst); - if (rc) { - /* Forget this primitive */ - sched_prim_drop(lchan); - - return rc; - } - /* Confirm RACH request */ - l1ctl_tx_rach_conf(trx->l1l, trx->band_arfcn, fn); + l1ctl_tx_rach_conf(trx->l1l, trx->band_arfcn, br->fn); /* Optional GSMTAP logging */ - sched_gsmtap_send(lchan->type, fn, ts->index, + sched_gsmtap_send(lchan->type, br->fn, ts->index, trx->band_arfcn | ARFCN_UPLINK, 0, 0, PRIM_IS_RACH11(lchan->prim) ? (uint8_t *) &ext_req->ra11 : &req->ra, PRIM_IS_RACH11(lchan->prim) ? 2 : 1); diff --git a/src/host/trxcon/sched_lchan_tchf.c b/src/host/trxcon/sched_lchan_tchf.c index c5362f0..1e38e96 100644 --- a/src/host/trxcon/sched_lchan_tchf.c +++ b/src/host/trxcon/sched_lchan_tchf.c @@ -2,7 +2,8 @@ * OsmocomBB <-> SDR connection bridge * TDMA scheduler: handlers for DL / UL bursts on logical channels * - * (C) 2017-2020 by Vadim Yanitskiy + * (C) 2017-2021 by Vadim Yanitskiy + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -173,10 +174,10 @@ } int tx_tchf_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid) + struct trx_lchan_state *lchan, + struct sched_burst_req *br) { const struct trx_lchan_desc *lchan_desc; - ubit_t burst[GSM_BURST_LEN]; ubit_t *buffer, *offset; const uint8_t *tsc; uint8_t *mask; @@ -193,7 +194,7 @@ goto send_burst; /* Wait until a first burst in period */ - if (bid > 0) + if (br->bid > 0) return 0; /* Check the current TCH mode */ @@ -257,40 +258,29 @@ send_burst: /* Determine which burst should be sent */ - offset = buffer + bid * 116; + offset = buffer + br->bid * 116; /* Update mask */ - *mask |= (1 << bid); + *mask |= (1 << br->bid); /* Choose proper TSC */ tsc = sched_nb_training_bits[trx->tsc]; /* Compose a new burst */ - memset(burst, 0, 3); /* TB */ - memcpy(burst + 3, offset, 58); /* Payload 1/2 */ - memcpy(burst + 61, tsc, 26); /* TSC */ - memcpy(burst + 87, offset + 58, 58); /* Payload 2/2 */ - memset(burst + 145, 0, 3); /* TB */ + memset(br->burst, 0, 3); /* TB */ + memcpy(br->burst + 3, offset, 58); /* Payload 1/2 */ + memcpy(br->burst + 61, tsc, 26); /* TSC */ + memcpy(br->burst + 87, offset + 58, 58); /* Payload 2/2 */ + memset(br->burst + 145, 0, 3); /* TB */ + br->burst_len = GSM_BURST_LEN; - LOGP(DSCHD, LOGL_DEBUG, "Transmitting %s fn=%u ts=%u burst=%u\n", - lchan_desc->name, fn, ts->index, bid); - - /* Forward burst to scheduler */ - rc = sched_trx_handle_tx_burst(trx, ts, lchan, fn, burst); - if (rc) { - /* Forget this primitive */ - sched_prim_drop(lchan); - - /* Reset mask */ - *mask = 0x00; - - return rc; - } + LOGP(DSCHD, LOGL_DEBUG, "Scheduled %s fn=%u ts=%u burst=%u\n", + lchan_desc->name, br->fn, ts->index, br->bid); /* If we have sent the last (4/4) burst */ if (*mask == 0x0f) { /* Confirm data / traffic sending */ - sched_send_dt_conf(trx, ts, lchan, fn, PRIM_IS_TCH(lchan->prim)); + sched_send_dt_conf(trx, ts, lchan, br->fn, PRIM_IS_TCH(lchan->prim)); /* Forget processed primitive */ sched_prim_drop(lchan); diff --git a/src/host/trxcon/sched_lchan_tchh.c b/src/host/trxcon/sched_lchan_tchh.c index b6f0708..6a5c471 100644 --- a/src/host/trxcon/sched_lchan_tchh.c +++ b/src/host/trxcon/sched_lchan_tchh.c @@ -2,8 +2,9 @@ * OsmocomBB <-> SDR connection bridge * TDMA scheduler: handlers for DL / UL bursts on logical channels * - * (C) 2018-2020 by Vadim Yanitskiy + * (C) 2018-2021 by Vadim Yanitskiy * (C) 2018 by Harald Welte + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -361,10 +362,10 @@ } int tx_tchh_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid) + struct trx_lchan_state *lchan, + struct sched_burst_req *br) { const struct trx_lchan_desc *lchan_desc; - ubit_t burst[GSM_BURST_LEN]; ubit_t *buffer, *offset; const uint8_t *tsc; uint8_t *mask; @@ -376,7 +377,7 @@ mask = &lchan->tx_burst_mask; buffer = lchan->tx_bursts; - if (bid > 0) { + if (br->bid > 0) { /* Align to the first burst */ if (*mask == 0x00) return 0; @@ -386,7 +387,7 @@ if (*mask == 0x00) { /* Align transmission of the first FACCH/H frame */ if (lchan->tch_mode == GSM48_CMODE_SIGN) - if (!sched_tchh_facch_start(lchan->type, fn, 1)) + if (!sched_tchh_facch_start(lchan->type, br->fn, 1)) return 0; } @@ -459,26 +460,24 @@ send_burst: /* Determine which burst should be sent */ - offset = buffer + bid * 116; + offset = buffer + br->bid * 116; /* Update mask */ - *mask |= (1 << bid); + *mask |= (1 << br->bid); /* Choose proper TSC */ tsc = sched_nb_training_bits[trx->tsc]; /* Compose a new burst */ - memset(burst, 0, 3); /* TB */ - memcpy(burst + 3, offset, 58); /* Payload 1/2 */ - memcpy(burst + 61, tsc, 26); /* TSC */ - memcpy(burst + 87, offset + 58, 58); /* Payload 2/2 */ - memset(burst + 145, 0, 3); /* TB */ + memset(br->burst, 0, 3); /* TB */ + memcpy(br->burst + 3, offset, 58); /* Payload 1/2 */ + memcpy(br->burst + 61, tsc, 26); /* TSC */ + memcpy(br->burst + 87, offset + 58, 58); /* Payload 2/2 */ + memset(br->burst + 145, 0, 3); /* TB */ + br->burst_len = GSM_BURST_LEN; - LOGP(DSCHD, LOGL_DEBUG, "Transmitting %s fn=%u ts=%u burst=%u\n", - lchan_desc->name, fn, ts->index, bid); - - /* Forward burst to transceiver */ - sched_trx_handle_tx_burst(trx, ts, lchan, fn, burst); + LOGP(DSCHD, LOGL_DEBUG, "Scheduled %s fn=%u ts=%u burst=%u\n", + lchan_desc->name, br->fn, ts->index, br->bid); /* In case of a FACCH/H frame, one block less */ if (lchan->ul_facch_blocks) @@ -490,7 +489,7 @@ * confirm data / traffic sending */ if (!lchan->ul_facch_blocks) - sched_send_dt_conf(trx, ts, lchan, fn, + sched_send_dt_conf(trx, ts, lchan, br->fn, PRIM_IS_TCH(lchan->prim)); /* Forget processed primitive */ diff --git a/src/host/trxcon/sched_lchan_xcch.c b/src/host/trxcon/sched_lchan_xcch.c index a0b61ad..41677ec 100644 --- a/src/host/trxcon/sched_lchan_xcch.c +++ b/src/host/trxcon/sched_lchan_xcch.c @@ -2,7 +2,8 @@ * OsmocomBB <-> SDR connection bridge * TDMA scheduler: handlers for DL / UL bursts on logical channels * - * (C) 2017-2020 by Vadim Yanitskiy + * (C) 2017-2021 by Vadim Yanitskiy + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -119,10 +120,10 @@ } int tx_data_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid) + struct trx_lchan_state *lchan, + struct sched_burst_req *br) { const struct trx_lchan_desc *lchan_desc; - ubit_t burst[GSM_BURST_LEN]; ubit_t *buffer, *offset; const uint8_t *tsc; uint8_t *mask; @@ -133,7 +134,7 @@ mask = &lchan->tx_burst_mask; buffer = lchan->tx_bursts; - if (bid > 0) { + if (br->bid > 0) { /* If we have encoded bursts */ if (*mask) goto send_burst; @@ -165,40 +166,29 @@ send_burst: /* Determine which burst should be sent */ - offset = buffer + bid * 116; + offset = buffer + br->bid * 116; /* Update mask */ - *mask |= (1 << bid); + *mask |= (1 << br->bid); /* Choose proper TSC */ tsc = sched_nb_training_bits[trx->tsc]; /* Compose a new burst */ - memset(burst, 0, 3); /* TB */ - memcpy(burst + 3, offset, 58); /* Payload 1/2 */ - memcpy(burst + 61, tsc, 26); /* TSC */ - memcpy(burst + 87, offset + 58, 58); /* Payload 2/2 */ - memset(burst + 145, 0, 3); /* TB */ + memset(br->burst, 0, 3); /* TB */ + memcpy(br->burst + 3, offset, 58); /* Payload 1/2 */ + memcpy(br->burst + 61, tsc, 26); /* TSC */ + memcpy(br->burst + 87, offset + 58, 58); /* Payload 2/2 */ + memset(br->burst + 145, 0, 3); /* TB */ + br->burst_len = GSM_BURST_LEN; - LOGP(DSCHD, LOGL_DEBUG, "Transmitting %s fn=%u ts=%u burst=%u\n", - lchan_desc->name, fn, ts->index, bid); - - /* Forward burst to scheduler */ - rc = sched_trx_handle_tx_burst(trx, ts, lchan, fn, burst); - if (rc) { - /* Forget this primitive */ - sched_prim_drop(lchan); - - /* Reset mask */ - *mask = 0x00; - - return rc; - } + LOGP(DSCHD, LOGL_DEBUG, "Scheduled %s fn=%u ts=%u burst=%u\n", + lchan_desc->name, br->fn, ts->index, br->bid); /* If we have sent the last (4/4) burst */ if ((*mask & 0x0f) == 0x0f) { /* Confirm data sending */ - sched_send_dt_conf(trx, ts, lchan, fn, false); + sched_send_dt_conf(trx, ts, lchan, br->fn, false); /* Forget processed primitive */ sched_prim_drop(lchan); diff --git a/src/host/trxcon/sched_trx.c b/src/host/trxcon/sched_trx.c index 91310c0..adcf198 100644 --- a/src/host/trxcon/sched_trx.c +++ b/src/host/trxcon/sched_trx.c @@ -41,14 +41,18 @@ #include "trx_if.h" #include "logging.h" +static void sched_trx_a5_burst_enc(struct trx_lchan_state *lchan, + struct sched_burst_req *br); + static void sched_frame_clck_cb(struct trx_sched *sched) { struct trx_instance *trx = (struct trx_instance *) sched->data; + struct sched_burst_req br[TRX_TS_COUNT]; const struct trx_frame *frame; struct trx_lchan_state *lchan; trx_lchan_tx_func *handler; enum trx_lchan_type chan; - uint8_t offset, bid; + uint8_t offset; struct trx_ts *ts; int i; @@ -59,6 +63,14 @@ /* Iterate over timeslot list */ for (i = 0; i < TRX_TS_COUNT; i++) { + /* Initialize the buffer for this timeslot */ + br[i] = (struct sched_burst_req) { + .fn = fn, + .tn = i, + .pwr = trx->tx_power, + .burst_len = 0, /* NOPE.ind */ + }; + /* Timeslot is not allocated */ ts = trx->ts_list[i]; if (ts == NULL) @@ -73,7 +85,7 @@ frame = ts->mf_layout->frames + offset; /* Get required info from frame */ - bid = frame->ul_bid; + br[i].bid = frame->ul_bid; chan = frame->ul_chan; handler = trx_lchan_desc[chan].tx_fn; @@ -120,8 +132,16 @@ handler = trx_lchan_desc[TRXC_RACH].tx_fn; /* Poke lchan handler */ - handler(trx, ts, lchan, fn, bid); + handler(trx, ts, lchan, &br[i]); + + /* Perform A5/X burst encryption if required */ + if (lchan->a5.algo) + sched_trx_a5_burst_enc(lchan, &br[i]); } + + /* Send all bursts for this TDMA frame */ + for (i = 0; i < ARRAY_SIZE(br); i++) + trx_if_tx_burst(trx, &br[i]); } int sched_trx_init(struct trx_instance *trx, uint32_t fn_advance) @@ -602,18 +622,18 @@ } static void sched_trx_a5_burst_enc(struct trx_lchan_state *lchan, - uint32_t fn, ubit_t *burst) + struct sched_burst_req *br) { ubit_t ks[114]; int i; /* Generate keystream for an UL burst */ - osmo_a5(lchan->a5.algo, lchan->a5.key, fn, NULL, ks); + osmo_a5(lchan->a5.algo, lchan->a5.key, br->fn, NULL, ks); /* Apply keystream over plaintext */ for (i = 0; i < 57; i++) { - burst[i + 3] ^= ks[i]; - burst[i + 88] ^= ks[i + 57]; + br->burst[i + 3] ^= ks[i]; + br->burst[i + 88] ^= ks[i + 57]; } } @@ -764,26 +784,6 @@ return 0; } -int sched_trx_handle_tx_burst(struct trx_instance *trx, - struct trx_ts *ts, struct trx_lchan_state *lchan, - uint32_t fn, ubit_t *bits) -{ - int rc; - - /* Perform A5/X burst encryption if required */ - if (lchan->a5.algo) - sched_trx_a5_burst_enc(lchan, fn, bits); - - /* Forward burst to transceiver */ - rc = trx_if_tx_burst(trx, ts->index, fn, trx->tx_power, bits); - if (rc) { - LOGP(DSCHD, LOGL_ERROR, "Could not send burst to transceiver\n"); - return rc; - } - - return 0; -} - #define MEAS_HIST_FIRST(hist) \ (&hist->buf[0]) #define MEAS_HIST_LAST(hist) \ diff --git a/src/host/trxcon/sched_trx.h b/src/host/trxcon/sched_trx.h index fb7ecd4..74b41e3 100644 --- a/src/host/trxcon/sched_trx.h +++ b/src/host/trxcon/sched_trx.h @@ -97,14 +97,27 @@ _TRX_CHAN_MAX }; +/* Represents a burst to be transmitted */ +struct sched_burst_req { + uint32_t fn; + uint8_t tn; + uint8_t pwr; + + /* Internally used by the scheduler */ + uint8_t bid; + + ubit_t burst[EDGE_BURST_LEN]; + size_t burst_len; +}; + typedef int trx_lchan_rx_func(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, const sbit_t *bits, const struct trx_meas_set *meas); -typedef int trx_lchan_tx_func(struct trx_instance *trx, - struct trx_ts *ts, struct trx_lchan_state *lchan, - uint32_t fn, uint8_t bid); +typedef int trx_lchan_tx_func(struct trx_instance *trx, struct trx_ts *ts, + struct trx_lchan_state *lchan, + struct sched_burst_req *br); struct trx_lchan_desc { /*! \brief Human-readable name */ @@ -366,9 +379,6 @@ int sched_trx_handle_rx_burst(struct trx_instance *trx, uint8_t tn, uint32_t fn, sbit_t *bits, uint16_t nbits, const struct trx_meas_set *meas); -int sched_trx_handle_tx_burst(struct trx_instance *trx, - struct trx_ts *ts, struct trx_lchan_state *lchan, - uint32_t fn, ubit_t *bits); /* Shared declarations for lchan handlers */ extern const uint8_t sched_nb_training_bits[8][26]; diff --git a/src/host/trxcon/trx_if.c b/src/host/trxcon/trx_if.c index 716fd23..c4561ce 100644 --- a/src/host/trxcon/trx_if.c +++ b/src/host/trxcon/trx_if.c @@ -629,10 +629,14 @@ return 0; } -int trx_if_tx_burst(struct trx_instance *trx, uint8_t tn, uint32_t fn, - uint8_t pwr, const ubit_t *bits) +int trx_if_tx_burst(struct trx_instance *trx, + const struct sched_burst_req *br) { uint8_t buf[TRXD_BUF_SIZE]; + size_t length; + + if (br->burst_len == 0) + return 0; /** * We must be sure that we have clock, @@ -649,17 +653,20 @@ } #endif - LOGP(DTRXD, LOGL_DEBUG, "TX burst tn=%u fn=%u pwr=%u\n", tn, fn, pwr); + LOGP(DTRXD, LOGL_DEBUG, "TX burst tn=%u fn=%u pwr=%u\n", + br->tn, br->fn, br->pwr); - buf[0] = tn; - osmo_store32be(fn, buf + 1); - buf[5] = pwr; + buf[0] = br->tn; + osmo_store32be(br->fn, buf + 1); + buf[5] = br->pwr; + length = 6; /* Copy ubits {0,1} */ - memcpy(buf + 6, bits, 148); + memcpy(buf + 6, br->burst, br->burst_len); + length += br->burst_len; /* Send data to transceiver */ - send(trx->trx_ofd_data.fd, buf, 154, 0); + send(trx->trx_ofd_data.fd, buf, length, 0); return 0; } diff --git a/src/host/trxcon/trx_if.h b/src/host/trxcon/trx_if.h index 2fafa56..fa66d4a 100644 --- a/src/host/trxcon/trx_if.h +++ b/src/host/trxcon/trx_if.h @@ -79,5 +79,5 @@ int trx_if_cmd_measure(struct trx_instance *trx, uint16_t band_arfcn_start, uint16_t band_arfcn_stop); -int trx_if_tx_burst(struct trx_instance *trx, uint8_t tn, uint32_t fn, - uint8_t pwr, const ubit_t *bits); +int trx_if_tx_burst(struct trx_instance *trx, + const struct sched_burst_req *br); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Gerrit-Change-Number: 24661 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 Wed Jun 16 13:57:39 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 16 Jun 2021 13:57:39 +0000 Subject: Change in osmocom-bb[master]: trxcon/trx_if: send NOPE indications if there is no burst In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24662 ) Change subject: trxcon/trx_if: send NOPE indications if there is no burst ...................................................................... trxcon/trx_if: send NOPE indications if there is no burst In a typical setup operating on the real radio interface, it's the duty of the transceiver (e.g. osmo-trx) to send NOPE.ind to the L1 implementation (e.g. osmo-bts-trx). However, in a virtual environment for ttcn3-bts-test we use a fake transceiver, which due to its simplicity cannot send NOPE indications itself. The lack of queues and buffering does not allow us to implement NOPE indications in fake_trx.py, so the easiest approach is to generate them from trxcon. Send TRXD PDUs without the burst bits, and fake_trx.py will tranform them info NOPE.ind for us. Change-Id: I1c7f1315b8ef44f651efd6a22fb5b854f65c0946 Related: SYS#5313, OS#1569 --- M src/host/trxcon/trx_if.c 1 file changed, 4 insertions(+), 5 deletions(-) Approvals: fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve laforge: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/host/trxcon/trx_if.c b/src/host/trxcon/trx_if.c index c4561ce..8dbbd12 100644 --- a/src/host/trxcon/trx_if.c +++ b/src/host/trxcon/trx_if.c @@ -635,9 +635,6 @@ uint8_t buf[TRXD_BUF_SIZE]; size_t length; - if (br->burst_len == 0) - return 0; - /** * We must be sure that we have clock, * and we have sent all control data @@ -662,8 +659,10 @@ length = 6; /* Copy ubits {0,1} */ - memcpy(buf + 6, br->burst, br->burst_len); - length += br->burst_len; + if (br->burst_len != 0) { + memcpy(buf + 6, br->burst, br->burst_len); + length += br->burst_len; + } /* Send data to transceiver */ send(trx->trx_ofd_data.fd, buf, length, 0); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24662 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I1c7f1315b8ef44f651efd6a22fb5b854f65c0946 Gerrit-Change-Number: 24662 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 Wed Jun 16 13:58:57 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 16 Jun 2021 13:58:57 +0000 Subject: Change in osmo-sgsn[master]: add support for multiple encryption algorithms and a5/4 In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 to look at the new patch set (#5). Change subject: add support for multiple encryption algorithms and a5/4 ...................................................................... add support for multiple encryption algorithms and a5/4 Change-Id: Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Related: SYS#5324 --- M include/osmocom/sgsn/gprs_sgsn.h M include/osmocom/sgsn/sgsn.h M src/sgsn/gprs_gmm.c M src/sgsn/gprs_llc.c M src/sgsn/gprs_sgsn.c M src/sgsn/sgsn_vty.c M tests/sgsn/sgsn_test.c 7 files changed, 111 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/04/24304/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Gerrit-Change-Number: 24304 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 14:00:25 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 16 Jun 2021 14:00:25 +0000 Subject: Change in osmo-mgw[master]: [DO NOT MERGE] test commit to trigger linter 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/+/24697 to look at the new patch set (#2). Change subject: [DO NOT MERGE] test commit to trigger linter ...................................................................... [DO NOT MERGE] test commit to trigger linter Related: OS#5087 Change-Id: Id144b17283b9b73bc62e411c99ea10dc385e9435 --- M src/osmo-mgw/mgw_main.c 1 file changed, 13 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/97/24697/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24697 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id144b17283b9b73bc62e411c99ea10dc385e9435 Gerrit-Change-Number: 24697 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 14:09:56 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 16 Jun 2021 14:09:56 +0000 Subject: Change in osmo-sgsn[master]: add support for multiple encryption algorithms and a5/4 In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 to look at the new patch set (#6). Change subject: add support for multiple encryption algorithms and a5/4 ...................................................................... add support for multiple encryption algorithms and a5/4 Change-Id: Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Related: SYS#5324 --- M include/osmocom/sgsn/gprs_sgsn.h M include/osmocom/sgsn/sgsn.h M src/sgsn/gprs_gmm.c M src/sgsn/gprs_llc.c M src/sgsn/gprs_sgsn.c M src/sgsn/sgsn_vty.c M tests/osmo-sgsn_test-nodes.vty M tests/sgsn/sgsn_test.c 8 files changed, 112 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/04/24304/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Gerrit-Change-Number: 24304 Gerrit-PatchSet: 6 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 14:18:43 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 16 Jun 2021 14:18:43 +0000 Subject: Change in osmo-trx[master]: vty: printing fn offset should be signed In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/24696 ) Change subject: vty: printing fn offset should be signed ...................................................................... Patch Set 1: god damnit jenkins do your job -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24696 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I8297dbb0fec25720e73d59fd8e38834029154405 Gerrit-Change-Number: 24696 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 14:18:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 14:29:19 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 16 Jun 2021 14:29:19 +0000 Subject: Change in osmo-sgsn[master]: add support for multiple encryption algorithms and a5/4 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 ) Change subject: add support for multiple encryption algorithms and a5/4 ...................................................................... Patch Set 6: Code-Review-1 (4 comments) https://gerrit.osmocom.org/c/osmo-sgsn/+/24304/6/src/sgsn/gprs_gmm.c File src/sgsn/gprs_gmm.c: https://gerrit.osmocom.org/c/osmo-sgsn/+/24304/6/src/sgsn/gprs_gmm.c at 448 PS6, Line 448: { coding style https://gerrit.osmocom.org/c/osmo-sgsn/+/24304/6/src/sgsn/gprs_llc.c File src/sgsn/gprs_llc.c: https://gerrit.osmocom.org/c/osmo-sgsn/+/24304/6/src/sgsn/gprs_llc.c at 718 PS6, Line 718: unrelated ws https://gerrit.osmocom.org/c/osmo-sgsn/+/24304/6/src/sgsn/sgsn_vty.c File src/sgsn/sgsn_vty.c: https://gerrit.osmocom.org/c/osmo-sgsn/+/24304/6/src/sgsn/sgsn_vty.c at 771 PS6, Line 771: ){ coding style https://gerrit.osmocom.org/c/osmo-sgsn/+/24304/6/src/sgsn/sgsn_vty.c at 772 PS6, Line 772: ){ same here -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Gerrit-Change-Number: 24304 Gerrit-PatchSet: 6 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 14:29:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 14:29:50 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 16 Jun 2021 14:29:50 +0000 Subject: Change in osmo-trx[master]: vty: printing fn offset should be signed In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/24696 ) Change subject: vty: printing fn offset should be signed ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24696 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I8297dbb0fec25720e73d59fd8e38834029154405 Gerrit-Change-Number: 24696 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 14:29: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 Jun 16 14:43:29 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 16 Jun 2021 14:43:29 +0000 Subject: Change in osmo-sgsn[master]: add support for multiple encryption algorithms and a5/4 In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 to look at the new patch set (#7). Change subject: add support for multiple encryption algorithms and a5/4 ...................................................................... add support for multiple encryption algorithms and a5/4 Change-Id: Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Related: SYS#5324 --- M include/osmocom/sgsn/gprs_sgsn.h M include/osmocom/sgsn/sgsn.h M src/sgsn/gprs_gmm.c M src/sgsn/gprs_llc.c M src/sgsn/gprs_sgsn.c M src/sgsn/sgsn_vty.c M tests/osmo-sgsn_test-nodes.vty M tests/sgsn/sgsn_test.c 8 files changed, 118 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/04/24304/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Gerrit-Change-Number: 24304 Gerrit-PatchSet: 7 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 14:46:57 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 16 Jun 2021 14:46:57 +0000 Subject: Change in osmo-mgw[master]: [DO NOT MERGE] test commit to trigger linter 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/+/24697 to look at the new patch set (#3). Change subject: [DO NOT MERGE] test commit to trigger linter ...................................................................... [DO NOT MERGE] test commit to trigger linter . Related: OS#5087 Change-Id: Id144b17283b9b73bc62e411c99ea10dc385e9435 --- M src/osmo-mgw/mgw_main.c 1 file changed, 13 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/97/24697/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24697 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id144b17283b9b73bc62e411c99ea10dc385e9435 Gerrit-Change-Number: 24697 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 14:48:01 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 16 Jun 2021 14:48:01 +0000 Subject: Change in osmo-mgw[master]: [DO NOT MERGE] test commit to trigger linter 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/+/24697 to look at the new patch set (#4). Change subject: [DO NOT MERGE] test commit to trigger linter ...................................................................... [DO NOT MERGE] test commit to trigger linter Related: OS#5087 Change-Id: Id144b17283b9b73bc62e411c99ea10dc385e9435 --- M src/osmo-mgw/mgw_main.c 1 file changed, 15 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/97/24697/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24697 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id144b17283b9b73bc62e411c99ea10dc385e9435 Gerrit-Change-Number: 24697 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 14:54:43 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 16 Jun 2021 14:54:43 +0000 Subject: Change in osmo-mgw[master]: [DO NOT MERGE] test commit to trigger linter 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/+/24697 to look at the new patch set (#5). Change subject: [DO NOT MERGE] test commit to trigger linter ...................................................................... [DO NOT MERGE] test commit to trigger linter Related: OS#5087 Change-Id: Id144b17283b9b73bc62e411c99ea10dc385e9435 --- M src/osmo-mgw/mgw_main.c 1 file changed, 13 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/97/24697/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24697 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id144b17283b9b73bc62e411c99ea10dc385e9435 Gerrit-Change-Number: 24697 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 14:55:52 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 16 Jun 2021 14:55:52 +0000 Subject: Change in osmo-mgw[master]: [DO NOT MERGE] test commit to trigger linter 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/+/24697 to look at the new patch set (#6). Change subject: [DO NOT MERGE] test commit to trigger linter ...................................................................... [DO NOT MERGE] test commit to trigger linter Related: OS#5087 Change-Id: Id144b17283b9b73bc62e411c99ea10dc385e9435 --- M src/osmo-mgw/mgw_main.c 1 file changed, 15 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/97/24697/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24697 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id144b17283b9b73bc62e411c99ea10dc385e9435 Gerrit-Change-Number: 24697 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 14:59:12 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 16 Jun 2021 14:59:12 +0000 Subject: Change in osmo-mgw[master]: [DO NOT MERGE] test commit to trigger linter 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/+/24697 to look at the new patch set (#7). Change subject: [DO NOT MERGE] test commit to trigger linter ...................................................................... [DO NOT MERGE] test commit to trigger linter Related: OS#5087 Change-Id: Id144b17283b9b73bc62e411c99ea10dc385e9435 --- M src/osmo-mgw/mgw_main.c 1 file changed, 15 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/97/24697/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24697 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id144b17283b9b73bc62e411c99ea10dc385e9435 Gerrit-Change-Number: 24697 Gerrit-PatchSet: 7 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 15:10:23 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 16 Jun 2021 15:10:23 +0000 Subject: Change in osmo-mgw[master]: [DO NOT MERGE] test commit to trigger linter In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24697 ) Change subject: [DO NOT MERGE] test commit to trigger linter ...................................................................... Abandoned let's not merge this -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24697 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id144b17283b9b73bc62e411c99ea10dc385e9435 Gerrit-Change-Number: 24697 Gerrit-PatchSet: 7 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 15:43:02 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 16 Jun 2021 15:43:02 +0000 Subject: Change in osmo-ci[master]: osmo-ci-docker-rebuild: don't build ogt for arm References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24698 ) Change subject: osmo-ci-docker-rebuild: don't build ogt for arm ...................................................................... osmo-ci-docker-rebuild: don't build ogt for arm Don't attempt to build the osmo-gsm-tester docker container on arm. It's currently causing the update-osmo-ci-on-slaves job to fail on rpi4-raspbian10build-ansible-*. Related: https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/label=rpi4-raspbian10build-ansible-1/876/console Change-Id: Ic30de69d318927d5c142f8212eefa3a53037ef25 --- M scripts/osmo-ci-docker-rebuild.sh 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/98/24698/1 diff --git a/scripts/osmo-ci-docker-rebuild.sh b/scripts/osmo-ci-docker-rebuild.sh index 87c943f..73b3508 100755 --- a/scripts/osmo-ci-docker-rebuild.sh +++ b/scripts/osmo-ci-docker-rebuild.sh @@ -6,4 +6,8 @@ "debian-stretch-jenkins" \ "debian-buster-jenkins" \ "debian-buster-erlang" \ - "osmo-gsm-tester" + +if [ "$(arch)" = "x86_64" ]; then + docker_images_require \ + "osmo-gsm-tester" +fi -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24698 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic30de69d318927d5c142f8212eefa3a53037ef25 Gerrit-Change-Number: 24698 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 Jun 16 15:43:03 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 16 Jun 2021 15:43:03 +0000 Subject: Change in osmo-ci[master]: lint/checkpatch: import from Linux kernel References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24699 ) Change subject: lint/checkpatch: import from Linux kernel ...................................................................... lint/checkpatch: import from Linux kernel Prepare to run checkpatch on patches submitted to gerrit to point out various linting errors automatically, such as { after functions not placed on a new line, or common spelling errors. Import version from 7e6cdd7f ("checkpatch: improve ALLOC_ARRAY_ARGS test") of linux.git. Related: OS#5087 Related: https://osmocom.org/projects/cellular-infrastructure/wiki/Linting Change-Id: I58571a0409e79d88d37e8328f41a540a58cfb198 --- A lint/checkpatch/checkpatch.pl A lint/checkpatch/const_structs.checkpatch A lint/checkpatch/spelling.txt 3 files changed, 9,105 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/99/24699/1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24699 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I58571a0409e79d88d37e8328f41a540a58cfb198 Gerrit-Change-Number: 24699 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 Jun 16 15:43:03 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 16 Jun 2021 15:43:03 +0000 Subject: Change in osmo-ci[master]: lint/checkpatch: add --exclude argument References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24700 ) Change subject: lint/checkpatch: add --exclude argument ...................................................................... lint/checkpatch: add --exclude argument Apply patch from https://review.coreboot.org/c/coreboot/+/18568/, so we can exclude specific directories. Related: OS#5087 Change-Id: Ia980814895249f839873c5002f0d21c0e59ee01d --- M lint/checkpatch/checkpatch.pl 1 file changed, 13 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/00/24700/1 diff --git a/lint/checkpatch/checkpatch.pl b/lint/checkpatch/checkpatch.pl index 23697a6..2cd5402 100755 --- a/lint/checkpatch/checkpatch.pl +++ b/lint/checkpatch/checkpatch.pl @@ -54,6 +54,7 @@ my @use = (); my %ignore_type = (); my @ignore = (); +my @exclude = (); my $help = 0; my $configuration_file = ".checkpatch.conf"; my $max_line_length = 100; @@ -104,6 +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 --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 @@ -301,6 +303,7 @@ 'subjective!' => \$check, 'strict!' => \$check, 'ignore=s' => \@ignore, + 'exclude=s' => \@exclude, 'types=s' => \@use, 'show-types!' => \$show_types, 'list-types!' => \$list_types, @@ -2806,6 +2809,16 @@ $found_file = 1; } + my $skipme = 0; + foreach (@exclude) { + if ($realfile =~ m@^(?:$_/)@) { + $skipme = 1; + } + } + if ($skipme) { + next; + } + #make up the handle for any error we report on this line if ($showfile) { $prefix = "$realfile:$realline: " -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24700 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ia980814895249f839873c5002f0d21c0e59ee01d Gerrit-Change-Number: 24700 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 Jun 16 15:43:03 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 16 Jun 2021 15:43:03 +0000 Subject: Change in osmo-ci[master]: lint/checkpatch: add Osmocom specific wrapper References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24701 ) Change subject: lint/checkpatch: add Osmocom specific wrapper ...................................................................... lint/checkpatch: add Osmocom specific wrapper Related: OS#5087 Change-Id: I0ec6a3bc57a4d31c821fa83370f05c6d4ac2a5b0 --- A lint/checkpatch/checkpatch_osmo.sh 1 file changed, 46 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/01/24701/1 diff --git a/lint/checkpatch/checkpatch_osmo.sh b/lint/checkpatch/checkpatch_osmo.sh new file mode 100755 index 0000000..0a5c65f --- /dev/null +++ b/lint/checkpatch/checkpatch_osmo.sh @@ -0,0 +1,46 @@ +#!/bin/sh -e +SCRIPT_DIR="$(dirname "$(realpath "$0")")" + +# Excluded paths: +# * 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))') +# * AVOID_EXTERNS: we do use externs +# * BLOCK_COMMENT_STYLE: we don't use a trailing */ on a separate line +# * 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/ +# * FILE_PATH_CHANGES: we don't use a MAINTAINERS file +# * FUNCTION_WITHOUT_ARGS: not followed: warns about func() instead of func(void) +# * 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_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 +# * SPLIT_STRING: we do split long messages over multiple lines +# * STRING_FRAGMENTS: sometimes used intentionally to improve readability + +$SCRIPT_DIR/checkpatch.pl \ + --exclude lint/checkpatch \ + --ignore ASSIGN_IN_IF \ + --ignore AVOID_EXTERNS \ + --ignore BLOCK_COMMENT_STYLE \ + --ignore CONSTANT_COMPARISON \ + --ignore EMBEDDED_FUNCTION_NAME \ + --ignore EXECUTE_PERMISSIONS \ + --ignore FILE_PATH_CHANGES \ + --ignore FUNCTION_WITHOUT_ARGS \ + --ignore GLOBAL_INITIALISERS \ + --ignore IF_0 \ + --ignore INITIALISED_STATIC \ + --ignore LINE_SPACING \ + --ignore REPEATED_WORD \ + --ignore SPDX_LICENSE_TAG \ + --ignore SPLIT_STRING \ + --ignore STRING_FRAGMENTS \ + --max-line-length 120 \ + --no-signoff \ + --no-tree \ + "$@" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24701 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0ec6a3bc57a4d31c821fa83370f05c6d4ac2a5b0 Gerrit-Change-Number: 24701 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 Jun 16 15:43:03 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 16 Jun 2021 15:43:03 +0000 Subject: Change in osmo-ci[master]: lint: add helper scripts References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24702 ) Change subject: lint: add helper scripts ...................................................................... lint: add helper scripts Add lint_diff.sh, which runs checkpatch on git diff to either HEAD~1 (if the tree is clean) or HEAD. This can be used as pre-commit hook, and it's what jenkins will run. Add lint_all.sh, which runs checkpatch on a whole repository to test if the rules we are checking for make sense in Osmocom context. Related: OS#5087 Change-Id: I1d02c169b05fb05b87209a444a5ddb86efc99d04 --- A lint/lint_all.sh A lint/lint_diff.sh 2 files changed, 81 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/02/24702/1 diff --git a/lint/lint_all.sh b/lint/lint_all.sh new file mode 100755 index 0000000..1c25578 --- /dev/null +++ b/lint/lint_all.sh @@ -0,0 +1,43 @@ +#!/bin/sh -e +# Script to test if linting is sane by running it on a whole repository +GIT_DIR="$(git rev-parse --show-toplevel 2>/dev/null || true)" +SCRIPT_DIR="$(dirname "$(realpath "$0")")" +OUT=/tmp/lint_all_out +TYPES="$1" + +echo "Running find in $GIT_DIR" +files=$(find \ + "$GIT_DIR" \ + -name '*.c' \ + -o -name '*.h' \ + -o -name '*.cpp' \ + -o -name '*.hpp') + +if [ -n "$TYPES" ]; then + echo "Running checkpath with --types="$TYPES" in $GIT_DIR" + + "$SCRIPT_DIR"/checkpatch/checkpatch.pl \ + -f \ + --color=always \ + --no-summary \ + --no-tree \ + --show-types \ + --terse \ + --types="$TYPES" \ + $files \ + | tee "$OUT" + +else + echo "Running checkpath in $GIT_DIR" + + "$SCRIPT_DIR"/checkpatch/checkpatch_osmo.sh \ + -f \ + --color=always \ + --no-summary \ + --show-types \ + --terse \ + $files \ + | tee "$OUT" +fi + +wc -l "$OUT" diff --git a/lint/lint_diff.sh b/lint/lint_diff.sh new file mode 100755 index 0000000..f8daab7 --- /dev/null +++ b/lint/lint_diff.sh @@ -0,0 +1,38 @@ +#!/bin/sh -e +# Jenkins runs this script on submitted gerrit patches. Can be used as git pre-commit hook. +COMMIT="$1" +GIT_DIR="$(git rev-parse --show-toplevel 2>/dev/null || true)" +SCRIPT_DIR="$(dirname "$(realpath "$0")")" + +if [ -z "$GIT_DIR" ]; then + echo "ERROR: path is not a git repository: $PWD" + exit 1 +fi + +if [ -z "$COMMIT" ]; then + # Clean worktree: diff last commit against the one before + COMMIT="HEAD~1" + + if [ -n "$(git status --porcelain)" ]; then + # Dirty worktree: diff uncommitted changes against last commit + COMMIT="HEAD" + fi +fi + +echo "Running checkpatch on 'git diff $COMMIT'..." +echo +if git diff -U0 "$COMMIT" | "$SCRIPT_DIR/checkpatch/checkpatch_osmo.sh" - \ + --color=always \ + --mailback \ + --show-types \ + --showfile \ + --terse +then + exit 0 +fi + +echo +echo "Please fix the linting errors above. More information:" +echo "https://osmocom.org/projects/cellular-infrastructure/wiki/Linting" +echo +exit 1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24702 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1d02c169b05fb05b87209a444a5ddb86efc99d04 Gerrit-Change-Number: 24702 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 Jun 16 15:43:04 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 16 Jun 2021 15:43:04 +0000 Subject: Change in osmo-ci[master]: jobs/gerrit-lint.yml: add lint jobs References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24703 ) Change subject: jobs/gerrit-lint.yml: add lint jobs ...................................................................... jobs/gerrit-lint.yml: add lint jobs Related: OS#5087 Change-Id: Ic473a5c535dfbdda55751e53fc751ede1adde7e2 --- A jobs/gerrit-lint.yml M jobs/gerrit-verifications.yml 2 files changed, 148 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/03/24703/1 diff --git a/jobs/gerrit-lint.yml b/jobs/gerrit-lint.yml new file mode 100644 index 0000000..130b616 --- /dev/null +++ b/jobs/gerrit-lint.yml @@ -0,0 +1,147 @@ +# This file holds all gerrit lint verifications https://jenkins.osmocom.org/jenkins/view/Jenkins-Gerrit/. +# One cane simply add a gerrit job by adding project's repository to repos list. + +- project: + name: gerrit-lint + # following default values can be overridden by each repo + disabled: false + cmd: '~/osmo-ci/lint/lint_diff.sh HEAD~1' + gerrit_url: 'ssh://jenkins at gerrit.osmocom.org:29418' + repos_url: '{gerrit_url}/{repos}' + gerrit_project: '{repos}' + + # in alphabetical order + repos: + - asn1c + - cellmgr-ng + - libasn1c + - libgtpnl + - libosmo-abis + - libosmo-netif + - libosmo-sccp + - libosmocore + - libsmpp34 + - libtelnet + - libusrp + - openbsc + - openggsn + - osmo-bsc + - osmo-bts + + - osmo-ci: + # Run the lint script from the checked out branch + cmd: 'lint/lint_diff.sh HEAD~1' + + - osmo_dia2gsup: + repos_url: '{gerrit_url}/erlang/{repos}' + gerrit_project: 'erlang/{repos}' + + - osmo-e1-hardware + - osmo-ggsn + - osmo-gsm-manuals + + - osmo_gsup: + repos_url: '{gerrit_url}/erlang/{repos}' + gerrit_project: 'erlang/{repos}' + + - osmo-hlr + - osmo-iuh + - osmo-mgw + - osmo-msc + - osmo-pcap + - osmo-pcu + + - osmo-python-tests: + repos_url: '{gerrit_url}/python/{repos}' + gerrit_project: 'python/{repos}' + + - osmo-sgsn + + - osmo_ss7: + repos_url: '{gerrit_url}/erlang/{repos}' + gerrit_project: 'erlang/{repos}' + + - osmo-sip-connector + - osmo-trx + - osmocom-bb + - osmo-tetra + - osmo-sysmon + - osmo-remsim + - simtrace2 + - osmo-asf4-dfu + - osmo-ccid-firmware + - osmo-e1d + - osmo-cbc + - osmo-e1-recorder + - gapk + - osmo-uecups + - osmo-el2tpd + - osmo-smlc + - osmo-gbproxy + - pysim + + - osmo-ttcn3-hacks: + repos_url: 'https://gerrit.osmocom.org/{repos}' + + jobs: + - 'gerrit-{repos}-lint' + +- job-template: + name: 'gerrit-{repos}-lint' + project-type: freestyle + node: osmocom-gerrit-debian9 + disabled: '{obj:disabled}' + retry-count: 3 # scm checkout + properties: + - build-discarder: + days-to-keep: 30 + num-to-keep: 120 + artifact-days-to-keep: -1 + artifact-num-to-keep: -1 + description: | + Run linting on patches submitted to gerrit for + {repos} +

+ Related issue: OS#5087 + + scm: + - git: + url: '{obj:repos_url}' + credentials-id: d5eda5e9-b59d-44ba-88d2-43473cb6e42d + branches: + - $GERRIT_BRANCH + refspec: $GERRIT_REFSPEC + name: + choosing-strategy: gerrit + wipe-workspace: false + skip-tag: true + submodule: + recursive: false + + triggers: + - gerrit: + trigger-on: + - patchset-created-event: + exclude-drafts: true + exclude-no-code-change: true + projects: + - project-compare-type: 'PLAIN' + project-pattern: '{obj:gerrit_project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**' + skip-vote: + successful: false + failed: false + unstable: false + notbuilt: false + silent: false + escape-quotes: false + no-name-and-email: false + trigger-for-unreviewed-patches: true + server-name: gerrit.osmocom.org + + builders: + - shell: '{obj:cmd}' + +# vim: expandtab tabstop=2 shiftwidth=2 diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml index 8efce77..59e332c 100644 --- a/jobs/gerrit-verifications.yml +++ b/jobs/gerrit-verifications.yml @@ -1,4 +1,4 @@ -# This file holds all gerrit verifications https://jenkins.osmocom.org/jenkins/view/Jenkins-Gerrit/. +# This file holds all gerrit build verifications https://jenkins.osmocom.org/jenkins/view/Jenkins-Gerrit/. # One cane simply add a gerrit job by adding project's repository to repos list. - project: -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24703 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic473a5c535dfbdda55751e53fc751ede1adde7e2 Gerrit-Change-Number: 24703 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 Jun 16 15:52:13 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 16 Jun 2021 15:52:13 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7_vty: allow config-cs7-rt also in client role In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24644 ) Change subject: osmo_ss7_vty: allow config-cs7-rt also in client role ...................................................................... Abandoned I have found a way to add the routes automatically -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24644 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I72950cb58edb201f21c35dd7e032ce0fdc1530f7 Gerrit-Change-Number: 24644 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 15:59:00 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 16 Jun 2021 15:59:00 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7_vty: automatically create routes for routing key References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24704 ) Change subject: osmo_ss7_vty: automatically create routes for routing key ...................................................................... osmo_ss7_vty: automatically create routes for routing key Operators may set up a routing key in each AS node. However, this does not mean that there is also a route added to the routing table. If the default route is not sufficient (e.g. if multiple AS are defined), then operators are epected to put matching routes into the routing table. However, when libosmo-sigtran runs in ASP role, the VTY commands that allow to routing table changes are not present. In an ASP role we are in an endpoint situation, so no complex routing is required, in most cases (single AS) even the default route is enough but to ensure that each AS will get a route, add routing tables automatically when running in ASP role. Change-Id: Ic60b36983232308250e591dbad576aaafdd6b586 Related: SYS#5392 --- M src/osmo_ss7_vty.c 1 file changed, 22 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/04/24704/1 diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 63625a8..bd15070 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -1050,6 +1050,7 @@ { struct osmo_ss7_as *as = vty->index; struct osmo_ss7_routing_key *rkey = &as->cfg.routing_key; + struct osmo_ss7_route *rt; int pc; if (as->cfg.proto == OSMO_SS7_ASP_PROT_IPA && atoi(rcontext) != 0) { @@ -1063,12 +1064,33 @@ vty_out(vty, "Invalid point code (%s)%s", dpc, VTY_NEWLINE); return CMD_WARNING; } + + /* When libosmo-sigtran is used in ASP role, the VTY routing table node + * (config-cs7-rt) is not available. However, when we add a routing key + * to an AS we still have to put a matching route into the routing + * table. This is done automatically by first removing the old route + * (users may change the routing key via VTY during runtime) and then + * putting a new route (see below). */ + if (cs7_role == CS7_ROLE_ASP) { + rt = osmo_ss7_route_find_dpc_mask(as->inst->rtable_system, rkey->pc, 0xffffff); + if (rt) + osmo_ss7_route_destroy(rt); + } + rkey->pc = pc; rkey->context = atoi(rcontext); /* FIXME: input validation */ rkey->si = si ? get_string_value(mtp_si_vals, si) : 0; /* FIXME: input validation */ rkey->ssn = ssn ? atoi(ssn) : 0; /* FIXME: input validation */ + /* automatically add new route (see also comment above) */ + if (cs7_role == CS7_ROLE_ASP) { + if (!osmo_ss7_route_create(as->inst->rtable_system, rkey->pc, 0xffffff, as->cfg.name)) { + vty_out(vty, "Cannot crate route (pc=%s, linkset=%s) to linkset %s", dpc, as->cfg.name, VTY_NEWLINE); + return CMD_WARNING; + } + } + return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24704 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic60b36983232308250e591dbad576aaafdd6b586 Gerrit-Change-Number: 24704 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 Jun 16 15:59:01 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 16 Jun 2021 15:59:01 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7_vty: allow users to inspect routes also in ASP role References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24705 ) Change subject: osmo_ss7_vty: allow users to inspect routes also in ASP role ...................................................................... osmo_ss7_vty: allow users to inspect routes also in ASP role When libosmo-sigtran runs in ASP role, then the entire routing table introspection (show) and routing table configuration VTY commands are not present. Editing the routing table manually only makes sense in SG role, but it is still useful to be able to inspect the routing table in ASP and SG mode. Change-Id: Ieaef4f0344b5b77ff5047013e9da1e938004e97c Related: SYS#5392 --- M src/osmo_ss7_vty.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/05/24705/1 diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index bd15070..3b39a61 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -2159,6 +2159,8 @@ install_lib_element(L_CS7_AS_NODE, &as_pc_override_cmd); install_lib_element(L_CS7_AS_NODE, &as_pc_patch_sccp_cmd); + install_lib_element_ve(&show_cs7_route_cmd); + vty_init_addr(); } @@ -2174,7 +2176,6 @@ vty_init_shared(ctx); install_node(&rtable_node, NULL); - install_lib_element_ve(&show_cs7_route_cmd); install_lib_element(L_CS7_NODE, &cs7_route_table_cmd); install_lib_element(L_CS7_RTABLE_NODE, &cfg_description_cmd); install_lib_element(L_CS7_RTABLE_NODE, &cs7_rt_upd_cmd); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ieaef4f0344b5b77ff5047013e9da1e938004e97c Gerrit-Change-Number: 24705 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 Jun 16 17:31:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Jun 2021 17:31:21 +0000 Subject: Change in osmo-ci[master]: osmo-ci-docker-rebuild: don't build ogt for arm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24698 ) Change subject: osmo-ci-docker-rebuild: don't build ogt for arm ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24698 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic30de69d318927d5c142f8212eefa3a53037ef25 Gerrit-Change-Number: 24698 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 17:31:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 17:35:23 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 16 Jun 2021 17:35:23 +0000 Subject: Change in osmo-gbproxy[master]: manual: Add section describing show gbproxy command usage In-Reply-To: References: Message-ID: Hello Jenkins Builder, lynxis lazus, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24694 to look at the new patch set (#2). Change subject: manual: Add section describing show gbproxy command usage ...................................................................... manual: Add section describing show gbproxy command usage Change-Id: Iad2775d125b842f47b0a7b8324fbe417bece04de --- M doc/manuals/chapters/gbproxy-configuration.adoc 1 file changed, 45 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/94/24694/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24694 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Iad2775d125b842f47b0a7b8324fbe417bece04de Gerrit-Change-Number: 24694 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder 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 Wed Jun 16 17:35:33 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 16 Jun 2021 17:35:33 +0000 Subject: Change in osmo-gbproxy[master]: manual: Add section describing show gbproxy command usage In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24694 ) Change subject: manual: Add section describing show gbproxy command usage ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-gbproxy/+/24694/1/doc/manuals/chapters/gbproxy-configuration.adoc File doc/manuals/chapters/gbproxy-configuration.adoc: https://gerrit.osmocom.org/c/osmo-gbproxy/+/24694/1/doc/manuals/chapters/gbproxy-configuration.adoc at 67 PS1, Line 67: <1> show the BVCs towards the SGSN-side > start all these lines with caps? You're right, I like caps better. I changed it to all lower case because I saw we were using lower case somewhere else in the manual (Gb documentation), but it seems I missed the examples in here. -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24694 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Iad2775d125b842f47b0a7b8324fbe417bece04de Gerrit-Change-Number: 24694 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 17:35:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 17:51:27 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 16 Jun 2021 17:51:27 +0000 Subject: Change in osmo-bts[master]: oml: fix handling of NM_ATT_INTERF_BOUND attribute References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24706 ) Change subject: oml: fix handling of NM_ATT_INTERF_BOUND attribute ...................................................................... oml: fix handling of NM_ATT_INTERF_BOUND attribute Looks like this part of the code has never been tested. The old code would dereference the same value in the loop and assign it to all members in array 'bts->interference.boundary'. Let's simply memcpy() the contents of NM_ATT_INTERF_BOUND as is, i.e. 6 unsigned values encoded as -x dBm. Change-Id: I7f83d8e6eb6cc19e3e9529ba06617a902de23e35 Related: SYS#5313, OS#1569 --- M include/osmo-bts/bts.h M src/common/oml.c 2 files changed, 5 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/06/24706/1 diff --git a/include/osmo-bts/bts.h b/include/osmo-bts/bts.h index 978a548..0e04788 100644 --- a/include/osmo-bts/bts.h +++ b/include/osmo-bts/bts.h @@ -234,7 +234,7 @@ struct { /* Interference Boundaries for OML */ - int16_t boundary[6]; + uint8_t boundary[6]; uint8_t intave; } interference; unsigned int t200_ms[7]; diff --git a/src/common/oml.c b/src/common/oml.c index 8b84f85..b99f3d4 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -584,11 +584,10 @@ /* 9.4.25 Interference Level Boundaries */ if (TLVP_PRES_LEN(&tp, NM_ATT_INTERF_BOUND, 6)) { - payload = TLVP_VAL(&tp, NM_ATT_INTERF_BOUND); - for (i = 0; i < 6; i++) { - int16_t boundary = *payload; - bts->interference.boundary[i] = -1 * boundary; - } + /* Copy the values as is, in -x dBm */ + memcpy(&bts->interference.boundary[0], + TLVP_VAL(&tp, NM_ATT_INTERF_BOUND), + sizeof(bts->interference.boundary)); } /* 9.4.24 Intave Parameter */ if (TLVP_PRES_LEN(&tp, NM_ATT_INTAVE_PARAM, 1)) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24706 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7f83d8e6eb6cc19e3e9529ba06617a902de23e35 Gerrit-Change-Number: 24706 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 18:31:53 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 16 Jun 2021 18:31:53 +0000 Subject: Change in osmo-bts[master]: Report interference levels in RSL RF RESource INDication In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24612 ) Change subject: Report interference levels in RSL RF RESource INDication ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24612 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id80fdbef087de625149755165c025c0a9563dc85 Gerrit-Change-Number: 24612 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 18:31:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 18:57:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Jun 2021 18:57:30 +0000 Subject: Change in osmo-bts[master]: oml: fix handling of NM_ATT_INTERF_BOUND attribute In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24706 ) Change subject: oml: fix handling of NM_ATT_INTERF_BOUND attribute ...................................................................... Patch Set 1: So there's no code using that array? Becuase with this patch you are changing the sign of the values stored. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24706 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7f83d8e6eb6cc19e3e9529ba06617a902de23e35 Gerrit-Change-Number: 24706 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 18:57:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 19:04:32 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 16 Jun 2021 19:04:32 +0000 Subject: Change in osmo-bts[master]: oml: fix handling of NM_ATT_INTERF_BOUND attribute In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24706 ) Change subject: oml: fix handling of NM_ATT_INTERF_BOUND attribute ...................................................................... Patch Set 1: > Patch Set 1: > > So there's no code using that array? Becuase with this patch you are changing the sign of the values stored. Yes, the actual logic is introduced in the follow up changes. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24706 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7f83d8e6eb6cc19e3e9529ba06617a902de23e35 Gerrit-Change-Number: 24706 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 19:04:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 20:03:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:03:40 +0000 Subject: Change in osmo-bts[master]: oml: fix handling of NM_ATT_INTERF_BOUND attribute In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24706 ) Change subject: oml: fix handling of NM_ATT_INTERF_BOUND attribute ...................................................................... Patch Set 1: I'm surprised you're not simply fixing the existing code, I would imagine working with the 'natural' representation (including the minus sign) is more straight-forward. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24706 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7f83d8e6eb6cc19e3e9529ba06617a902de23e35 Gerrit-Change-Number: 24706 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 20:03: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 Jun 16 20:12:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:12:45 +0000 Subject: Change in osmo-ci[master]: osmo-ci-docker-rebuild: don't build ogt for arm In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24698 ) Change subject: osmo-ci-docker-rebuild: don't build ogt for arm ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24698 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic30de69d318927d5c142f8212eefa3a53037ef25 Gerrit-Change-Number: 24698 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 20:12: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 Jun 16 20:12:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:12:48 +0000 Subject: Change in osmo-ci[master]: osmo-ci-docker-rebuild: don't build ogt for arm In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24698 ) Change subject: osmo-ci-docker-rebuild: don't build ogt for arm ...................................................................... osmo-ci-docker-rebuild: don't build ogt for arm Don't attempt to build the osmo-gsm-tester docker container on arm. It's currently causing the update-osmo-ci-on-slaves job to fail on rpi4-raspbian10build-ansible-*. Related: https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/label=rpi4-raspbian10build-ansible-1/876/console Change-Id: Ic30de69d318927d5c142f8212eefa3a53037ef25 --- M scripts/osmo-ci-docker-rebuild.sh 1 file changed, 5 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved laforge: Verified diff --git a/scripts/osmo-ci-docker-rebuild.sh b/scripts/osmo-ci-docker-rebuild.sh index 87c943f..73b3508 100755 --- a/scripts/osmo-ci-docker-rebuild.sh +++ b/scripts/osmo-ci-docker-rebuild.sh @@ -6,4 +6,8 @@ "debian-stretch-jenkins" \ "debian-buster-jenkins" \ "debian-buster-erlang" \ - "osmo-gsm-tester" + +if [ "$(arch)" = "x86_64" ]; then + docker_images_require \ + "osmo-gsm-tester" +fi -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24698 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic30de69d318927d5c142f8212eefa3a53037ef25 Gerrit-Change-Number: 24698 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 Wed Jun 16 20:14:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:14:04 +0000 Subject: Change in osmo-ci[master]: lint/checkpatch: import from Linux kernel In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24699 ) Change subject: lint/checkpatch: import from Linux kernel ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24699 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I58571a0409e79d88d37e8328f41a540a58cfb198 Gerrit-Change-Number: 24699 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 16 Jun 2021 20:14:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 20:15:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:15:18 +0000 Subject: Change in osmo-ci[master]: lint/checkpatch: add --exclude argument In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24700 ) Change subject: lint/checkpatch: add --exclude argument ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24700 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ia980814895249f839873c5002f0d21c0e59ee01d Gerrit-Change-Number: 24700 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 16 Jun 2021 20:15: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 Jun 16 20:15:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:15:31 +0000 Subject: Change in osmo-ci[master]: lint/checkpatch: add Osmocom specific wrapper In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24701 ) Change subject: lint/checkpatch: add Osmocom specific wrapper ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24701 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0ec6a3bc57a4d31c821fa83370f05c6d4ac2a5b0 Gerrit-Change-Number: 24701 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 16 Jun 2021 20:15: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 Jun 16 20:15:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:15:52 +0000 Subject: Change in osmo-ci[master]: lint: add helper scripts In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24702 ) Change subject: lint: add helper scripts ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24702 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1d02c169b05fb05b87209a444a5ddb86efc99d04 Gerrit-Change-Number: 24702 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 16 Jun 2021 20:15:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 20:18:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:18:12 +0000 Subject: Change in osmo-ci[master]: jobs/gerrit-lint.yml: add lint jobs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24703 ) Change subject: jobs/gerrit-lint.yml: add lint jobs ...................................................................... Patch Set 1: would possibly be interesting to see this with one project deployed first before going all-in on all of our projects. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24703 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic473a5c535dfbdda55751e53fc751ede1adde7e2 Gerrit-Change-Number: 24703 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 16 Jun 2021 20:18:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 20:19:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:19:26 +0000 Subject: Change in osmo-trx[master]: vty: printing fn offset should be signed In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/24696 ) Change subject: vty: printing fn offset should be signed ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24696 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I8297dbb0fec25720e73d59fd8e38834029154405 Gerrit-Change-Number: 24696 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 20:19:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 20:19:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:19:50 +0000 Subject: Change in osmo-gbproxy[master]: manual: Add section describing show gbproxy command usage In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24694 ) Change subject: manual: Add section describing show gbproxy command usage ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24694 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Iad2775d125b842f47b0a7b8324fbe417bece04de Gerrit-Change-Number: 24694 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 20:19:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 20:20:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:20:53 +0000 Subject: Change in osmo-bts[master]: Report interference levels in RSL RF RESource INDication In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24612 ) Change subject: Report interference levels in RSL RF RESource INDication ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24612 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id80fdbef087de625149755165c025c0a9563dc85 Gerrit-Change-Number: 24612 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 20: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 Wed Jun 16 20:22:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:22:57 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7_vty: automatically create routes for routing key In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24704 ) Change subject: osmo_ss7_vty: automatically create routes for routing key ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24704 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic60b36983232308250e591dbad576aaafdd6b586 Gerrit-Change-Number: 24704 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 16 Jun 2021 20:22:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 20:23:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:23:12 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7_vty: allow users to inspect routes also in ASP role In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24705 ) Change subject: osmo_ss7_vty: allow users to inspect routes also in ASP role ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ieaef4f0344b5b77ff5047013e9da1e938004e97c Gerrit-Change-Number: 24705 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 16 Jun 2021 20:23:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 20:23:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:23:17 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7_vty: automatically create routes for routing key In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24704 ) Change subject: osmo_ss7_vty: automatically create routes for routing key ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24704 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic60b36983232308250e591dbad576aaafdd6b586 Gerrit-Change-Number: 24704 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 16 Jun 2021 20:23: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 Jun 16 20:23:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:23:45 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7_vty: automatically create routes for routing key In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24704 ) Change subject: osmo_ss7_vty: automatically create routes for routing key ...................................................................... osmo_ss7_vty: automatically create routes for routing key Operators may set up a routing key in each AS node. However, this does not mean that there is also a route added to the routing table. If the default route is not sufficient (e.g. if multiple AS are defined), then operators are epected to put matching routes into the routing table. However, when libosmo-sigtran runs in ASP role, the VTY commands that allow to routing table changes are not present. In an ASP role we are in an endpoint situation, so no complex routing is required, in most cases (single AS) even the default route is enough but to ensure that each AS will get a route, add routing tables automatically when running in ASP role. Change-Id: Ic60b36983232308250e591dbad576aaafdd6b586 Related: SYS#5392 --- M src/osmo_ss7_vty.c 1 file changed, 22 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 63625a8..bd15070 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -1050,6 +1050,7 @@ { struct osmo_ss7_as *as = vty->index; struct osmo_ss7_routing_key *rkey = &as->cfg.routing_key; + struct osmo_ss7_route *rt; int pc; if (as->cfg.proto == OSMO_SS7_ASP_PROT_IPA && atoi(rcontext) != 0) { @@ -1063,12 +1064,33 @@ vty_out(vty, "Invalid point code (%s)%s", dpc, VTY_NEWLINE); return CMD_WARNING; } + + /* When libosmo-sigtran is used in ASP role, the VTY routing table node + * (config-cs7-rt) is not available. However, when we add a routing key + * to an AS we still have to put a matching route into the routing + * table. This is done automatically by first removing the old route + * (users may change the routing key via VTY during runtime) and then + * putting a new route (see below). */ + if (cs7_role == CS7_ROLE_ASP) { + rt = osmo_ss7_route_find_dpc_mask(as->inst->rtable_system, rkey->pc, 0xffffff); + if (rt) + osmo_ss7_route_destroy(rt); + } + rkey->pc = pc; rkey->context = atoi(rcontext); /* FIXME: input validation */ rkey->si = si ? get_string_value(mtp_si_vals, si) : 0; /* FIXME: input validation */ rkey->ssn = ssn ? atoi(ssn) : 0; /* FIXME: input validation */ + /* automatically add new route (see also comment above) */ + if (cs7_role == CS7_ROLE_ASP) { + if (!osmo_ss7_route_create(as->inst->rtable_system, rkey->pc, 0xffffff, as->cfg.name)) { + vty_out(vty, "Cannot crate route (pc=%s, linkset=%s) to linkset %s", dpc, as->cfg.name, VTY_NEWLINE); + return CMD_WARNING; + } + } + return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24704 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic60b36983232308250e591dbad576aaafdd6b586 Gerrit-Change-Number: 24704 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 20:29:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:29:24 +0000 Subject: Change in osmo-sgsn[master]: add support for multiple encryption algorithms and a5/4 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 ) Change subject: add support for multiple encryption algorithms and a5/4 ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Gerrit-Change-Number: 24304 Gerrit-PatchSet: 7 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 20:29: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 Jun 16 20:29:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:29:58 +0000 Subject: Change in osmo-gbproxy[master]: manual: Update counters, add proper chapter for counters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24692 ) Change subject: manual: Update counters, add proper chapter for counters ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24692 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: If499ba8f8e26d340e79a42be3fb490e912d507cc Gerrit-Change-Number: 24692 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 20:29:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 20:30:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:30:13 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_vty: Remove redundant command "show gbproxy links" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24693 ) Change subject: gbproxy_vty: Remove redundant command "show gbproxy links" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24693 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I069a4eb8031d2b486a1f88eaf2a0a6a1a06c9fd2 Gerrit-Change-Number: 24693 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 20:30:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 20:30:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:30:34 +0000 Subject: Change in osmo-gbproxy[master]: manual: Add section describing show gbproxy command usage In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24694 ) Change subject: manual: Add section describing show gbproxy command usage ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24694 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Iad2775d125b842f47b0a7b8324fbe417bece04de Gerrit-Change-Number: 24694 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 20:30: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 Jun 16 20:31:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:31:35 +0000 Subject: Change in osmo-gbproxy[master]: manual: Add chapter describing osmo counters in general In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24695 ) Change subject: manual: Add chapter describing osmo counters in general ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24695 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I088f37abaccd486b9b124c91f5321ee7187873a6 Gerrit-Change-Number: 24695 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 20:31:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 20:31:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:31:37 +0000 Subject: Change in osmo-gbproxy[master]: manual: Update counters, add proper chapter for counters In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24692 ) Change subject: manual: Update counters, add proper chapter for counters ...................................................................... manual: Update counters, add proper chapter for counters Change-Id: If499ba8f8e26d340e79a42be3fb490e912d507cc --- A doc/manuals/chapters/counters.adoc M doc/manuals/chapters/counters_generated.adoc M doc/manuals/osmogbproxy-usermanual.adoc 3 files changed, 25 insertions(+), 22 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/doc/manuals/chapters/counters.adoc b/doc/manuals/chapters/counters.adoc new file mode 100644 index 0000000..0d9799c --- /dev/null +++ b/doc/manuals/chapters/counters.adoc @@ -0,0 +1,4 @@ +[[counters]] +== Counters + +include::./counters_generated.adoc[] \ No newline at end of file diff --git a/doc/manuals/chapters/counters_generated.adoc b/doc/manuals/chapters/counters_generated.adoc index e16560c..6b0f89c 100644 --- a/doc/manuals/chapters/counters_generated.adoc +++ b/doc/manuals/chapters/counters_generated.adoc @@ -1,6 +1,6 @@ // autogenerated by show asciidoc counters -These counters and their description are based on OsmoGbProxy UNKNOWN-dirty (OsmoGbProxy). +These counters and their description are based on OsmoGbProxy 0.1.0.21-5643 (OsmoGbProxy). === Rate Counters @@ -16,44 +16,46 @@ | bytes:in | <> | Bytes at NS Level ( In) | bytes:out | <> | Bytes at NS Level (Out) | bytes:out:drop | <> | Dropped Bytes (Out) -| blocked | <> | NS-VC Block count -| unblocked | <> | NS-VC Unblock count -| dead | <> | NS-VC gone dead count +| blocked | <> | NS-VC Block count +| unblocked | <> | NS-VC Unblock count +| dead | <> | NS-VC gone dead count | replaced | <> | NS-VC replaced other count -| nsei-chg | <> | NS-VC changed NSEI count -| lost:alive | <> | ALIVE ACK missing count -| lost:reset | <> | RESET ACK missing count +| nsei-chg | <> | NS-VC changed NSEI count +| inv-nsvci | <> | NS-VCI was invalid count +| inv-nsei | <> | NSEI was invalid count +| lost:alive | <> | ALIVE ACK missing count +| lost:reset | <> | RESET ACK missing count |=== // rate_ctr_group table GBProxy Peer Statistics .gbproxy:peer - GBProxy Peer Statistics [options="header"] |=== | Name | Reference | Description -| blocked | <> | BVC Block -| unblocked | <> | BVC Unblock -| dropped | <> | BVC blocked, dropped packet -| inv-nsei | <> | NSEI mismatch -| tx-err | <> | NS Transmission error +| blocked | <> | BVC Block +| unblocked | <> | BVC Unblock +| dropped | <> | BVC blocked, dropped packet +| inv-nsei | <> | NSEI mismatch +| tx-err | <> | NS Transmission error |=== // rate_ctr_group table GBProxy Global Statistics .gbproxy:global - GBProxy Global Statistics [options="header"] |=== | Name | Reference | Description -| inv-bvci | <> | Invalid BVC Identifier +| inv-bvci | <> | Invalid BVC Identifier | inv-lai | <> | Invalid Location Area Identifier -| inv-rai | <> | Invalid Routing Area Identifier -| inv-nsei | <> | No BVC established for NSEI +| inv-rai | <> | Invalid Routing Area Identifier +| inv-nsei | <> | No BVC established for NSEI | proto-err:bss | <> | BSSGP protocol error (BSS ) | proto-err:sgsn | <> | BSSGP protocol error (SGSN) | not-supp:bss | <> | Feature not supported (BSS ) | not-supp:sgsn | <> | Feature not supported (SGSN) | restart:sgsn | <> | Restarted RESET procedure (SGSN) | tx-err:sgsn | <> | NS Transmission error (SGSN) -| error | <> | Other error -| mod-peer-err | <> | Patch error: no peer +| error | <> | Other error +| mod-peer-err | <> | Patch error: no peer |=== -== Osmo Stat Items +=== Osmo Stat Items // generating tables for osmo_stat_items NSVC Peer Statistics @@ -72,7 +74,4 @@ | Name | Reference | Description | Unit | tx_backlog_length | <> | Transmit backlog length | packets |=== -== Osmo Counters - -// generating tables for osmo_counters // there are no ungrouped osmo_counters diff --git a/doc/manuals/osmogbproxy-usermanual.adoc b/doc/manuals/osmogbproxy-usermanual.adoc index 193b6a4..835b4ed 100644 --- a/doc/manuals/osmogbproxy-usermanual.adoc +++ b/doc/manuals/osmogbproxy-usermanual.adoc @@ -31,7 +31,7 @@ include::./common/chapters/control_if.adoc[] -include::{srcdir}/chapters/counters_generated.adoc[] +include::{srcdir}/chapters/counters.adoc[] include::./common/chapters/vty_cpu_sched.adoc[] -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24692 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: If499ba8f8e26d340e79a42be3fb490e912d507cc Gerrit-Change-Number: 24692 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 Wed Jun 16 20:31:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:31:38 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_vty: Remove redundant command "show gbproxy links" In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24693 ) Change subject: gbproxy_vty: Remove redundant command "show gbproxy links" ...................................................................... gbproxy_vty: Remove redundant command "show gbproxy links" show gbproxy bvc bss displays the same information Change-Id: I069a4eb8031d2b486a1f88eaf2a0a6a1a06c9fd2 --- M src/gb_proxy_vty.c 1 file changed, 0 insertions(+), 16 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/gb_proxy_vty.c b/src/gb_proxy_vty.c index 9ac45e7..906beff 100644 --- a/src/gb_proxy_vty.c +++ b/src/gb_proxy_vty.c @@ -544,21 +544,6 @@ return CMD_SUCCESS; } -DEFUN(show_gbproxy_links, show_gbproxy_links_cmd, "show gbproxy links", - SHOW_STR GBPROXY_STR "Show logical links\n") -{ - struct gbproxy_nse *nse; - int i, j; - - hash_for_each(g_cfg->bss_nses, i, nse, list) { - struct gbproxy_bvc *bvc; - hash_for_each(nse->bvcs, j, bvc, list) { - gbprox_vty_print_bvc(vty, bvc); - } - } - return CMD_SUCCESS; -} - DEFUN(show_gbproxy_tlli_cache, show_gbproxy_tlli_cache_cmd, "show gbproxy tlli-cache", SHOW_STR GBPROXY_STR "Show TLLI cache entries\n") @@ -738,7 +723,6 @@ { install_element_ve(&show_gbproxy_bvc_cmd); install_element_ve(&show_gbproxy_cell_cmd); - install_element_ve(&show_gbproxy_links_cmd); install_element_ve(&show_gbproxy_tlli_cache_cmd); install_element_ve(&show_gbproxy_imsi_cache_cmd); install_element_ve(&show_nri_all_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24693 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I069a4eb8031d2b486a1f88eaf2a0a6a1a06c9fd2 Gerrit-Change-Number: 24693 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 Wed Jun 16 20:31:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:31:38 +0000 Subject: Change in osmo-gbproxy[master]: manual: Add section describing show gbproxy command usage In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24694 ) Change subject: manual: Add section describing show gbproxy command usage ...................................................................... manual: Add section describing show gbproxy command usage Change-Id: Iad2775d125b842f47b0a7b8324fbe417bece04de --- M doc/manuals/chapters/gbproxy-configuration.adoc 1 file changed, 45 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/chapters/gbproxy-configuration.adoc b/doc/manuals/chapters/gbproxy-configuration.adoc index 79a508b..d25c389 100644 --- a/doc/manuals/chapters/gbproxy-configuration.adoc +++ b/doc/manuals/chapters/gbproxy-configuration.adoc @@ -48,4 +48,48 @@ ---- <1> Define bind with IP/port for the BSS <2> Allow BSS with dynamic NSE to connect to this bind -<3> Use this bind as default for dynamic NSE \ No newline at end of file +<3> Use this bind as default for dynamic NSE + +=== Checking OsmoGbProxy state + +The VTY interface (see <>) offers you commands to inspect the state of +OsmoGbProxy. +FIXME mention/link to NS VTY chapter + + +.Example: Check SGSN-side BVCs +---- +OsmoGbProxy# show gbproxy bvc sgsn <1> +NSEI 1, SIG-BVCI 0 [UNBLOCKED] <2> +NSEI 1, PTP-BVCI 1234, RAI 001-01-1234-0 [UNBLOCKED] <3> +NSEI 1, PTP-BVCI 1235, RAI 001-01-1235-0 [BLOCKED] <4> +---- +<1> Show the BVCs towards the SGSN-side +<2> A signalling BVC is required before PTP-BVCs can be established +<3> For PTP-BVCs show the BVCI and RAI that was sent during the RESET procedure +<4> A BVC on the SGSN-side can be blocked either because the BSS blocked the PTP-BVC or if the + BSS BVC vanished (due to BVC-RESET or NSE failure). Since there is no way to delete a PTP-BVC + it will stay until the SIG-BVC on that NSE is reset. + +.Example: Check BSS-side BVCs +---- +OsmoGbProxy# show gbproxy bvc bss <1> +NSEI 1001, SIG-BVCI 0 [UNBLOCKED] +NSEI 1001, PTP-BVCI 1234, RAI 001-01-1234-0 [UNBLOCKED] <2> +NSEI 1002, SIG-BVCI 0 [UNBLOCKED] +NSEI 1002, PTP-BVCI 1235, RAI 001-01-1235-0 [BLOCKED] +---- +<1> Show the BVCs towards the BSS-side +<2> The information displayed is the same as for the SGSN-side + +.Example: Show cell information +---- +OsmoGbProxy# show gbproxy cell +BVCI 1234 RAI 001-01-1234-0 CID 1234: BSS NSEI 1001, SGSN NSEI 1 <1> +BVCI 1235 RAI 001-01-1235-0 CID 1235: BSS NSEI 1002, SGSN NSEI 1 +BVCI 1236 RAI 001-01-1236-0 CID 1236: BSS NSEI 1003, SGSN NSEI 1 2 <2> +BVCI 1237 RAI 001-01-1237-0 CID 1237: BSS NSEI , SGSN NSEI <3> +---- +<1> Show cell information (BVCI, RAI) +<2> When multiple SGSNs are connected (SGSN pooling) more than one NSEI is shown +<3> If the BSS or SGSN side of a cell is currently disconnected none is shown instead of the NSEI \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24694 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Iad2775d125b842f47b0a7b8324fbe417bece04de Gerrit-Change-Number: 24694 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 20:31:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:31:39 +0000 Subject: Change in osmo-gbproxy[master]: manual: Add chapter describing osmo counters in general In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24695 ) Change subject: manual: Add chapter describing osmo counters in general ...................................................................... manual: Add chapter describing osmo counters in general Related: SYS#5005 Change-Id: I088f37abaccd486b9b124c91f5321ee7187873a6 --- M doc/manuals/osmogbproxy-usermanual.adoc 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/doc/manuals/osmogbproxy-usermanual.adoc b/doc/manuals/osmogbproxy-usermanual.adoc index 835b4ed..4de5106 100644 --- a/doc/manuals/osmogbproxy-usermanual.adoc +++ b/doc/manuals/osmogbproxy-usermanual.adoc @@ -31,6 +31,8 @@ include::./common/chapters/control_if.adoc[] +include::./common/chapters/counters-overview.adoc[] + include::{srcdir}/chapters/counters.adoc[] include::./common/chapters/vty_cpu_sched.adoc[] -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24695 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I088f37abaccd486b9b124c91f5321ee7187873a6 Gerrit-Change-Number: 24695 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 Wed Jun 16 20:31:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:31:58 +0000 Subject: Change in libosmocore[master]: control_cmd: fix typo In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24690 ) Change subject: control_cmd: fix typo ...................................................................... control_cmd: fix typo Change-Id: I9deaee42aeb0ab0549cc7c4f180ad9c216b9df39 --- M src/ctrl/control_cmd.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/ctrl/control_cmd.c b/src/ctrl/control_cmd.c index 753e6cc..e67df67 100644 --- a/src/ctrl/control_cmd.c +++ b/src/ctrl/control_cmd.c @@ -207,7 +207,7 @@ } /*! Install a given command definition at a given CTRL node. - * \param[in] node CTRL node at whihc \a cmd is to be installed + * \param[in] node CTRL node at which \a cmd is to be installed * \param[in] cmd command definition to be installed * \returns 0 on success; negative on error */ int ctrl_cmd_install(enum ctrl_node_type node, struct ctrl_cmd_element *cmd) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24690 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9deaee42aeb0ab0549cc7c4f180ad9c216b9df39 Gerrit-Change-Number: 24690 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 Wed Jun 16 20:35:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:35:22 +0000 Subject: Change in osmo-bsc[master]: handover_cfg: add missing VTY_CMD_PREFIX in comment In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24689 ) Change subject: handover_cfg: add missing VTY_CMD_PREFIX in comment ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24689 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I80db198178cfd1e8669589eb3b468766f0c30ea2 Gerrit-Change-Number: 24689 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 20:35:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 20:36:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:36:21 +0000 Subject: Change in osmo-bsc[master]: handover_cfg: add missing VTY_CMD_PREFIX in comment In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24689 ) Change subject: handover_cfg: add missing VTY_CMD_PREFIX in comment ...................................................................... handover_cfg: add missing VTY_CMD_PREFIX in comment The comment that explains HO_CFG_ONE_MEMBER lacks VTY_CMD_PREFIX in the sample macro definistion. Change-Id: I80db198178cfd1e8669589eb3b468766f0c30ea2 --- M include/osmocom/bsc/handover_cfg.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/include/osmocom/bsc/handover_cfg.h b/include/osmocom/bsc/handover_cfg.h index 342d5e4..6e003af 100644 --- a/include/osmocom/bsc/handover_cfg.h +++ b/include/osmocom/bsc/handover_cfg.h @@ -53,7 +53,7 @@ /* 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, - * VTY_CMD, VTY_CMD_ARG, VTY_ARG_EVAL, + * VTY_CMD_PREFIX, VTY_CMD, VTY_CMD_ARG, VTY_ARG_EVAL, * VTY_WRITE_FMT, VTY_WRITE_CONV, * VTY_DOC) * Then using HO_CFG_ALL_MEMBERS can save a lot of code dup in defining API declaration, API -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24689 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I80db198178cfd1e8669589eb3b468766f0c30ea2 Gerrit-Change-Number: 24689 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 Jun 16 20:39:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:39:03 +0000 Subject: Change in libosmocore[master]: stats_vty: Improve generation of osmo counters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24688 ) Change subject: stats_vty: Improve generation of osmo counters ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24688 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I126b39cb9458e0f62efa338967e07151a0eece0f Gerrit-Change-Number: 24688 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 20:39: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 Jun 16 20:39:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:39:06 +0000 Subject: Change in libosmocore[master]: stats_vty: Improve generation of osmo counters In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24688 ) Change subject: stats_vty: Improve generation of osmo counters ...................................................................... stats_vty: Improve generation of osmo counters Use section for all counter headings, the idea is that the generated doc is included below a chapter describing the implemented counters which can optionally describe individual items. If not osmo_counters are present simply omit the whole section to tidy up the manual. Those are deprecated anyway and not used in the osmo-* projects that I checked. Change-Id: I126b39cb9458e0f62efa338967e07151a0eece0f Related: SYS#5005, OS#4523 --- M src/vty/stats_vty.c 1 file changed, 10 insertions(+), 11 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/vty/stats_vty.c b/src/vty/stats_vty.c index d5d3292..ba45e1e 100644 --- a/src/vty/stats_vty.c +++ b/src/vty/stats_vty.c @@ -415,13 +415,6 @@ static void asciidoc_counter_generate(struct vty *vty) { - if (osmo_counters_count() == 0) - { - vty_out(vty, "// there are no ungrouped osmo_counters%s", - VTY_NEWLINE); - return; - } - vty_out(vty, "// ungrouped osmo_counters%s", VTY_NEWLINE); vty_out(vty, ".ungrouped osmo counters%s", VTY_NEWLINE); vty_out(vty, "[options=\"header\"]%s", VTY_NEWLINE); @@ -542,13 +535,19 @@ vty_out(vty, "// generating tables for rate_ctr_group%s", VTY_NEWLINE); rate_ctr_for_each_group(asciidoc_rate_ctr_group_handler, vty); - vty_out(vty, "== Osmo Stat Items%s%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "=== Osmo Stat Items%s%s", VTY_NEWLINE, VTY_NEWLINE); vty_out(vty, "// generating tables for osmo_stat_items%s", VTY_NEWLINE); osmo_stat_item_for_each_group(asciidoc_osmo_stat_item_group_handler, vty); - vty_out(vty, "== Osmo Counters%s%s", VTY_NEWLINE, VTY_NEWLINE); - vty_out(vty, "// generating tables for osmo_counters%s", VTY_NEWLINE); - asciidoc_counter_generate(vty); + if (osmo_counters_count() == 0) + { + vty_out(vty, "// there are no ungrouped osmo_counters%s", + VTY_NEWLINE); + } else { + vty_out(vty, "=== Osmo Counters%s%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "// generating tables for osmo_counters%s", VTY_NEWLINE); + asciidoc_counter_generate(vty); + } return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24688 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I126b39cb9458e0f62efa338967e07151a0eece0f Gerrit-Change-Number: 24688 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 Wed Jun 16 20:41:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:41:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Validate new 'srvcc fast-return' VTY command In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24679 ) Change subject: bsc: Validate new 'srvcc fast-return' VTY command ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24679 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I227abc3793255e3916eba0dbc1460f46ec9926fe Gerrit-Change-Number: 24679 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 16 Jun 2021 20:41: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 Jun 16 20:42:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 16 Jun 2021 20:42:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Validate new SRVCC counters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24680 ) Change subject: bsc: Validate new SRVCC counters ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24680 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icf2cd00f4024533a1bd8ba52816750a836bc0cb2 Gerrit-Change-Number: 24680 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 16 Jun 2021 20: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 Wed Jun 16 20:47:44 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 16 Jun 2021 20:47:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: add a test case for RF RESource INDication In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24567 ) Change subject: BTS: add a test case for RF RESource INDication ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I78b6d8beffa5228a28231b75728e7aebdd3cb23c Gerrit-Change-Number: 24567 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Wed, 16 Jun 2021 20:47: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 Wed Jun 16 21:22:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 16 Jun 2021 21:22:24 +0000 Subject: Change in osmo-bts[master]: oml: fix handling of NM_ATT_INTERF_BOUND attribute 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-bts/+/24706 to look at the new patch set (#2). Change subject: oml: fix handling of NM_ATT_INTERF_BOUND attribute ...................................................................... oml: fix handling of NM_ATT_INTERF_BOUND attribute Looks like this part of the code has never been tested. The old code would dereference the same value in the loop and assign it to all members in array 'bts->interference.boundary'. Change-Id: I7f83d8e6eb6cc19e3e9529ba06617a902de23e35 Related: SYS#5313, OS#1569 --- M src/common/oml.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/06/24706/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24706 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7f83d8e6eb6cc19e3e9529ba06617a902de23e35 Gerrit-Change-Number: 24706 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 21:22:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 16 Jun 2021 21:22:24 +0000 Subject: Change in osmo-bts[master]: Report interference levels in RSL RF RESource INDication In-Reply-To: References: Message-ID: Hello Jenkins Builder, Hoernchen, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24612 to look at the new patch set (#4). Change subject: Report interference levels in RSL RF RESource INDication ...................................................................... Report interference levels in RSL RF RESource INDication This change implements general interference averaging logic for the higher layers. In l1sap_info_time_ind(), where we receive TDMA time updates from BTS model, call rsl_tx_rf_res() for each transceiver according to the interval defined by the Intave parameter received from the BSC. In rsl_tx_rf_res() perform the actual averaging for each inactive logical channel, and then send everything to the BSC over the A-bis/RSL. The BTS model specific code needs to report the measurements for each logical channel every 104 TDMA frames (SACCH period) by calling gsm_lchan_interf_meas_push(). Change-Id: Id80fdbef087de625149755165c025c0a9563dc85 Related: SYS#5313, OS#1569 --- M README.md M doc/manuals/abis/oml.adoc M include/osmo-bts/gsm_data.h M src/common/gsm_data.c M src/common/l1sap.c M src/common/rsl.c 6 files changed, 120 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/12/24612/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24612 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id80fdbef087de625149755165c025c0a9563dc85 Gerrit-Change-Number: 24612 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 16 23:14:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 16 Jun 2021 23:14:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: add a test case for RF RESource INDication 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-ttcn3-hacks/+/24567 to look at the new patch set (#3). Change subject: BTS: add a test case for RF RESource INDication ...................................................................... BTS: add a test case for RF RESource INDication Change-Id: I78b6d8beffa5228a28231b75728e7aebdd3cb23c Related: SYS#5313, OS#1569, OS#1866 --- M bts/BTS_Tests.ttcn 1 file changed, 67 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/67/24567/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I78b6d8beffa5228a28231b75728e7aebdd3cb23c Gerrit-Change-Number: 24567 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 08:10:50 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 17 Jun 2021 08:10:50 +0000 Subject: Change in osmo-ci[master]: jobs/gerrit-lint.yml: add lint jobs In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24703 ) Change subject: jobs/gerrit-lint.yml: add lint jobs ...................................................................... Patch Set 1: > Patch Set 1: > > would possibly be interesting to see this with one project deployed first before going all-in on all of our projects. Agreed - I've deployed it for osmo-mgw yesterday. Here is how it looks like (the last one is the state of the patches submitted): https://gerrit.osmocom.org/c/osmo-mgw/+/24697 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24703 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic473a5c535dfbdda55751e53fc751ede1adde7e2 Gerrit-Change-Number: 24703 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 17 Jun 2021 08:10: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 Jun 17 08:26:23 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 17 Jun 2021 08:26:23 +0000 Subject: Change in libosmocore[master]: vty: make function cmd_range_match() public 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/+/24691 to look at the new patch set (#2). Change subject: vty: make function cmd_range_match() public ...................................................................... vty: make function cmd_range_match() public Certain control interface commands also may require to verfy a range in their verify function. cmd_range_match() from the VTY does exactly that and the range can be specified as string, the same way as we would specify it in the VTY. Change-Id: I53fc207677f52b1dc748b01d58424839cdba807c related: SYS#5369 --- M include/osmocom/vty/command.h M src/vty/command.c 2 files changed, 6 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/91/24691/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24691 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I53fc207677f52b1dc748b01d58424839cdba807c Gerrit-Change-Number: 24691 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 Jun 17 08:26:45 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 17 Jun 2021 08:26:45 +0000 Subject: Change in libosmocore[master]: vty: make function cmd_range_match() public In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24691 ) Change subject: vty: make function cmd_range_match() public ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24691/1/include/osmocom/vty/command.h File include/osmocom/vty/command.h: https://gerrit.osmocom.org/c/libosmocore/+/24691/1/include/osmocom/vty/command.h at 486 PS1, Line 486: int cmd_range_match(const char *range, const char *str); > Let's add a proper prefix for it: vty_cmd_range_match, or osmo_cmd_range_match. [?] Its more like i want to use it with libosmoctrl. I call this function from osmo-bsc. I think its ok to have it in libosmovty. Its probably unlikely that we will have some program that uses libosmoctrl but not libosmovty... -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24691 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I53fc207677f52b1dc748b01d58424839cdba807c Gerrit-Change-Number: 24691 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 17 Jun 2021 08:26: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 Jun 17 08:29:02 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 17 Jun 2021 08:29:02 +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, 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 (#3). 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 M include/osmocom/bsc/handover_cfg.h A include/osmocom/bsc/handover_ctrl.h M src/osmo-bsc/Makefile.am M src/osmo-bsc/handover_cfg.c A src/osmo-bsc/handover_ctrl.c M src/osmo-bsc/handover_vty.c M src/osmo-bsc/osmo_bsc_ctrl.c M tests/handover/Makefile.am 10 files changed, 296 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/00/24600/3 -- 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: 3 Gerrit-Owner: dexter Gerrit-Assignee: 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 Jun 17 09:10:46 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 17 Jun 2021 09:10:46 +0000 Subject: Change in osmo-ci[master]: jobs/gerrit-lint.yml: add lint jobs In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24703 ) Change subject: jobs/gerrit-lint.yml: add lint jobs ...................................................................... Patch Set 1: > Patch Set 1: > > would possibly be interesting to see this with one project deployed first before going all-in on all of our projects. I guess it makes sense to deploy it to one project with more frequently incoming patches too - how about I deploy it for libosmocore before we do it on all projects? -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24703 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic473a5c535dfbdda55751e53fc751ede1adde7e2 Gerrit-Change-Number: 24703 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 17 Jun 2021 09:10:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 09:26:41 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 17 Jun 2021 09:26:41 +0000 Subject: Change in osmo-ci[master]: lint/checkpatch: import from Linux kernel In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24699 ) Change subject: lint/checkpatch: import from Linux kernel ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24699 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I58571a0409e79d88d37e8328f41a540a58cfb198 Gerrit-Change-Number: 24699 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 17 Jun 2021 09:26:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 09:27:16 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 17 Jun 2021 09:27:16 +0000 Subject: Change in osmo-ci[master]: lint/checkpatch: add --exclude argument In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24700 ) Change subject: lint/checkpatch: add --exclude argument ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24700 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ia980814895249f839873c5002f0d21c0e59ee01d Gerrit-Change-Number: 24700 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 17 Jun 2021 09:27:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 09:28:04 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 17 Jun 2021 09:28:04 +0000 Subject: Change in osmo-ci[master]: lint/checkpatch: add Osmocom specific wrapper In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24701 ) Change subject: lint/checkpatch: add Osmocom specific wrapper ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24701 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0ec6a3bc57a4d31c821fa83370f05c6d4ac2a5b0 Gerrit-Change-Number: 24701 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 17 Jun 2021 09: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 Thu Jun 17 09:28:29 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 17 Jun 2021 09:28:29 +0000 Subject: Change in osmo-ci[master]: lint: add helper scripts In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24702 ) Change subject: lint: add helper scripts ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24702 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1d02c169b05fb05b87209a444a5ddb86efc99d04 Gerrit-Change-Number: 24702 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 17 Jun 2021 09:28:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 09:34:14 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 17 Jun 2021 09:34:14 +0000 Subject: Change in osmo-bts[master]: paging: prioritize CS related paging over PS related pagings. In-Reply-To: References: Message-ID: fixeria 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 3: 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: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 17 Jun 2021 09:34: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 Jun 17 10:40:40 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 17 Jun 2021 10:40:40 +0000 Subject: Change in libosmo-abis[master]: ipa: add optional connect timeout to ipa_client_conn_open In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/24514 to look at the new patch set (#2). Change subject: ipa: add optional connect timeout to ipa_client_conn_open ...................................................................... ipa: add optional connect timeout to ipa_client_conn_open The function ipa_client_conn_open opens an osmo-socket using osmo_sock_init2 and sets the OSMO_SOCK_F_NONBLOCK. This means that it returns while the TCP connection is still in progress and it is not clear yet if the connection will succeed or not. In cases where an established connection is critical the API user may specify a timeout in the IPA line options. ipa_client_conn_open() will then wait until the the connection is established (or failed). Change-Id: I7bc4345876e3c20266985270d0ddfa770437a053 Depends: libosmocore I1c68185120fa2a6c9b6cb8aa2a25232a44ff5508 Related: SYS#4971 --- M TODO-RELEASE M include/osmocom/abis/e1_input.h M src/input/ipa.c 3 files changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/14/24514/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I7bc4345876e3c20266985270d0ddfa770437a053 Gerrit-Change-Number: 24514 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 10:42:00 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 17 Jun 2021 10:42:00 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24513 to look at the new patch set (#2). 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 Depends: libosmo-abis I7bc4345876e3c20266985270d0ddfa770437a053 Related: SYS#4971 --- 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 5 files changed, 68 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/13/24513/2 -- 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: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 10:42:00 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 17 Jun 2021 10:42:00 +0000 Subject: Change in osmo-bts[master]: main: do not use fprintf to log fatal errors References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24707 ) Change subject: main: do not use fprintf to log fatal errors ...................................................................... main: do not use fprintf to log fatal errors In main there are some fatal errors that lead into exiting osmo-bts. The errors are logged via fprintf. Those messages are not unimportant for finding faults, so lets use LOGP() to benefit from the libosmocore logging system. Change-Id: I2ae4acf6a92137236e1b62c2d0aab79a34134f45 --- M src/common/main.c 1 file changed, 15 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/07/24707/1 diff --git a/src/common/main.c b/src/common/main.c index 0b7d3fb..79e97c8 100644 --- a/src/common/main.c +++ b/src/common/main.c @@ -92,19 +92,19 @@ case 1: vty_ref_mode = get_string_value(vty_ref_gen_mode_names, optarg); if (vty_ref_mode < 0) { - fprintf(stderr, "%s: Unknown VTY reference generation " + LOGP(DLGLOBAL, LOGL_FATAL, "%s: Unknown VTY reference generation " "mode '%s'\n", prog_name, optarg); exit(2); } break; case 2: - fprintf(stderr, "Generating the VTY reference in mode '%s' (%s)\n", + LOGP(DLGLOBAL, LOGL_FATAL, "Generating the VTY reference in mode '%s' (%s)\n", get_value_string(vty_ref_gen_mode_names, vty_ref_mode), get_value_string(vty_ref_gen_mode_desc, vty_ref_mode)); vty_dump_xml_ref_mode(stdout, (enum vty_ref_gen_mode) vty_ref_mode); exit(0); default: - fprintf(stderr, "%s: error parsing cmdline options\n", prog_name); + LOGP(DLGLOBAL, LOGL_FATAL, "%s: error parsing cmdline options\n", prog_name); exit(2); } } @@ -303,7 +303,7 @@ g_bts = gsm_bts_alloc(tall_bts_ctx, 0); if (!g_bts) { - fprintf(stderr, "Failed to create BTS structure\n"); + LOGP(DLGLOBAL, LOGL_FATAL, "Failed to create BTS structure\n"); exit(1); } @@ -315,14 +315,14 @@ param.sched_priority = rt_prio; rc = sched_setscheduler(getpid(), SCHED_RR, ¶m); if (rc != 0) { - fprintf(stderr, "Setting SCHED_RR priority(%d) failed: %s\n", + LOGP(DLGLOBAL, LOGL_FATAL, "Setting SCHED_RR priority(%d) failed: %s\n", param.sched_priority, strerror(errno)); exit(1); } } if (bts_init(g_bts) < 0) { - fprintf(stderr, "unable to open bts\n"); + LOGP(DLGLOBAL, LOGL_FATAL, "unable to open bts\n"); exit(1); } @@ -330,19 +330,19 @@ rc = vty_read_config_file(config_file, NULL); if (rc < 0) { - fprintf(stderr, "Failed to parse the config file: '%s'\n", + LOGP(DLGLOBAL, LOGL_FATAL, "Failed to parse the config file: '%s'\n", config_file); exit(1); } if (!phy_link_by_num(0)) { - fprintf(stderr, "You need to configure at least phy0\n"); + LOGP(DLGLOBAL, LOGL_FATAL, "You need to configure at least phy0\n"); exit(1); } llist_for_each_entry(trx, &g_bts->trx_list, list) { if (!trx->pinst) { - fprintf(stderr, "TRX %u has no associated PHY instance\n", + LOGP(DLGLOBAL, LOGL_FATAL, "TRX %u has no associated PHY instance\n", trx->nr); exit(1); } @@ -370,7 +370,7 @@ g_bts->gsmtap.inst = gsmtap_source_init(g_bts->gsmtap.remote_host, GSMTAP_UDP_PORT, 1); if (g_bts->gsmtap.inst == NULL) { - fprintf(stderr, "Failed during gsmtap_source_init()\n"); + LOGP(DLGLOBAL, LOGL_FATAL, "Failed during gsmtap_source_init()\n"); exit(1); } gsmtap_source_add_sink(g_bts->gsmtap.inst); @@ -381,12 +381,12 @@ rc = telnet_init_dynif(tall_bts_ctx, NULL, vty_get_bind_addr(), g_vty_port_num); if (rc < 0) { - fprintf(stderr, "Error initializing telnet\n"); + LOGP(DLGLOBAL, LOGL_FATAL, "Error initializing telnet\n"); exit(1); } if (pcu_sock_init(g_bts->pcu.sock_path)) { - fprintf(stderr, "PCU L1 socket failed\n"); + LOGP(DLGLOBAL, LOGL_FATAL, "PCU L1 socket failed\n"); exit(1); } @@ -398,19 +398,19 @@ osmo_init_ignore_signals(); if (!g_bts->bsc_oml_host) { - fprintf(stderr, "Cannot start BTS without knowing BSC OML IP\n"); + LOGP(DABIS, LOGL_FATAL, "Cannot start BTS without knowing BSC OML IP\n"); exit(1); } line = abis_open(g_bts, g_bts->bsc_oml_host, "osmo-bts"); if (!line) { - fprintf(stderr, "unable to connect to BSC\n"); + LOGP(DABIS, LOGL_FATAL, "unable to connect to BSC\n"); exit(2); } rc = phy_links_open(); if (rc < 0) { - fprintf(stderr, "unable to open PHY link(s)\n"); + LOGP(DLGLOBAL, LOGL_FATAL, "unable to open PHY link(s)\n"); exit(2); } -- 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: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 10:42:23 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 17 Jun 2021 10:42:23 +0000 Subject: Change in libosmo-abis[master]: ipa: add optional connect timeout to ipa_client_conn_open In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24514 ) Change subject: ipa: add optional connect timeout to ipa_client_conn_open ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/libosmo-abis/+/24514/1/src/input/ipa.c File src/input/ipa.c: https://gerrit.osmocom.org/c/libosmo-abis/+/24514/1/src/input/ipa.c at 233 PS1, Line 233: > He's just adding a new line here because he's adding new blocks to the function, so that different s [?] Done https://gerrit.osmocom.org/c/libosmo-abis/+/24514/1/src/input/ipa.c at 247 PS1, Line 247: ret = osmo_sock_wait(link->ofd->fd, timeout_msec); > So this is the use case you were saying it's fine blocking? Inside a library function? Doesn't look [?] You have to check I205f68a3a7f35fee4c38a7cfba2b014237df2727 (osmo-bts). It depends how the library is used. timeout_msec is optional. If it is 0, then there is no blocking at all. If the user wants to block in order to make sure that the TCP connection towards the bsc is working before moving on, then timeout_msec can be set to a reasonable value. In osmo-bts we have this case where the abis connection is made before the main loop is entered and there it makes sense to try all possible BSCs until one is found that is up. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I7bc4345876e3c20266985270d0ddfa770437a053 Gerrit-Change-Number: 24514 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 17 Jun 2021 10:42:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 10:43:05 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 17 Jun 2021 10:43:05 +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 2: (4 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24513/1/src/common/main.c File src/common/main.c: https://gerrit.osmocom.org/c/osmo-bts/+/24513/1/src/common/main.c at 402 PS1, Line 402: LOGP > I think it's fine changing this since anyway he's changing lots of lines around this one. Its probably better to go around and replace all fprintf() to LOGP() first - there are a lot of them and it really makes sense to use LOGP() for all of them. https://gerrit.osmocom.org/c/osmo-bts/+/24513/1/src/common/main.c at 419 PS1, Line 419: BSC > Ack I think only A-bis is best here. https://gerrit.osmocom.org/c/osmo-bts/+/24513/1/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/24513/1/src/common/vty.c at 514 PS1, Line 514: /* Silently stop when the address is already in the list */ > Any reason to tolerate duplicate entries? There may be copy-paste errors in the config file, and her [?] Done https://gerrit.osmocom.org/c/osmo-bts/+/24513/1/src/common/vty.c at 543 PS1, Line 543: if (bsc_oml_host_del) { > Same here, removing a non-existing entry should be considered an error. 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: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 17 Jun 2021 10:43:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 11:10:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 17 Jun 2021 11:10:20 +0000 Subject: Change in osmo-bts[master]: oml: fix handling of NM_ATT_INTERF_BOUND attribute In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24706 ) Change subject: oml: fix handling of NM_ATT_INTERF_BOUND attribute ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24706 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7f83d8e6eb6cc19e3e9529ba06617a902de23e35 Gerrit-Change-Number: 24706 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 17 Jun 2021 11:10: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 Jun 17 11:15:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 17 Jun 2021 11:15:32 +0000 Subject: Change in libosmocore[master]: vty: make function cmd_range_match() public In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24691 ) Change subject: vty: make function cmd_range_match() public ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24691 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I53fc207677f52b1dc748b01d58424839cdba807c Gerrit-Change-Number: 24691 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 17 Jun 2021 11:15: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 Jun 17 11:19:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 17 Jun 2021 11:19:50 +0000 Subject: Change in osmo-ci[master]: lint/checkpatch: import from Linux kernel In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24699 ) Change subject: lint/checkpatch: import from Linux kernel ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24699 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I58571a0409e79d88d37e8328f41a540a58cfb198 Gerrit-Change-Number: 24699 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 17 Jun 2021 11:19:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 11:21:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 17 Jun 2021 11:21:35 +0000 Subject: Change in osmo-bts[master]: paging: prioritize CS related paging over PS related pagings. In-Reply-To: References: Message-ID: pespin 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 3: Code-Review-1 Marking -1 until my question is answered/looked at. -- 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: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 17 Jun 2021 11:21: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 Jun 17 11:28:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 17 Jun 2021 11:28:04 +0000 Subject: Change in osmo-bts[master]: main: do not use fprintf to log fatal errors In-Reply-To: References: Message-ID: pespin 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 1: (3 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24707/1/src/common/main.c File src/common/main.c: https://gerrit.osmocom.org/c/osmo-bts/+/24707/1/src/common/main.c at 95 PS1, Line 95: LOGP(DLGLOBAL, LOGL_FATAL, "%s: Unknown VTY reference generation " You shouldn't use libosmocore logging system here, because you are still configuring it from cmd line arguments in the loop under handle_options, so the program may end up doing unexpected stuff. https://gerrit.osmocom.org/c/osmo-bts/+/24707/1/src/common/main.c at 306 PS1, Line 306: LOGP(DLGLOBAL, LOGL_FATAL, "Failed to create BTS structure\n"); I'm not sure whether it's a 100% good idea to merge this patch, specially since we introduced support for async writes in the logging subsystem. That means the writes may not happen until the main loop is run, which in all these changes you do here is not, since we exit beforehand. As a result, messages could potentially be held in write queues. On the other side, we win potentially writing those to eg. file targets, since it should be rare delaying writes for those messages since they are not that big. https://gerrit.osmocom.org/c/osmo-bts/+/24707/1/src/common/main.c at 420 PS1, Line 420: perror("Error during daemonize"); If all lines are changed, this perror() line should too. -- 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: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 17 Jun 2021 11:28: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 Thu Jun 17 11:39:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 17 Jun 2021 11:39:05 +0000 Subject: Change in libosmo-abis[master]: ipa: add optional connect timeout to ipa_client_conn_open In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24514 ) Change subject: ipa: add optional connect timeout to ipa_client_conn_open ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmo-abis/+/24514/1/src/input/ipa.c File src/input/ipa.c: https://gerrit.osmocom.org/c/libosmo-abis/+/24514/1/src/input/ipa.c at 247 PS1, Line 247: ret = osmo_sock_wait(link->ofd->fd, timeout_msec); > You have to check I205f68a3a7f35fee4c38a7cfba2b014237df2727 (osmo-bts). [?] I'm not going to block this, but I still have the feeling this is being solved in a strange way. Why are you checking all this asynchronously over fd callbacks? If error_cb or whatever triggers, simply retry connecting with next address? -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I7bc4345876e3c20266985270d0ddfa770437a053 Gerrit-Change-Number: 24514 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 17 Jun 2021 11:39:05 +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 Thu Jun 17 12:19:38 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 17 Jun 2021 12:19:38 +0000 Subject: Change in docker-playground[master]: Don't run "dpkg --add-architecture i386" on ARM References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/24708 ) Change subject: Don't run "dpkg --add-architecture i386" on ARM ...................................................................... Don't run "dpkg --add-architecture i386" on ARM Building debian-stretch-jenkins on ARM currently results in a few libraries getting installed for the i386 architecture. This results in the following build failures for master-osmo-trx and master-osmo-pcu: checking for LIBGNUTLS... no configure: error: Package requirements (gnutls >= 2.12.0) were not met: No package 'gnutls' found It is weird that we are only seeing this now, the dpkg-line has been in debian-stretch-jenkins since the Dockerfile was added to osmo-ci four years ago in Icb0406f96b0c18e77be51ad8317c2668fb23a45e. I'm also wondering why it was added in the first place, and if we need it anymore. In any case, running this on anything but x86_64 does not make sense, so disable it there. Change-Id: I8d890b7ebc7b99a4c79779709d1e56e0a5a6d4b9 --- M debian-buster-jenkins/Dockerfile M debian-jessie-buildslave/Dockerfile M debian-stretch-jenkins/Dockerfile 3 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/08/24708/1 diff --git a/debian-buster-jenkins/Dockerfile b/debian-buster-jenkins/Dockerfile index ff69d35..2e3855b 100644 --- a/debian-buster-jenkins/Dockerfile +++ b/debian-buster-jenkins/Dockerfile @@ -14,7 +14,7 @@ # Install apt dependencies (keep in alphabetic order) RUN \ - dpkg --add-architecture i386 && \ + [ "$(arch)" = "x86_64" ] && dpkg --add-architecture i386; \ DEBIAN_FRONTEND=noninteractive apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get upgrade -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ diff --git a/debian-jessie-buildslave/Dockerfile b/debian-jessie-buildslave/Dockerfile index 158e19e..98d70a9 100644 --- a/debian-jessie-buildslave/Dockerfile +++ b/debian-jessie-buildslave/Dockerfile @@ -3,7 +3,7 @@ MAINTAINER Harald Welte -RUN dpkg --add-architecture i386 && \ +RUN [ "$(arch)" = "x86_64" ] && dpkg --add-architecture i386; \ apt-get update && \ apt-get install -y --no-install-recommends \ asciidoc \ diff --git a/debian-stretch-jenkins/Dockerfile b/debian-stretch-jenkins/Dockerfile index d794228..b45c1d3 100644 --- a/debian-stretch-jenkins/Dockerfile +++ b/debian-stretch-jenkins/Dockerfile @@ -14,7 +14,7 @@ # Install apt dependencies (keep in alphabetic order) RUN \ - dpkg --add-architecture i386 && \ + [ "$(arch)" = "x86_64" ] && dpkg --add-architecture i386; \ DEBIAN_FRONTEND=noninteractive apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get upgrade -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24708 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8d890b7ebc7b99a4c79779709d1e56e0a5a6d4b9 Gerrit-Change-Number: 24708 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 Jun 17 12:32:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 17 Jun 2021 12:32:22 +0000 Subject: Change in osmo-bsc[master]: Introduce VTY command to disable srvcc fast-return on target BTS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24666 ) Change subject: Introduce VTY command to disable srvcc fast-return on target BTS ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24666 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2ac91b5dffc9b6de60576aabe21a15f24fea38cb Gerrit-Change-Number: 24666 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 17 Jun 2021 12:32: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 Jun 17 12:33:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 17 Jun 2021 12:33:30 +0000 Subject: Change in osmo-ci[master]: jobs/gerrit-lint.yml: add lint jobs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24703 ) Change subject: jobs/gerrit-lint.yml: add lint jobs ...................................................................... Patch Set 1: > I guess it makes sense to deploy it to one project with more frequently incoming patches too - how about I deploy it for libosmocore before we do it on all projects? I would have gone the opposite approach: start using it on something that's not so critical/essential to our day by day work. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24703 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic473a5c535dfbdda55751e53fc751ede1adde7e2 Gerrit-Change-Number: 24703 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 17 Jun 2021 12:33: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 Thu Jun 17 12:34:46 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 17 Jun 2021 12:34:46 +0000 Subject: Change in osmo-ci[master]: jobs/gerrit-lint.yml: add lint jobs In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24703 ) Change subject: jobs/gerrit-lint.yml: add lint jobs ...................................................................... Patch Set 1: > Patch Set 1: > > > I guess it makes sense to deploy it to one project with more frequently incoming patches too - how about I deploy it for libosmocore before we do it on all projects? > > I would have gone the opposite approach: start using it on something that's not so critical/essential to our day by day work. Which project do you suggest? Right now it is deployed for osmo-mgw. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24703 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic473a5c535dfbdda55751e53fc751ede1adde7e2 Gerrit-Change-Number: 24703 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 17 Jun 2021 12:34:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 13:02:56 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 17 Jun 2021 13:02:56 +0000 Subject: Change in osmo-bsc[master]: hodec2: don't apply AFS bias to same-cell lchans In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24608 ) Change subject: hodec2: don't apply AFS bias to same-cell lchans ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I315f24123ae016887ab91666870ce252e096f90f Gerrit-Change-Number: 24608 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 17 Jun 2021 13:02: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 Jun 17 13:15:31 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 17 Jun 2021 13:15:31 +0000 Subject: Change in osmo-bsc[master]: Introduce VTY command to disable srvcc fast-return on target BTS In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24666 ) Change subject: Introduce VTY command to disable srvcc fast-return on target BTS ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24666 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2ac91b5dffc9b6de60576aabe21a15f24fea38cb Gerrit-Change-Number: 24666 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 17 Jun 2021 13:15: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 Jun 17 13:25:35 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 17 Jun 2021 13:25:35 +0000 Subject: Change in osmo-bsc[master]: Introduce counters to track SRVCC procedures In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24681 ) Change subject: Introduce counters to track SRVCC procedures ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24681 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5c20da56d465dbcf4366130394f7c42635a24cc7 Gerrit-Change-Number: 24681 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 17 Jun 2021 13:25: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 Jun 17 13:42:59 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 17 Jun 2021 13:42:59 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7_vty: allow users to inspect routes also in ASP role 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/libosmo-sccp/+/24705 to look at the new patch set (#2). Change subject: osmo_ss7_vty: allow users to inspect routes also in ASP role ...................................................................... osmo_ss7_vty: allow users to inspect routes also in ASP role When libosmo-sigtran runs in ASP role, then the entire routing table introspection (show) and routing table configuration VTY commands are not present. Editing the routing table manually only makes sense in SG role, but it is still useful to be able to inspect the routing table in ASP and SG mode. Change-Id: Ieaef4f0344b5b77ff5047013e9da1e938004e97c Related: SYS#5392 --- M src/osmo_ss7_vty.c M tests/vty/ss7_asp_test.vty 2 files changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/05/24705/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ieaef4f0344b5b77ff5047013e9da1e938004e97c Gerrit-Change-Number: 24705 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 13:44:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 17 Jun 2021 13:44:58 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7_vty: allow users to inspect routes also in ASP role In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24705 ) Change subject: osmo_ss7_vty: allow users to inspect routes also in ASP role ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ieaef4f0344b5b77ff5047013e9da1e938004e97c Gerrit-Change-Number: 24705 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 17 Jun 2021 13:44:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 13:51:32 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 17 Jun 2021 13:51:32 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7_vty: allow users to inspect routes also in ASP role 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/libosmo-sccp/+/24705 to look at the new patch set (#3). Change subject: osmo_ss7_vty: allow users to inspect routes also in ASP role ...................................................................... osmo_ss7_vty: allow users to inspect routes also in ASP role When libosmo-sigtran runs in ASP role, then the entire routing table introspection (show) and routing table configuration VTY commands are not present. Editing the routing table manually only makes sense in SG role, but it is still useful to be able to inspect the routing table in ASP and SG mode. Change-Id: Ieaef4f0344b5b77ff5047013e9da1e938004e97c Related: SYS#5392 --- M src/osmo_ss7_vty.c M tests/vty/ss7_asp_test.vty 2 files changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/05/24705/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ieaef4f0344b5b77ff5047013e9da1e938004e97c Gerrit-Change-Number: 24705 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 14:04:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 17 Jun 2021 14:04:40 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7_vty: allow users to inspect routes also in ASP role In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24705 ) Change subject: osmo_ss7_vty: allow users to inspect routes also in ASP role ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ieaef4f0344b5b77ff5047013e9da1e938004e97c Gerrit-Change-Number: 24705 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 17 Jun 2021 14:04:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 14:05:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 17 Jun 2021 14:05:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Validate new 'srvcc fast-return' VTY command In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24679 ) Change subject: bsc: Validate new 'srvcc fast-return' VTY command ...................................................................... bsc: Validate new 'srvcc fast-return' VTY command Related: SYS#5337 Change-Id: I227abc3793255e3916eba0dbc1460f46ec9926fe --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn 2 files changed, 61 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 074fa60..d15b2ec 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -5226,11 +5226,15 @@ } private function f_tc_ho_into_this_bsc(charstring id) runs on MSC_ConnHdlr { - var template PDU_ML3_NW_MS exp_rr_rel_tmpl := tr_RRM_RR_RELEASE; + var template PDU_ML3_NW_MS exp_rr_rel_tmpl; var template (omit) BSSMAP_oldToNewBSSIEs oldToNewBSSIEs := omit; if (not istemplatekind(g_pars.last_used_eutran_plmn, "omit")) { oldToNewBSSIEs := f_ts_BSSMAP_oldToNewBSSIEs(ts_BSSMAP_LastUsedEUTRANPLMNId(g_pars.last_used_eutran_plmn)); + } + if (g_pars.exp_fast_return) { exp_rr_rel_tmpl := tr_RRM_RR_RELEASE_CellSelectInd; + } else { + exp_rr_rel_tmpl := tr_RRM_RR_RELEASE; } f_ho_into_this_bsc(id, oldToNewBSSIEs); f_perform_clear(RSL, exp_rr_rel_tmpl); @@ -5278,10 +5282,26 @@ testcase TC_srvcc_eutran_to_geran() runs on test_CT { var TestHdlrParams pars := f_gen_test_hdlr_pars(); pars.last_used_eutran_plmn := '323454'O; + pars.exp_fast_return := true; f_tc_ho_into_this_bsc_main(pars); f_shutdown_helper(); } +/* Same as TC_srvcc_eutran_to_geran, but test explicitly forbiding fast return + on the BTS. As a result, RR Release shouldn't contain the EUTRAN neighbor + list when the channel is released. */ +testcase TC_srvcc_eutran_to_geran_forbid_fast_return() runs on test_CT { + f_init_vty(); + f_vty_allow_srvcc_fast_return(true, 0) + + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + pars.last_used_eutran_plmn := '323454'O; + pars.exp_fast_return := false; + f_tc_ho_into_this_bsc_main(pars); + f_vty_allow_srvcc_fast_return(false, 0); + f_shutdown_helper(); +} + private function f_tc_srvcc_eutran_to_geran_ho_out(charstring id) runs on MSC_ConnHdlr { var template (omit) BSSMAP_oldToNewBSSIEs oldToNewBSSIEs; oldToNewBSSIEs := f_ts_BSSMAP_oldToNewBSSIEs(ts_BSSMAP_LastUsedEUTRANPLMNId(g_pars.last_used_eutran_plmn)); @@ -5289,15 +5309,16 @@ f_ho_out_of_this_bsc(oldToNewBSSIEs); setverdict(pass); } -/* First, HO into BSC from EUTRAN (SRVCC): HO Request contains "Old BSS to New - BSS Information" IE with "Last Used E-UTRAN PLMN Id". - Second, HO to another BSC: HO Required contains "Old BSS to New BSS Information" - IE with "Last Used E-UTRAN PLMN Id" from first step. */ -testcase TC_srvcc_eutran_to_geran_ho_out() runs on test_CT { + +private function f_tc_srvcc_eutran_to_geran_ho_out_main(boolean disable_fast_return) + runs on test_CT { var MSC_ConnHdlr vc_conn; var TestHdlrParams pars := f_gen_test_hdlr_pars(); f_init(1, true); + if (disable_fast_return) { + f_vty_allow_srvcc_fast_return(true, 0); + } f_sleep(1.0); f_ctrs_bsc_and_bts_init(); @@ -5316,9 +5337,26 @@ f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:attempted", 1); f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:completed", 1); f_ctrs_bsc_and_bts_verify(); + + if (disable_fast_return) { + f_vty_allow_srvcc_fast_return(false, 0); + } f_shutdown_helper(); } +/* First, HO into BSC from EUTRAN (SRVCC): HO Request contains "Old BSS to New + BSS Information" IE with "Last Used E-UTRAN PLMN Id". + Second, HO to another BSC: HO Required contains "Old BSS to New BSS Information" + IE with "Last Used E-UTRAN PLMN Id" from first step. */ +testcase TC_srvcc_eutran_to_geran_ho_out() runs on test_CT { + f_tc_srvcc_eutran_to_geran_ho_out_main(false); +} +/* Validate subsequent intra-GSM-HO works the same (with OldBSSToNewBSSInfo IE) + * independently of fast-reture allowed/forbidden in local BTS */ +testcase TC_srvcc_eutran_to_geran_ho_out_forbid_fast_return() runs on test_CT { + f_tc_srvcc_eutran_to_geran_ho_out_main(true); +} + private function f_tc_ho_in_fail_msc_clears(charstring id) runs on MSC_ConnHdlr { var RslChannelNr new_chan_nr := valueof(t_RslChanNr0(1, RSL_CHAN_NR_Bm_ACCH)); f_rslem_register(0, new_chan_nr); @@ -7306,6 +7344,19 @@ f_vty_transceive(BSCVTY, "exit"); } +/* Allow/Forbid Fast Return after SRVCC on a given BTS via VTY */ +private function f_vty_allow_srvcc_fast_return(boolean allow, integer bts_nr) runs on test_CT { + f_vty_enter_cfg_bts(BSCVTY, bts_nr); + if (allow) { + f_vty_transceive(BSCVTY, "srvcc fast-return allow"); + } else { + f_vty_transceive(BSCVTY, "srvcc fast-return forbid"); + } + 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; @@ -8950,6 +9001,8 @@ } execute( TC_srvcc_eutran_to_geran() ); execute( TC_srvcc_eutran_to_geran_ho_out() ); + execute( TC_srvcc_eutran_to_geran_forbid_fast_return() ); + execute( TC_srvcc_eutran_to_geran_ho_out_forbid_fast_return() ); execute( TC_ho_in_fail_msc_clears() ); execute( TC_ho_in_fail_msc_clears_after_ho_detect() ); execute( TC_ho_in_fail_no_detect() ); diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index c29ccd4..a4f1f51 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -590,6 +590,7 @@ TestHdlrParamsMSCPool mscpool, boolean media_mgw_offer_ipv6, OCT3 last_used_eutran_plmn optional, + boolean exp_fast_return, /* RR Release expected to contain CellSelectInd ? */ boolean expect_channel_mode_modify, uint3_t expect_tsc optional }; @@ -628,6 +629,7 @@ }, media_mgw_offer_ipv6 := true, last_used_eutran_plmn := omit, + exp_fast_return := false, expect_channel_mode_modify := false, expect_tsc := omit } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24679 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I227abc3793255e3916eba0dbc1460f46ec9926fe Gerrit-Change-Number: 24679 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 14:05:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 17 Jun 2021 14:05:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Validate new SRVCC counters In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24680 ) Change subject: bsc: Validate new SRVCC counters ...................................................................... bsc: Validate new SRVCC counters Change-Id: Icf2cd00f4024533a1bd8ba52816750a836bc0cb2 --- M bsc/BSC_Tests.ttcn 1 file changed, 7 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 d15b2ec..102a7f2 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -5284,6 +5284,10 @@ pars.last_used_eutran_plmn := '323454'O; pars.exp_fast_return := true; f_tc_ho_into_this_bsc_main(pars); + + f_ctrs_bsc_and_bts_add(0, "srvcc:attempted"); + f_ctrs_bsc_and_bts_add(0, "srvcc:completed"); + f_ctrs_bsc_and_bts_verify(); f_shutdown_helper(); } @@ -5336,6 +5340,9 @@ f_ctrs_bsc_and_bts_add(0, "interbsc_ho_in:completed", 1); f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:attempted", 1); f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:completed", 1); + + f_ctrs_bsc_and_bts_add(0, "srvcc:attempted", 1); + f_ctrs_bsc_and_bts_add(0, "srvcc:completed", 1); f_ctrs_bsc_and_bts_verify(); if (disable_fast_return) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24680 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icf2cd00f4024533a1bd8ba52816750a836bc0cb2 Gerrit-Change-Number: 24680 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 14:05:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 17 Jun 2021 14:05:33 +0000 Subject: Change in osmo-bsc[master]: Introduce VTY command to disable srvcc fast-return on target BTS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24666 ) Change subject: Introduce VTY command to disable srvcc fast-return on target BTS ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24666 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2ac91b5dffc9b6de60576aabe21a15f24fea38cb Gerrit-Change-Number: 24666 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 17 Jun 2021 14:05:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 14:05:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 17 Jun 2021 14:05:37 +0000 Subject: Change in osmo-bsc[master]: Introduce counters to track SRVCC procedures In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24681 ) Change subject: Introduce counters to track SRVCC procedures ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24681 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5c20da56d465dbcf4366130394f7c42635a24cc7 Gerrit-Change-Number: 24681 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 17 Jun 2021 14:05:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 14:05:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 17 Jun 2021 14:05:40 +0000 Subject: Change in osmo-bsc[master]: Introduce VTY command to disable srvcc fast-return on target BTS In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24666 ) Change subject: Introduce VTY command to disable srvcc fast-return on target BTS ...................................................................... Introduce VTY command to disable srvcc fast-return on target BTS Related: SYS#5337 Change-Id: I2ac91b5dffc9b6de60576aabe21a15f24fea38cb --- M include/osmocom/bsc/bsc_subscr_conn_fsm.h M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/osmo_bsc_bssap.c 8 files changed, 47 insertions(+), 13 deletions(-) Approvals: laforge: 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/include/osmocom/bsc/bsc_subscr_conn_fsm.h b/include/osmocom/bsc/bsc_subscr_conn_fsm.h index a681bc4..d7deb06 100644 --- a/include/osmocom/bsc/bsc_subscr_conn_fsm.h +++ b/include/osmocom/bsc/bsc_subscr_conn_fsm.h @@ -93,6 +93,8 @@ static inline const struct osmo_plmn_id *gscon_last_eutran_plmn(const struct gsm_subscriber_connection *conn) { - return (conn && conn->last_eutran_plmn_valid) ? - &conn->last_eutran_plmn : NULL; + return (conn && conn->fast_return.allowed && + conn->fast_return.last_eutran_plmn_valid) ? + &conn->fast_return.last_eutran_plmn : + NULL; } diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 72f83eb..4436ed0 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -539,6 +539,9 @@ /* We will ignore CHAN RQD with access delay greater than rach_max_delay */ uint8_t rach_max_delay; + + /* Is Fast return to LTE allowed during Chan Release in this BTS? */ + bool srvcc_fast_return_allowed; }; #define GSM_BTS_SI2Q(bts, i) (struct gsm48_system_information_type_2quater *)((bts)->si_buf[SYSINFO_TYPE_2quater][i]) diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index d3d5b7d..37e3899 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -388,8 +388,11 @@ struct gsm48_classmark3 cm3; bool cm3_valid; - bool last_eutran_plmn_valid; - struct osmo_plmn_id last_eutran_plmn; + struct { + bool allowed; /* Is fast return to LTE allowed once the conn is released? */ + bool last_eutran_plmn_valid; /* Is information stored in field below available? */ + struct osmo_plmn_id last_eutran_plmn; + } fast_return; }; diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 8b89e1a..c4a7875 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -885,10 +885,11 @@ bsc_subscr_set_imsi(conn->bsub, mi_imsi.imsi); } if (TLVP_PRESENT(tp, GSM0808_IE_LAST_USED_EUTRAN_PLMN_ID)) { - conn->last_eutran_plmn_valid = true; - osmo_plmn_from_bcd(TLVP_VAL(tp, GSM0808_IE_LAST_USED_EUTRAN_PLMN_ID), &conn->last_eutran_plmn); + conn->fast_return.allowed = true; /* Always allowed for CSFB */ + conn->fast_return.last_eutran_plmn_valid = true; + osmo_plmn_from_bcd(TLVP_VAL(tp, GSM0808_IE_LAST_USED_EUTRAN_PLMN_ID), &conn->fast_return.last_eutran_plmn); LOGPFSML(fi, LOGL_DEBUG, "subscr comes from E-UTRAN PLMN %s\n", - osmo_plmn_name(&conn->last_eutran_plmn)); + osmo_plmn_name(&conn->fast_return.last_eutran_plmn)); } gscon_update_id(conn); break; diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 880bd94..707d99c 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1289,6 +1289,9 @@ VTY_NEWLINE); } + if (!bts->srvcc_fast_return_allowed) + vty_out(vty, " srvcc fast-return forbid%s", VTY_NEWLINE); + /* BS/MS Power Control parameters */ config_write_power_ctrl(vty, 2, &bts->bs_power_ctrl); config_write_power_ctrl(vty, 2, &bts->ms_power_ctrl); @@ -5001,6 +5004,20 @@ return CMD_SUCCESS; } +DEFUN_ATTR(cfg_bts_srvcc_fast_return, cfg_bts_srvcc_fast_return_cmd, + "srvcc fast-return (allow|forbid)", + "SRVCC Configuration\n" + "Allow or forbid Fast Return to 4G on Channel Release in this BTS\n" + "Allow\n" + "Forbid\n", + CMD_ATTR_IMMEDIATE) +{ + struct gsm_bts *bts = vty->index; + + bts->srvcc_fast_return_allowed = strcmp(argv[0], "allow") == 0; + return CMD_SUCCESS; +} + #define BS_POWER_CONTROL_CMD \ "bs-power-control" #define MS_POWER_CONTROL_CMD \ @@ -8105,6 +8122,7 @@ install_element(BTS_NODE, &cfg_bts_rep_rxqual_cmd); install_element(BTS_NODE, &cfg_bts_interf_meas_avg_period_cmd); install_element(BTS_NODE, &cfg_bts_interf_meas_level_bounds_cmd); + install_element(BTS_NODE, &cfg_bts_srvcc_fast_return_cmd); neighbor_ident_vty_init(); /* See also handover commands added on bts level from handover_vty.c */ diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index 4b02042..e140565 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -362,6 +362,9 @@ bts->rach_max_delay = 63; + /* SRVCC is enabled by default */ + bts->srvcc_fast_return_allowed = true; + return bts; } diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 8141a5d..08b1dc7 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -721,9 +721,10 @@ } if (req->last_eutran_plmn_valid) { - conn->last_eutran_plmn_valid = true; - memcpy(&conn->last_eutran_plmn, &req->last_eutran_plmn, - sizeof(conn->last_eutran_plmn)); + conn->fast_return.allowed = ho->new_bts->srvcc_fast_return_allowed; + conn->fast_return.last_eutran_plmn_valid = true; + memcpy(&conn->fast_return.last_eutran_plmn, &req->last_eutran_plmn, + sizeof(conn->fast_return.last_eutran_plmn)); } lchan_activate(ho->new_lchan, &info); diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index da0429b..563a957 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -460,7 +460,7 @@ } if (TLVP_PRESENT(&tp, GSM0808_IE_CSFB_INDICATION) && - !conn->last_eutran_plmn_valid) { + !conn->fast_return.last_eutran_plmn_valid) { LOGPFSML(conn->fi, LOGL_NOTICE, "Clear Command: CSFB Indication present, " "but subscriber has no Last Used E-UTRAN PLMN Id! " @@ -1372,10 +1372,13 @@ .current_channel_type_1 = gsm0808_current_channel_type_1(lchan->type), }; - if (conn->last_eutran_plmn_valid) { + /* Even if fast_return is now allowed locally, we may still want to + * signal the Last EUTRAN PLMN Id to the new cell, since destination + * config may differ and allow fast return */ + if (conn->fast_return.last_eutran_plmn_valid) { params.old_bss_to_new_bss_info_present = true; params.old_bss_to_new_bss_info.last_eutran_plmn_id_present = true; - params.old_bss_to_new_bss_info.last_eutran_plmn_id = conn->last_eutran_plmn; + params.old_bss_to_new_bss_info.last_eutran_plmn_id = conn->fast_return.last_eutran_plmn; } switch (lchan->type) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24666 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2ac91b5dffc9b6de60576aabe21a15f24fea38cb Gerrit-Change-Number: 24666 Gerrit-PatchSet: 3 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 Thu Jun 17 14:05:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 17 Jun 2021 14:05:41 +0000 Subject: Change in osmo-bsc[master]: Introduce counters to track SRVCC procedures In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24681 ) Change subject: Introduce counters to track SRVCC procedures ...................................................................... Introduce counters to track SRVCC procedures Related: SYS#5337 Change-Id: I5c20da56d465dbcf4366130394f7c42635a24cc7 --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bts.c M src/osmo-bsc/handover_fsm.c 4 files changed, 53 insertions(+), 0 deletions(-) Approvals: laforge: 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/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 4436ed0..b6980d1 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -137,6 +137,13 @@ BTS_CTR_INTER_BSC_HO_IN_FAILED, BTS_CTR_INTER_BSC_HO_IN_TIMEOUT, BTS_CTR_INTER_BSC_HO_IN_ERROR, + BTS_CTR_SRVCC_ATTEMPTED, + BTS_CTR_SRVCC_COMPLETED, + BTS_CTR_SRVCC_STOPPED, + BTS_CTR_SRVCC_NO_CHANNEL, + BTS_CTR_SRVCC_TIMEOUT, + BTS_CTR_SRVCC_FAILED, + BTS_CTR_SRVCC_ERROR, }; extern const struct rate_ctr_desc bts_ctr_description[]; diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 37e3899..2a73f46 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1116,6 +1116,13 @@ BSC_CTR_INTER_BSC_HO_IN_FAILED, BSC_CTR_INTER_BSC_HO_IN_TIMEOUT, BSC_CTR_INTER_BSC_HO_IN_ERROR, + BSC_CTR_SRVCC_ATTEMPTED, + BSC_CTR_SRVCC_COMPLETED, + BSC_CTR_SRVCC_STOPPED, + BSC_CTR_SRVCC_NO_CHANNEL, + BSC_CTR_SRVCC_TIMEOUT, + BSC_CTR_SRVCC_FAILED, + BSC_CTR_SRVCC_ERROR, BSC_CTR_PAGING_ATTEMPTED, BSC_CTR_PAGING_DETACHED, BSC_CTR_PAGING_RESPONDED, @@ -1181,6 +1188,14 @@ [BSC_CTR_INTER_BSC_HO_IN_ERROR] = {"interbsc_ho_in:error", "Handover from remote BSS failed for other reason"}, + [BSC_CTR_SRVCC_ATTEMPTED] = {"srvcc:attempted", "Intra-BSC SRVCC attempts"}, + [BSC_CTR_SRVCC_COMPLETED] = {"srvcc:completed", "Intra-BSC SRVCC completed"}, + [BSC_CTR_SRVCC_STOPPED] = {"srvcc:stopped", "Connection ended during HO"}, + [BSC_CTR_SRVCC_NO_CHANNEL] = {"srvcc:no_channel", "Failure to allocate lchan for HO"}, + [BSC_CTR_SRVCC_TIMEOUT] = {"srvcc:timeout", "SRVCC timed out"}, + [BSC_CTR_SRVCC_FAILED] = {"srvcc:failed", "Received SRVCC Fail messages"}, + [BSC_CTR_SRVCC_ERROR] = {"srvcc:error", "Re-assignment failed for other reason"}, + [BSC_CTR_PAGING_ATTEMPTED] = {"paging:attempted", "Paging attempts for a subscriber"}, [BSC_CTR_PAGING_DETACHED] = {"paging:detached", "Paging request send failures because no responsible BTS was found"}, [BSC_CTR_PAGING_RESPONDED] = {"paging:responded", "Paging attempts with successful response"}, diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index e140565..b64890f 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -1110,6 +1110,28 @@ [BTS_CTR_INTER_BSC_HO_IN_ERROR] = \ { "interbsc_ho_in:error", "Handover from remote BSS failed for other reason" }, + + [BTS_CTR_SRVCC_ATTEMPTED] = \ + { "srvcc:attempted", + "Intra-BSC handover attempts" }, + [BTS_CTR_SRVCC_COMPLETED] = \ + { "srvcc:completed", + "Intra-BSC handover completed" }, + [BTS_CTR_SRVCC_STOPPED] = \ + { "srvcc:stopped", + "Connection ended during HO" }, + [BTS_CTR_SRVCC_NO_CHANNEL] = \ + { "srvcc:no_channel", + "Failure to allocate lchan for HO" }, + [BTS_CTR_SRVCC_TIMEOUT] = \ + { "srvcc:timeout", + "Handover timed out" }, + [BTS_CTR_SRVCC_FAILED] = \ + { "srvcc:failed", + "Received Handover Fail messages" }, + [BTS_CTR_SRVCC_ERROR] = \ + { "srvcc:error", + "Re-assignment failed for other reason" }, }; const struct rate_ctr_group_desc bts_ctrg_desc = { diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 08b1dc7..cae5167 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -725,6 +725,7 @@ conn->fast_return.last_eutran_plmn_valid = true; memcpy(&conn->fast_return.last_eutran_plmn, &req->last_eutran_plmn, sizeof(conn->fast_return.last_eutran_plmn)); + ho_count(ho->new_bts, CTR_SRVCC_ATTEMPTED); } lchan_activate(ho->new_lchan, &info); @@ -824,6 +825,9 @@ } } +FUNC_RESULT_COUNTER(BSC, SRVCC) +FUNC_RESULT_COUNTER(BTS, SRVCC) + static void send_handover_performed(struct gsm_subscriber_connection *conn) { struct gsm_lchan *lchan = conn->lchan; @@ -977,6 +981,11 @@ ho_count_bsc(result_counter_bsc(ho->scope, result)); ho_count_bts(bts, result_counter_BTS_HANDOVER(result)); ho_count_bts(bts, result_counter_bts(ho->scope, result)); + if (ho->scope & HO_INTER_BSC_IN && conn->fast_return.last_eutran_plmn_valid) { + /* From outside local BSC and with Last EUTRAN PLMN Id => SRVCC */ + ho_count_bsc(result_counter_BSC_SRVCC(result)); + ho_count_bts(bts, result_counter_BTS_SRVCC(result)); + } LOG_HO(conn, LOGL_INFO, "Result: %s\n", handover_result_name(result)); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24681 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5c20da56d465dbcf4366130394f7c42635a24cc7 Gerrit-Change-Number: 24681 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 Thu Jun 17 14:06:30 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 17 Jun 2021 14:06:30 +0000 Subject: Change in docker-playground[master]: Don't run "dpkg --add-architecture i386" on ARM In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24708 ) Change subject: Don't run "dpkg --add-architecture i386" on ARM ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24708 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8d890b7ebc7b99a4c79779709d1e56e0a5a6d4b9 Gerrit-Change-Number: 24708 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 17 Jun 2021 14:06: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 Thu Jun 17 14:06:32 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 17 Jun 2021 14:06:32 +0000 Subject: Change in docker-playground[master]: Don't run "dpkg --add-architecture i386" on ARM In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24708 ) Change subject: Don't run "dpkg --add-architecture i386" on ARM ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24708 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8d890b7ebc7b99a4c79779709d1e56e0a5a6d4b9 Gerrit-Change-Number: 24708 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 17 Jun 2021 14:06:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 14:06:35 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 17 Jun 2021 14:06:35 +0000 Subject: Change in docker-playground[master]: Don't run "dpkg --add-architecture i386" on ARM In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24708 ) Change subject: Don't run "dpkg --add-architecture i386" on ARM ...................................................................... Don't run "dpkg --add-architecture i386" on ARM Building debian-stretch-jenkins on ARM currently results in a few libraries getting installed for the i386 architecture. This results in the following build failures for master-osmo-trx and master-osmo-pcu: checking for LIBGNUTLS... no configure: error: Package requirements (gnutls >= 2.12.0) were not met: No package 'gnutls' found It is weird that we are only seeing this now, the dpkg-line has been in debian-stretch-jenkins since the Dockerfile was added to osmo-ci four years ago in Icb0406f96b0c18e77be51ad8317c2668fb23a45e. I'm also wondering why it was added in the first place, and if we need it anymore. In any case, running this on anything but x86_64 does not make sense, so disable it there. Change-Id: I8d890b7ebc7b99a4c79779709d1e56e0a5a6d4b9 --- M debian-buster-jenkins/Dockerfile M debian-jessie-buildslave/Dockerfile M debian-stretch-jenkins/Dockerfile 3 files changed, 3 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Verified diff --git a/debian-buster-jenkins/Dockerfile b/debian-buster-jenkins/Dockerfile index ff69d35..2e3855b 100644 --- a/debian-buster-jenkins/Dockerfile +++ b/debian-buster-jenkins/Dockerfile @@ -14,7 +14,7 @@ # Install apt dependencies (keep in alphabetic order) RUN \ - dpkg --add-architecture i386 && \ + [ "$(arch)" = "x86_64" ] && dpkg --add-architecture i386; \ DEBIAN_FRONTEND=noninteractive apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get upgrade -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ diff --git a/debian-jessie-buildslave/Dockerfile b/debian-jessie-buildslave/Dockerfile index 158e19e..98d70a9 100644 --- a/debian-jessie-buildslave/Dockerfile +++ b/debian-jessie-buildslave/Dockerfile @@ -3,7 +3,7 @@ MAINTAINER Harald Welte -RUN dpkg --add-architecture i386 && \ +RUN [ "$(arch)" = "x86_64" ] && dpkg --add-architecture i386; \ apt-get update && \ apt-get install -y --no-install-recommends \ asciidoc \ diff --git a/debian-stretch-jenkins/Dockerfile b/debian-stretch-jenkins/Dockerfile index d794228..b45c1d3 100644 --- a/debian-stretch-jenkins/Dockerfile +++ b/debian-stretch-jenkins/Dockerfile @@ -14,7 +14,7 @@ # Install apt dependencies (keep in alphabetic order) RUN \ - dpkg --add-architecture i386 && \ + [ "$(arch)" = "x86_64" ] && dpkg --add-architecture i386; \ DEBIAN_FRONTEND=noninteractive apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get upgrade -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24708 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8d890b7ebc7b99a4c79779709d1e56e0a5a6d4b9 Gerrit-Change-Number: 24708 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 14:07:16 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 17 Jun 2021 14:07:16 +0000 Subject: Change in osmo-ci[master]: lint/checkpatch: import from Linux kernel In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24699 ) Change subject: lint/checkpatch: import from Linux kernel ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24699 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I58571a0409e79d88d37e8328f41a540a58cfb198 Gerrit-Change-Number: 24699 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 17 Jun 2021 14:07:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 14:07:24 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 17 Jun 2021 14:07:24 +0000 Subject: Change in osmo-ci[master]: lint/checkpatch: import from Linux kernel In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24699 ) Change subject: lint/checkpatch: import from Linux kernel ...................................................................... lint/checkpatch: import from Linux kernel Prepare to run checkpatch on patches submitted to gerrit to point out various linting errors automatically, such as { after functions not placed on a new line, or common spelling errors. Import version from 7e6cdd7f ("checkpatch: improve ALLOC_ARRAY_ARGS test") of linux.git. Related: OS#5087 Related: https://osmocom.org/projects/cellular-infrastructure/wiki/Linting Change-Id: I58571a0409e79d88d37e8328f41a540a58cfb198 --- A lint/checkpatch/checkpatch.pl A lint/checkpatch/const_structs.checkpatch A lint/checkpatch/spelling.txt 3 files changed, 9,105 insertions(+), 0 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, but someone else must approve osmith: Looks good to me, approved; Verified -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24699 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I58571a0409e79d88d37e8328f41a540a58cfb198 Gerrit-Change-Number: 24699 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge 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 Thu Jun 17 14:07:37 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 17 Jun 2021 14:07:37 +0000 Subject: Change in osmo-ci[master]: lint/checkpatch: add --exclude argument In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24700 ) Change subject: lint/checkpatch: add --exclude argument ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24700 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ia980814895249f839873c5002f0d21c0e59ee01d Gerrit-Change-Number: 24700 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 17 Jun 2021 14:07:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 14:07:43 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 17 Jun 2021 14:07:43 +0000 Subject: Change in osmo-ci[master]: lint/checkpatch: add --exclude argument In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24700 ) Change subject: lint/checkpatch: add --exclude argument ...................................................................... lint/checkpatch: add --exclude argument Apply patch from https://review.coreboot.org/c/coreboot/+/18568/, so we can exclude specific directories. Related: OS#5087 Change-Id: Ia980814895249f839873c5002f0d21c0e59ee01d --- M lint/checkpatch/checkpatch.pl 1 file changed, 13 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved osmith: Verified diff --git a/lint/checkpatch/checkpatch.pl b/lint/checkpatch/checkpatch.pl index 23697a6..2cd5402 100755 --- a/lint/checkpatch/checkpatch.pl +++ b/lint/checkpatch/checkpatch.pl @@ -54,6 +54,7 @@ my @use = (); my %ignore_type = (); my @ignore = (); +my @exclude = (); my $help = 0; my $configuration_file = ".checkpatch.conf"; my $max_line_length = 100; @@ -104,6 +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 --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 @@ -301,6 +303,7 @@ 'subjective!' => \$check, 'strict!' => \$check, 'ignore=s' => \@ignore, + 'exclude=s' => \@exclude, 'types=s' => \@use, 'show-types!' => \$show_types, 'list-types!' => \$list_types, @@ -2806,6 +2809,16 @@ $found_file = 1; } + my $skipme = 0; + foreach (@exclude) { + if ($realfile =~ m@^(?:$_/)@) { + $skipme = 1; + } + } + if ($skipme) { + next; + } + #make up the handle for any error we report on this line if ($showfile) { $prefix = "$realfile:$realline: " -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24700 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ia980814895249f839873c5002f0d21c0e59ee01d Gerrit-Change-Number: 24700 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 14:07:55 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 17 Jun 2021 14:07:55 +0000 Subject: Change in osmo-ci[master]: lint/checkpatch: add Osmocom specific wrapper In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24701 ) Change subject: lint/checkpatch: add Osmocom specific wrapper ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24701 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0ec6a3bc57a4d31c821fa83370f05c6d4ac2a5b0 Gerrit-Change-Number: 24701 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 17 Jun 2021 14:07:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 14:07:59 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 17 Jun 2021 14:07:59 +0000 Subject: Change in osmo-ci[master]: lint/checkpatch: add Osmocom specific wrapper In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24701 ) Change subject: lint/checkpatch: add Osmocom specific wrapper ...................................................................... lint/checkpatch: add Osmocom specific wrapper Related: OS#5087 Change-Id: I0ec6a3bc57a4d31c821fa83370f05c6d4ac2a5b0 --- A lint/checkpatch/checkpatch_osmo.sh 1 file changed, 46 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve osmith: Looks good to me, approved; Verified diff --git a/lint/checkpatch/checkpatch_osmo.sh b/lint/checkpatch/checkpatch_osmo.sh new file mode 100755 index 0000000..0a5c65f --- /dev/null +++ b/lint/checkpatch/checkpatch_osmo.sh @@ -0,0 +1,46 @@ +#!/bin/sh -e +SCRIPT_DIR="$(dirname "$(realpath "$0")")" + +# Excluded paths: +# * 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))') +# * AVOID_EXTERNS: we do use externs +# * BLOCK_COMMENT_STYLE: we don't use a trailing */ on a separate line +# * 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/ +# * FILE_PATH_CHANGES: we don't use a MAINTAINERS file +# * FUNCTION_WITHOUT_ARGS: not followed: warns about func() instead of func(void) +# * 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_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 +# * SPLIT_STRING: we do split long messages over multiple lines +# * STRING_FRAGMENTS: sometimes used intentionally to improve readability + +$SCRIPT_DIR/checkpatch.pl \ + --exclude lint/checkpatch \ + --ignore ASSIGN_IN_IF \ + --ignore AVOID_EXTERNS \ + --ignore BLOCK_COMMENT_STYLE \ + --ignore CONSTANT_COMPARISON \ + --ignore EMBEDDED_FUNCTION_NAME \ + --ignore EXECUTE_PERMISSIONS \ + --ignore FILE_PATH_CHANGES \ + --ignore FUNCTION_WITHOUT_ARGS \ + --ignore GLOBAL_INITIALISERS \ + --ignore IF_0 \ + --ignore INITIALISED_STATIC \ + --ignore LINE_SPACING \ + --ignore REPEATED_WORD \ + --ignore SPDX_LICENSE_TAG \ + --ignore SPLIT_STRING \ + --ignore STRING_FRAGMENTS \ + --max-line-length 120 \ + --no-signoff \ + --no-tree \ + "$@" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24701 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0ec6a3bc57a4d31c821fa83370f05c6d4ac2a5b0 Gerrit-Change-Number: 24701 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 14:08:09 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 17 Jun 2021 14:08:09 +0000 Subject: Change in osmo-ci[master]: lint: add helper scripts In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24702 ) Change subject: lint: add helper scripts ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24702 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1d02c169b05fb05b87209a444a5ddb86efc99d04 Gerrit-Change-Number: 24702 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 17 Jun 2021 14: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 Thu Jun 17 14:08:11 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 17 Jun 2021 14:08:11 +0000 Subject: Change in osmo-ci[master]: lint: add helper scripts In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24702 ) Change subject: lint: add helper scripts ...................................................................... lint: add helper scripts Add lint_diff.sh, which runs checkpatch on git diff to either HEAD~1 (if the tree is clean) or HEAD. This can be used as pre-commit hook, and it's what jenkins will run. Add lint_all.sh, which runs checkpatch on a whole repository to test if the rules we are checking for make sense in Osmocom context. Related: OS#5087 Change-Id: I1d02c169b05fb05b87209a444a5ddb86efc99d04 --- A lint/lint_all.sh A lint/lint_diff.sh 2 files changed, 81 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve osmith: Looks good to me, approved; Verified diff --git a/lint/lint_all.sh b/lint/lint_all.sh new file mode 100755 index 0000000..1c25578 --- /dev/null +++ b/lint/lint_all.sh @@ -0,0 +1,43 @@ +#!/bin/sh -e +# Script to test if linting is sane by running it on a whole repository +GIT_DIR="$(git rev-parse --show-toplevel 2>/dev/null || true)" +SCRIPT_DIR="$(dirname "$(realpath "$0")")" +OUT=/tmp/lint_all_out +TYPES="$1" + +echo "Running find in $GIT_DIR" +files=$(find \ + "$GIT_DIR" \ + -name '*.c' \ + -o -name '*.h' \ + -o -name '*.cpp' \ + -o -name '*.hpp') + +if [ -n "$TYPES" ]; then + echo "Running checkpath with --types="$TYPES" in $GIT_DIR" + + "$SCRIPT_DIR"/checkpatch/checkpatch.pl \ + -f \ + --color=always \ + --no-summary \ + --no-tree \ + --show-types \ + --terse \ + --types="$TYPES" \ + $files \ + | tee "$OUT" + +else + echo "Running checkpath in $GIT_DIR" + + "$SCRIPT_DIR"/checkpatch/checkpatch_osmo.sh \ + -f \ + --color=always \ + --no-summary \ + --show-types \ + --terse \ + $files \ + | tee "$OUT" +fi + +wc -l "$OUT" diff --git a/lint/lint_diff.sh b/lint/lint_diff.sh new file mode 100755 index 0000000..f8daab7 --- /dev/null +++ b/lint/lint_diff.sh @@ -0,0 +1,38 @@ +#!/bin/sh -e +# Jenkins runs this script on submitted gerrit patches. Can be used as git pre-commit hook. +COMMIT="$1" +GIT_DIR="$(git rev-parse --show-toplevel 2>/dev/null || true)" +SCRIPT_DIR="$(dirname "$(realpath "$0")")" + +if [ -z "$GIT_DIR" ]; then + echo "ERROR: path is not a git repository: $PWD" + exit 1 +fi + +if [ -z "$COMMIT" ]; then + # Clean worktree: diff last commit against the one before + COMMIT="HEAD~1" + + if [ -n "$(git status --porcelain)" ]; then + # Dirty worktree: diff uncommitted changes against last commit + COMMIT="HEAD" + fi +fi + +echo "Running checkpatch on 'git diff $COMMIT'..." +echo +if git diff -U0 "$COMMIT" | "$SCRIPT_DIR/checkpatch/checkpatch_osmo.sh" - \ + --color=always \ + --mailback \ + --show-types \ + --showfile \ + --terse +then + exit 0 +fi + +echo +echo "Please fix the linting errors above. More information:" +echo "https://osmocom.org/projects/cellular-infrastructure/wiki/Linting" +echo +exit 1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24702 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1d02c169b05fb05b87209a444a5ddb86efc99d04 Gerrit-Change-Number: 24702 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 15:29:52 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 17 Jun 2021 15:29:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: release the channel in TC_ms_pwr_ctrl_{constant, pf_ewma} References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24709 ) Change subject: BTS: release the channel in TC_ms_pwr_ctrl_{constant,pf_ewma} ...................................................................... BTS: release the channel in TC_ms_pwr_ctrl_{constant,pf_ewma} Since recently, we do have NOPE indications in the virtual Um environment. Somehow this broke test cases for the MS power control. Releasing the channel makes everything work again. Change-Id: I6a204bbecfe116aa302eae28ff24d6bb899fa8b7 Related: SYS#5313, OS#1569, OS#1866 --- M bts/BTS_Tests.ttcn 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/09/24709/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index df96570..c9553a3 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -7194,6 +7194,10 @@ num_blocks, " were not handled"); } } + + /* Release the channel */ + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); } testcase TC_ms_pwr_ctrl_constant() runs on test_CT { var ConnHdlr vc_conn; @@ -7251,6 +7255,10 @@ num_blocks, " were not handled"); } } + + /* Release the channel */ + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); } testcase TC_ms_pwr_ctrl_pf_ewma() runs on test_CT { var ConnHdlr vc_conn; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24709 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6a204bbecfe116aa302eae28ff24d6bb899fa8b7 Gerrit-Change-Number: 24709 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 Jun 17 15:29:52 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 17 Jun 2021 15:29:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: remove deprecated 'alpha 0' from osmo-pcu.cfg References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24710 ) Change subject: PCU: remove deprecated 'alpha 0' from osmo-pcu.cfg ...................................................................... PCU: remove deprecated 'alpha 0' from osmo-pcu.cfg Change-Id: I38d2d141a0743cc4bb61f62a98d7cc5c1384cff5 --- M pcu/osmo-pcu.cfg 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/10/24710/1 diff --git a/pcu/osmo-pcu.cfg b/pcu/osmo-pcu.cfg index 2c2d692..31f8cda 100644 --- a/pcu/osmo-pcu.cfg +++ b/pcu/osmo-pcu.cfg @@ -29,7 +29,6 @@ flow-control-interval 10 cs 2 alloc-algorithm dynamic - alpha 0 gamma 0 pcu-socket /tmp/pcu_bts neighbor resolution 127.0.0.1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24710 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I38d2d141a0743cc4bb61f62a98d7cc5c1384cff5 Gerrit-Change-Number: 24710 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 Jun 17 15:35:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 17 Jun 2021 15:35:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: release the channel in TC_ms_pwr_ctrl_{constant, pf_ewma} In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24709 ) Change subject: BTS: release the channel in TC_ms_pwr_ctrl_{constant,pf_ewma} ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24709 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6a204bbecfe116aa302eae28ff24d6bb899fa8b7 Gerrit-Change-Number: 24709 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 17 Jun 2021 15: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 Thu Jun 17 15:50:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 17 Jun 2021 15:50:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: remove deprecated 'alpha 0' from osmo-pcu.cfg In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24710 ) Change subject: PCU: remove deprecated 'alpha 0' from osmo-pcu.cfg ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24710 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I38d2d141a0743cc4bb61f62a98d7cc5c1384cff5 Gerrit-Change-Number: 24710 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 17 Jun 2021 15:50:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 17 16:47:52 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 17 Jun 2021 16:47:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: OML: Add types/templates for GetAttributesResponse In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24655 ) Change subject: OML: Add types/templates for GetAttributesResponse ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24655 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iec7198cc164b6e33e708d59c3f214efb3e1ac33b Gerrit-Change-Number: 24655 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 17 Jun 2021 16:47: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 Jun 17 16:56:05 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 17 Jun 2021 16:56:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Support passing PCUIF messages over IPA multiplex In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24656 ) Change subject: bts: Support passing PCUIF messages over IPA multiplex ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24656 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3cd0988cb654f1c5816d1c4717255a5e802d7925 Gerrit-Change-Number: 24656 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 17 Jun 2021 16:56: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 Jun 17 17:00:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 17 Jun 2021 17:00:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Support passing PCUIF messages over IPA multiplex In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24656 ) Change subject: bts: Support passing PCUIF messages over IPA multiplex ...................................................................... Patch Set 1: Marking as WIP since this one needs to be adapter once I add the "transparent container" type. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24656 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3cd0988cb654f1c5816d1c4717255a5e802d7925 Gerrit-Change-Number: 24656 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 17 Jun 2021 17:00: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 Thu Jun 17 17:02:41 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 17 Jun 2021 17:02:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Test forwarding PCUIF<->IPA/OSMO/PCU In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24657 ) Change subject: bts: Test forwarding PCUIF<->IPA/OSMO/PCU ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24657 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3012ce612f78e661fd46b608a0bf67e038e136f Gerrit-Change-Number: 24657 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 17 Jun 2021 17:02: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 Jun 17 19:06:55 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 17 Jun 2021 19:06:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: OML: Add types/templates for GetAttributesResponse In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24655 ) Change subject: OML: Add types/templates for GetAttributesResponse ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24655/1/library/AbisOML_Types.ttcn File library/AbisOML_Types.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24655/1/library/AbisOML_Types.ttcn at 1140 PS1, Line 1140: Attribute Responses Attribute[s] Response[] https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24655/1/library/AbisOML_Types.ttcn at 1142 PS1, Line 1142: template Weird alignment. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24655 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iec7198cc164b6e33e708d59c3f214efb3e1ac33b Gerrit-Change-Number: 24655 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 17 Jun 2021 19:06: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 Thu Jun 17 20:29:58 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Thu, 17 Jun 2021 20:29:58 +0000 Subject: Change in osmo-trx[master]: vty: printing fn offset should be signed In-Reply-To: References: Message-ID: Hoernchen has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/24696 ) Change subject: vty: printing fn offset should be signed ...................................................................... vty: printing fn offset should be signed ...because it is usually negative Change-Id: I8297dbb0fec25720e73d59fd8e38834029154405 --- M CommonLibs/trx_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/CommonLibs/trx_vty.c b/CommonLibs/trx_vty.c index 30f55c8..2b0ba71 100644 --- a/CommonLibs/trx_vty.c +++ b/CommonLibs/trx_vty.c @@ -639,7 +639,7 @@ if (trx->cfg.stack_size != 0) vty_out(vty, " stack-size %u%s", trx->cfg.stack_size, VTY_NEWLINE); if (trx->cfg.ul_fn_offset != 0) - vty_out(vty, " ul-fn-offset %u%s", trx->cfg.ul_fn_offset, VTY_NEWLINE); + vty_out(vty, " ul-fn-offset %d%s", trx->cfg.ul_fn_offset, VTY_NEWLINE); trx_rate_ctr_threshold_write_config(vty, " "); for (i = 0; i < trx->cfg.num_chans; i++) { -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24696 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I8297dbb0fec25720e73d59fd8e38834029154405 Gerrit-Change-Number: 24696 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: 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 Thu Jun 17 22:34:12 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 17 Jun 2021 22:34:12 +0000 Subject: Change in osmo-bts[master]: osmo-bts-{trx, virtual}: get rid of dummy tx_idle_fn() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24711 ) Change subject: osmo-bts-{trx,virtual}: get rid of dummy tx_idle_fn() ...................................................................... osmo-bts-{trx,virtual}: get rid of dummy tx_idle_fn() This logical channel handler does nothing more than just logging. Change-Id: I438705f8dd902193e6c7b499d8ee55c56b6a1c2e --- M include/osmo-bts/scheduler_backend.h M src/common/scheduler.c M src/osmo-bts-trx/scheduler_trx.c M src/osmo-bts-virtual/scheduler_virtbts.c 4 files changed, 0 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/11/24711/1 diff --git a/include/osmo-bts/scheduler_backend.h b/include/osmo-bts/scheduler_backend.h index c54591e..50ba822 100644 --- a/include/osmo-bts/scheduler_backend.h +++ b/include/osmo-bts/scheduler_backend.h @@ -53,7 +53,6 @@ int16_t ta_offs_256bits, uint16_t ber10k, float rssi, uint8_t is_sub); -int tx_idle_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br); int tx_fcch_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br); int tx_sch_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br); int tx_data_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br); diff --git a/src/common/scheduler.c b/src/common/scheduler.c index a010b39..b4f2fa8 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -148,7 +148,6 @@ /* On C0, BTS needs to ensure discontinuous burst transmission. * Therefore we need to send dummy bursts on IDLE slots. */ .flags = TRX_CHAN_FLAG_AUTO_ACTIVE, - .dl_fn = tx_idle_fn, }, [TRXC_FCCH] = { .name = "FCCH", /* 3GPP TS 05.02, section 3.3.2.1 */ diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 0a2052c..97c5ff3 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -53,13 +53,6 @@ #define SCHED_FH_PARAMS_VALS(ts) \ (ts)->hopping.hsn, (ts)->hopping.maio, (ts)->hopping.arfcn_num -/* an IDLE burst returns nothing. on C0 it is replaced by dummy burst */ -int tx_idle_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) -{ - LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "Transmitting IDLE\n"); - return 0; -} - static void ts_report_interf_meas(const struct gsm_bts_trx_ts *ts) { const struct l1sched_ts *l1ts = ts->priv; diff --git a/src/osmo-bts-virtual/scheduler_virtbts.c b/src/osmo-bts-virtual/scheduler_virtbts.c index 4beb966..9d2adfc 100644 --- a/src/osmo-bts-virtual/scheduler_virtbts.c +++ b/src/osmo-bts-virtual/scheduler_virtbts.c @@ -177,12 +177,6 @@ * TX on downlink */ -/* an IDLE burst returns nothing. on C0 it is replaced by dummy burst */ -int tx_idle_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) -{ - return 0; -} - int tx_fcch_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24711 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I438705f8dd902193e6c7b499d8ee55c56b6a1c2e Gerrit-Change-Number: 24711 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 Jun 17 22:34:12 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 17 Jun 2021 22:34:12 +0000 Subject: Change in osmo-bts[master]: scheduler: unset TRX_CHAN_FLAG_AUTO_ACTIVE for TRXC_IDLE References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24712 ) Change subject: scheduler: unset TRX_CHAN_FLAG_AUTO_ACTIVE for TRXC_IDLE ...................................................................... scheduler: unset TRX_CHAN_FLAG_AUTO_ACTIVE for TRXC_IDLE Neither we expect any Uplink bursts on IDLE channels, nor we need to send any Downlink bursts. Automatic activation of TRXC_IDLE channels does not make sense. Change-Id: Ifade0eab0605154196322ff20b1b3a44495f8a2e --- M src/common/scheduler.c 1 file changed, 0 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/12/24712/1 diff --git a/src/common/scheduler.c b/src/common/scheduler.c index b4f2fa8..9796506 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -144,10 +144,6 @@ [TRXC_IDLE] = { .name = "IDLE", .desc = "Idle channel", - - /* On C0, BTS needs to ensure discontinuous burst transmission. - * Therefore we need to send dummy bursts on IDLE slots. */ - .flags = TRX_CHAN_FLAG_AUTO_ACTIVE, }, [TRXC_FCCH] = { .name = "FCCH", /* 3GPP TS 05.02, section 3.3.2.1 */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24712 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ifade0eab0605154196322ff20b1b3a44495f8a2e Gerrit-Change-Number: 24712 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 Jun 17 22:34:13 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 17 Jun 2021 22:34:13 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix copy-pasted comment: s/sysmoBTS/osmo-bts-trx/ References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24713 ) Change subject: osmo-bts-trx: fix copy-pasted comment: s/sysmoBTS/osmo-bts-trx/ ...................................................................... osmo-bts-trx: fix copy-pasted comment: s/sysmoBTS/osmo-bts-trx/ Change-Id: If796a8d55f1ad0642e5a81689161c7e7b70f4b5e --- M src/osmo-bts-trx/trx_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/13/24713/1 diff --git a/src/osmo-bts-trx/trx_vty.c b/src/osmo-bts-trx/trx_vty.c index d9d17d0..eebcf25 100644 --- a/src/osmo-bts-trx/trx_vty.c +++ b/src/osmo-bts-trx/trx_vty.c @@ -1,4 +1,4 @@ -/* VTY interface for sysmoBTS */ +/* VTY interface for osmo-bts-trx */ /* (C) 2013 by Andreas Eversberg * -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24713 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If796a8d55f1ad0642e5a81689161c7e7b70f4b5e Gerrit-Change-Number: 24713 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 Jun 17 22:34:13 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 17 Jun 2021 22:34:13 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: print timeslot brief info in 'show transceiver' References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24714 ) Change subject: osmo-bts-trx: print timeslot brief info in 'show transceiver' ...................................................................... osmo-bts-trx: print timeslot brief info in 'show transceiver' Change-Id: Ibe624e4b801cae2dc00feb99441b7d606005b846 --- M src/osmo-bts-trx/trx_vty.c 1 file changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/14/24714/1 diff --git a/src/osmo-bts-trx/trx_vty.c b/src/osmo-bts-trx/trx_vty.c index eebcf25..fabe9c0 100644 --- a/src/osmo-bts-trx/trx_vty.c +++ b/src/osmo-bts-trx/trx_vty.c @@ -57,6 +57,7 @@ { struct gsm_bts_trx *trx; struct trx_l1h *l1h; + unsigned int tn; llist_for_each_entry(trx, &g_bts->trx_list, list) { struct phy_instance *pinst = trx_phy_instance(trx); @@ -87,6 +88,19 @@ VTY_NEWLINE); else vty_out(vty, " bisc : undefined%s", VTY_NEWLINE); + + for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { + const struct gsm_bts_trx_ts *ts = &trx->ts[tn]; + const struct l1sched_ts *l1ts = ts->priv; + const struct trx_sched_multiframe *mf; + + mf = &trx_sched_multiframes[l1ts->mf_index]; + + vty_out(vty, " timeslot #%u (%s)%s", + tn, mf->name, VTY_NEWLINE); + vty_out(vty, " pending DL prims : %u%s", + llist_count(&l1ts->dl_prims), VTY_NEWLINE); + } } return CMD_SUCCESS; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24714 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ibe624e4b801cae2dc00feb99441b7d606005b846 Gerrit-Change-Number: 24714 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 Jun 17 22:34:13 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 17 Jun 2021 22:34:13 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: measure interference levels on TRXC_IDLE References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24715 ) Change subject: osmo-bts-trx: measure interference levels on TRXC_IDLE ...................................................................... osmo-bts-trx: measure interference levels on TRXC_IDLE Change-Id: Ic3030dba5eb223177298aa4e43559a93dc3d1392 Related: SYS#5313, OS#1569 --- M src/common/scheduler.c M src/osmo-bts-trx/trx_vty.c 2 files changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/15/24715/1 diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 9796506..3dd7693 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -1491,8 +1491,8 @@ /* check if channel is active */ if (!TRX_CHAN_IS_ACTIVE(l1cs, bi->chan)) { - /* handle noise measurements */ - if (TRX_CHAN_IS_DEDIC(bi->chan)) + /* handle noise measurements on dedicated and idle channels */ + if (TRX_CHAN_IS_DEDIC(bi->chan) || bi->chan == TRXC_IDLE) trx_sched_noise_meas(l1cs, bi); return 0; } diff --git a/src/osmo-bts-trx/trx_vty.c b/src/osmo-bts-trx/trx_vty.c index fabe9c0..62fab33 100644 --- a/src/osmo-bts-trx/trx_vty.c +++ b/src/osmo-bts-trx/trx_vty.c @@ -100,6 +100,9 @@ tn, mf->name, VTY_NEWLINE); vty_out(vty, " pending DL prims : %u%s", llist_count(&l1ts->dl_prims), VTY_NEWLINE); + vty_out(vty, " interference : %ddBm%s", + l1ts->chan_state[TRXC_IDLE].meas.interf_avg, + VTY_NEWLINE); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24715 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic3030dba5eb223177298aa4e43559a93dc3d1392 Gerrit-Change-Number: 24715 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 Jun 18 09:40:27 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 18 Jun 2021 09:40:27 +0000 Subject: Change in osmo-bsc[master]: hodec2: don't apply AFS bias to same-cell lchans In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24608 ) Change subject: hodec2: don't apply AFS bias to same-cell lchans ...................................................................... hodec2: don't apply AFS bias to same-cell lchans The AFS bias actually should not apply to local cell lchans, because it makes no sense for intra-cell considerations: - same-cell lchans obviously have identical rxlev; - any nonzero AFS bias thus always raises the TCH/F above the TCH/H; - for intra-cell reassignment, the power budget hysteresis is, naturally, not applied. So, before this patch, setting AFS bias even to only 1 would unconditionally move all (AMR) TCH/H lchans over to free TCH/F lchans in the same cell. Recent patch Id40d1cf8b58410c7d4eb87407fe8b8106e352438 implements explicit upgrade from TCH/H to TCH/F *if* the TCH/H is experiencing low rxqual or low rxlev, as a proper replacement for intra-cell AFS bias. Related: SYS#5198 SYS#5365 Change-Id: I315f24123ae016887ab91666870ce252e096f90f --- M src/osmo-bsc/handover_decision_2.c M tests/handover/test_amr_tch_h_and_afs_bias.ho_vty 2 files changed, 9 insertions(+), 12 deletions(-) Approvals: laforge: Looks good to me, approved dexter: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 9d4f1e9..d4ebc41 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -1295,9 +1295,10 @@ continue; better = clist[i].target.rxlev - clist[i].current.rxlev; - /* Apply AFS bias? */ + /* Apply AFS bias? Skip AFS bias for all intra-cell candidates. */ afs_bias = 0; - if (ahs && (clist[i].requirements & REQUIREMENT_B_TCHF)) + if (clist[i].target.bts != bts + && ahs && (clist[i].requirements & REQUIREMENT_B_TCHF)) afs_bias = ho_get_hodec2_afs_bias_rxlev(clist[i].target.bts->ho); better += afs_bias; if (better > best_better_db) { @@ -1328,9 +1329,10 @@ continue; better = clist[i].target.rxlev - clist[i].current.rxlev; - /* Apply AFS bias? */ + /* Apply AFS bias? Skip AFS bias for all intra-cell candidates. */ afs_bias = 0; - if (ahs && (clist[i].requirements & REQUIREMENT_C_TCHF)) + if (clist[i].target.bts != bts + && ahs && (clist[i].requirements & REQUIREMENT_C_TCHF)) afs_bias = ho_get_hodec2_afs_bias_rxlev(clist[i].target.bts->ho); better += afs_bias; if (better > best_better_db) { @@ -1365,11 +1367,11 @@ continue; better = clist[i].target.rxlev - clist[i].current.rxlev; - /* Apply AFS bias? + /* Apply AFS bias? Skip AFS bias for all intra-cell candidates. * (never to remote-BSS neighbors, since we will not change the lchan type for those.) */ afs_bias = 0; if (ahs && (clist[i].requirements & REQUIREMENT_A_TCHF) - && clist[i].target.bts) + && clist[i].target.bts && clist[i].target.bts != bts) afs_bias = ho_get_hodec2_afs_bias_rxlev(clist[i].target.bts->ho); better += afs_bias; if (better > best_better_db diff --git a/tests/handover/test_amr_tch_h_and_afs_bias.ho_vty b/tests/handover/test_amr_tch_h_and_afs_bias.ho_vty index 127727f..462cb0d 100644 --- a/tests/handover/test_amr_tch_h_and_afs_bias.ho_vty +++ b/tests/handover/test_amr_tch_h_and_afs_bias.ho_vty @@ -10,9 +10,4 @@ set-ts-use trx 0 0 states * - - - TCH/H- - - * meas-rep lchan 0 0 4 0 rxlev 50 rxqual 1 ta 0 # The TCH/H should stay where it is, because its levels are fine. -#expect-no-chan -# FAIL: osmo-bsc applies AFS bias to the intra-cell move from TCH/H to TCH/F. -# but intra-cell re-assignment does not employ a bower budget hysteresis. -# So in the presence of afs-bias, all TCH/H *always* move over to TCH/F. -# That should only happen when rxlev or rxqual ratings are too low. -expect-as from lchan 0 0 4 0 to lchan 0 0 1 0 +expect-no-chan -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I315f24123ae016887ab91666870ce252e096f90f Gerrit-Change-Number: 24608 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter 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 Jun 18 09:48:10 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 18 Jun 2021 09:48:10 +0000 Subject: Change in libosmocore[master]: osmo_select_shutdown_request(): allow finishing pending writes on SIG... In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24544 ) Change subject: osmo_select_shutdown_request(): allow finishing pending writes on SIGTERM ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24544/3/src/select.c File src/select.c: https://gerrit.osmocom.org/c/libosmocore/+/24544/3/src/select.c at 387 PS3, Line 387: if (!_osmo_select_shutdown_requested) > I'd also say it's an over-optimization. [?] There should be no behavior at all. The shutdown loop should only dispatch already pending messages. If we still let timers take actions, timeouts may dispatch more messages. In the extreme case that would be an endless loop and the application would never quit. IOW, we are shutting down, *nothing* should happen any more, just get the outbound packets sent and done. If we consider the other case: let the timers run. Maybe one or two timers still get the chance to do their action, but once there is no pending write in one select loop, the application quits. So no timer can rely on getting its turn anymore, anyway. It makes no sense to use timers during shutdown. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib94d4316924103459577087c2214188679db2227 Gerrit-Change-Number: 24544 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 18 Jun 2021 09:48:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge 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 Jun 18 09:58:14 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 18 Jun 2021 09:58:14 +0000 Subject: Change in osmo-bsc[master]: rsl_data_request() check lchan pointer before access In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24652 ) Change subject: rsl_data_request() check lchan pointer before access ...................................................................... rsl_data_request() check lchan pointer before access fixup for commit 43aeeaf05ad814ccab0e93227b1248a20302c8ec 'RSL chan_nr: replace OSMO_ASSERT with error handling' I71ed6437c403a3f9336e17a94b4948fca295d853 Related: CID#236319 Related: SYS#5315 OS#4940 Change-Id: I873c1a27f9449a56c525984ea50bfcf6daa4b5f8 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 7 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved 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 ac8006d..7525e31 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -939,11 +939,7 @@ /* Chapter 8.3.1 */ int rsl_data_request(struct msgb *msg, uint8_t link_id) { - int chan_nr = gsm_lchan2chan_nr(msg->lchan, true); - if (chan_nr < 0) { - msgb_free(msg); - return chan_nr; - } + int chan_nr; if (msg->lchan == NULL) { LOGP(DRSL, LOGL_ERROR, "cannot send DATA REQUEST to unknown lchan\n"); @@ -951,6 +947,12 @@ return -EINVAL; } + chan_nr = gsm_lchan2chan_nr(msg->lchan, true); + if (chan_nr < 0) { + msgb_free(msg); + return chan_nr; + } + rsl_rll_push_l3(msg, RSL_MT_DATA_REQ, chan_nr, link_id, 1); msg->dst = rsl_chan_link(msg->lchan); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24652 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I873c1a27f9449a56c525984ea50bfcf6daa4b5f8 Gerrit-Change-Number: 24652 Gerrit-PatchSet: 2 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 Fri Jun 18 09:58:14 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 18 Jun 2021 09:58:14 +0000 Subject: Change in osmo-bsc[master]: rsl_lchan_lookup: drop redundant condition In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24653 ) Change subject: rsl_lchan_lookup: drop redundant condition ...................................................................... rsl_lchan_lookup: drop redundant condition 'vamos' is only set to true for osmobts types, hence no need to check that condition again. fixup for commit d37dcb9f6854a4d15dd2ba098fcbaa212251684f 'RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans' I957eff0d2c33ec795eda75a4bff21965b0179f73 Related: CID#236318 Related: SYS#5315 OS#4940 Change-Id: I4d9afc2996d95fdc15ee1a04e31d781b595023e3 --- M src/osmo-bsc/bts_trx.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/bts_trx.c b/src/osmo-bsc/bts_trx.c index edd52be..bef98c0 100644 --- a/src/osmo-bsc/bts_trx.c +++ b/src/osmo-bsc/bts_trx.c @@ -225,7 +225,7 @@ if (rc && ok) *rc = 0; - if (vamos && (trx->bts->model->type == GSM_BTS_TYPE_OSMOBTS)) + if (vamos) lch_idx += ts->max_primary_lchans; return &ts->lchan[lch_idx]; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24653 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4d9afc2996d95fdc15ee1a04e31d781b595023e3 Gerrit-Change-Number: 24653 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 18 10:17:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 18 Jun 2021 10:17:32 +0000 Subject: Change in osmo-bts[master]: osmo-bts-{trx, virtual}: get rid of dummy tx_idle_fn() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24711 ) Change subject: osmo-bts-{trx,virtual}: get rid of dummy tx_idle_fn() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24711 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I438705f8dd902193e6c7b499d8ee55c56b6a1c2e Gerrit-Change-Number: 24711 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 18 Jun 2021 10:17: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 Jun 18 10:18:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 18 Jun 2021 10:18:25 +0000 Subject: Change in osmo-bts[master]: scheduler: unset TRX_CHAN_FLAG_AUTO_ACTIVE for TRXC_IDLE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24712 ) Change subject: scheduler: unset TRX_CHAN_FLAG_AUTO_ACTIVE for TRXC_IDLE ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24712 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ifade0eab0605154196322ff20b1b3a44495f8a2e Gerrit-Change-Number: 24712 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 18 Jun 2021 10:18:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 18 10:18:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 18 Jun 2021 10:18:36 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix copy-pasted comment: s/sysmoBTS/osmo-bts-trx/ In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24713 ) Change subject: osmo-bts-trx: fix copy-pasted comment: s/sysmoBTS/osmo-bts-trx/ ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24713 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If796a8d55f1ad0642e5a81689161c7e7b70f4b5e Gerrit-Change-Number: 24713 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 18 Jun 2021 10:18:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 18 10:21:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 18 Jun 2021 10:21:02 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: print timeslot brief info in 'show transceiver' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24714 ) Change subject: osmo-bts-trx: print timeslot brief info in 'show transceiver' ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24714/1/src/osmo-bts-trx/trx_vty.c File src/osmo-bts-trx/trx_vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/24714/1/src/osmo-bts-trx/trx_vty.c at 90 PS1, Line 90: vty_out(vty, " bisc : undefined%s", VTY_NEWLINE); remark: typo here i nbsic, can you submit a patch on top of your patchset? https://gerrit.osmocom.org/c/osmo-bts/+/24714/1/src/osmo-bts-trx/trx_vty.c at 99 PS1, Line 99: vty_out(vty, " timeslot #%u (%s)%s", I'm not really sure this kind of info is revelant when doing show transceiver. What about a "show timeslot " or alike? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24714 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ibe624e4b801cae2dc00feb99441b7d606005b846 Gerrit-Change-Number: 24714 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 18 Jun 2021 10:21: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 Jun 18 10:21:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 18 Jun 2021 10:21:48 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: measure interference levels on TRXC_IDLE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24715 ) Change subject: osmo-bts-trx: measure interference levels on TRXC_IDLE ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24715 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic3030dba5eb223177298aa4e43559a93dc3d1392 Gerrit-Change-Number: 24715 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 18 Jun 2021 10:21: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 Jun 18 10:25:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 18 Jun 2021 10:25:53 +0000 Subject: Change in libosmocore[master]: osmo_select_shutdown_request(): allow finishing pending writes on SIG... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24544 ) Change subject: osmo_select_shutdown_request(): allow finishing pending writes on SIGTERM ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib94d4316924103459577087c2214188679db2227 Gerrit-Change-Number: 24544 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 18 Jun 2021 10:25:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 18 10:29:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 18 Jun 2021 10:29:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: OML: Add types/templates for GetAttributesResponse In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, fixeria, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24655 to look at the new patch set (#2). Change subject: OML: Add types/templates for GetAttributesResponse ...................................................................... OML: Add types/templates for GetAttributesResponse Change-Id: Iec7198cc164b6e33e708d59c3f214efb3e1ac33b --- M library/AbisOML_Types.ttcn 1 file changed, 27 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/55/24655/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24655 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iec7198cc164b6e33e708d59c3f214efb3e1ac33b Gerrit-Change-Number: 24655 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 18 10:32:00 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 18 Jun 2021 10:32:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: OML: Add types/templates for GetAttributesResponse In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24655 ) Change subject: OML: Add types/templates for GetAttributesResponse ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24655 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iec7198cc164b6e33e708d59c3f214efb3e1ac33b Gerrit-Change-Number: 24655 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 18 Jun 2021 10:32:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 18 10:38:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 18 Jun 2021 10:38:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: OML: Add types/templates for GetAttributesResponse In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24655 ) Change subject: OML: Add types/templates for GetAttributesResponse ...................................................................... OML: Add types/templates for GetAttributesResponse Change-Id: Iec7198cc164b6e33e708d59c3f214efb3e1ac33b --- M library/AbisOML_Types.ttcn 1 file changed, 27 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/library/AbisOML_Types.ttcn b/library/AbisOML_Types.ttcn index 0a562ae..6229f25 100644 --- a/library/AbisOML_Types.ttcn +++ b/library/AbisOML_Types.ttcn @@ -616,6 +616,15 @@ uint8_t sacch_rch_sapi3_10ms }; +/* Section 9.4.64 */ +type record OML_FOM_ARI { + uint16_t len, + uint8_t non_reported_attr_len, + set of uint8_t non_reported_attr optional, + OML_FOM_IE_List ies optional +} with { variant (len) "LENGTHTO(non_reported_attr_len,non_reported_attr,ies)" + variant (non_reported_attr_len) "LENGTHTO(non_reported_attr)" }; + type union OML_FOM_IE_Body { OML_FOM_AbisChannel abis_channel, OML_FOM_AdministrativeState adm_state, @@ -669,6 +678,8 @@ uint16_t paging_cfg, OCT2 freq_ctrl, + OML_FOM_ARI ari, + OML_IE_L16V other }; @@ -728,6 +739,8 @@ paging_cfg, iei = NM_ATT_IPACC_PAGING_CFG; freq_ctrl, iei = NM_ATT_IPACC_FREQ_CTRL; + ari, iei = NM_ATT_GET_ARI; + other, OTHERWISE; )" }; @@ -1124,6 +1137,20 @@ tr_OML_IE(NM_ATT_LIST_REQ_ATTR, OML_FOM_IE_Body:{other := tr_OML_IE_L16V(?, req_attr)}) }); +/* 8.11.3 Get Attributes Response */ +template (value) OML_PDU ts_OML_GetAttributesResponse(template (value) OML_FOM_ObjectClass obj_class, + template (value) OML_FOM_ObjectInstance obj_inst, + template (value) octetstring req_attr) := + ts_OML_MsgType(NM_MT_GET_ATTR_RESP, obj_class, obj_inst, { + ts_OML_IE(NM_ATT_GET_ARI, OML_FOM_IE_Body:{other := ts_OML_IE_L16V(0, req_attr)}) + }); +template OML_PDU tr_OML_GetAttributesResponse(template OML_FOM_ObjectClass obj_class, + template OML_FOM_ObjectInstance obj_inst, + template OML_FOM_ARI ari := ?) := + tr_OML_MsgType(NM_MT_GET_ATTR_RESP, obj_class, obj_inst, { + tr_OML_IE(NM_ATT_GET_ARI, OML_FOM_IE_Body:{ari := ari}) + }); + /* convert a request into an ACK */ function f_OML_make_ack(OML_PDU orig) return OML_PDU { var OML_PDU resp := orig; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24655 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iec7198cc164b6e33e708d59c3f214efb3e1ac33b Gerrit-Change-Number: 24655 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 18 12:22:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 18 Jun 2021 12:22:39 +0000 Subject: Change in libosmocore[master]: osmo_select_shutdown_request(): allow finishing pending writes on SIG... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24544 ) Change subject: osmo_select_shutdown_request(): allow finishing pending writes on SIGTERM ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib94d4316924103459577087c2214188679db2227 Gerrit-Change-Number: 24544 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 18 Jun 2021 12:22: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 Jun 18 12:22:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 18 Jun 2021 12:22:44 +0000 Subject: Change in libosmocore[master]: osmo_select_shutdown_request(): allow finishing pending writes on SIG... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24544 ) Change subject: osmo_select_shutdown_request(): allow finishing pending writes on SIGTERM ...................................................................... osmo_select_shutdown_request(): allow finishing pending writes on SIGTERM Allow telling osmo_select_main* to only service pending writes (shutdown mode). Introduce API fuctions to indicate a shutdown request, and find out whether shutdown is complete. Some osmo programs have a curious sleep of few seconds upon receiving SIGTERM. The idea presumably was to finish off pending writes before halting the program. But a sleep() on program exit is annoying, especially when there usually are no pending writes, and when osmo-bsc is launched numerous times for tests. Change-Id: Ib94d4316924103459577087c2214188679db2227 --- M include/osmocom/core/select.h M src/select.c 2 files changed, 72 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/core/select.h b/include/osmocom/core/select.h index b410199..e9f19a5 100644 --- a/include/osmocom/core/select.h +++ b/include/osmocom/core/select.h @@ -105,5 +105,8 @@ struct osmo_signalfd * osmo_signalfd_setup(void *ctx, sigset_t set, osmo_signalfd_cb *cb, void *data); +void osmo_select_shutdown_request(); +int osmo_select_shutdown_requested(); +bool osmo_select_shutdown_done(); /*! @} */ diff --git a/src/select.c b/src/select.c index 71ee7f6..f7eb5ea 100644 --- a/src/select.c +++ b/src/select.c @@ -69,6 +69,11 @@ static __thread struct poll_state g_poll; #endif /* FORCE_IO_SELECT */ +/*! See osmo_select_shutdown_request() */ +static int _osmo_select_shutdown_requested = 0; +/*! See osmo_select_shutdown_request() */ +static bool _osmo_select_shutdown_done = false; + /*! Set up an osmo-fd. Will not register it. * \param[inout] ofd Osmo FD to be set-up * \param[in] fd OS-level file descriptor number @@ -316,6 +321,7 @@ struct osmo_fd *ufd; unsigned int i; int work = 0; + int shutdown_pending_writes = 0; for (i = 0; i < n_fd; i++) { struct pollfd *p = &g_poll.poll[i]; @@ -340,6 +346,11 @@ /* make sure we never report more than the user requested */ flags &= ufd->when; + if (_osmo_select_shutdown_requested > 0) { + if (ufd->when & OSMO_FD_WRITE) + shutdown_pending_writes++; + } + if (flags) { work = 1; /* make sure to clear any log context before processing the next incoming message @@ -351,6 +362,9 @@ } } + if (_osmo_select_shutdown_requested > 0 && !shutdown_pending_writes) + _osmo_select_shutdown_done = true; + return work; } @@ -370,7 +384,8 @@ return 0; /* fire timers */ - osmo_timers_update(); + if (!_osmo_select_shutdown_requested) + osmo_timers_update(); OSMO_ASSERT(osmo_ctx->select); @@ -596,6 +611,59 @@ #endif /* HAVE_SYS_SIGNALFD_H */ +/*! Request osmo_select_* to only service pending OSMO_FD_WRITE requests. Once all writes are done, + * osmo_select_shutdown_done() returns true. This allows for example to send all outbound packets before terminating the + * process. + * + * Usage example: + * + * static void signal_handler(int signum) + * { + * fprintf(stdout, "signal %u received\n", signum); + * + * switch (signum) { + * case SIGINT: + * case SIGTERM: + * // If the user hits Ctrl-C the third time, just terminate immediately. + * if (osmo_select_shutdown_requested() >= 2) + * exit(-1); + * // Request write-only mode in osmo_select_main_ctx() + * osmo_select_shutdown_request(); + * break; + * [...] + * } + * + * main() + * { + * signal(SIGINT, &signal_handler); + * signal(SIGTERM, &signal_handler); + * + * [...] + * + * // After the signal_handler issued osmo_select_shutdown_request(), osmo_select_shutdown_done() returns true + * // as soon as all write queues are empty. + * while (!osmo_select_shutdown_done()) { + * osmo_select_main_ctx(0); + * } + * } + */ +void osmo_select_shutdown_request() +{ + _osmo_select_shutdown_requested++; +}; + +/*! Return the number of times osmo_select_shutdown_request() was called before. */ +int osmo_select_shutdown_requested() +{ + return _osmo_select_shutdown_requested; +}; + +/*! 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() { + return _osmo_select_shutdown_done; +}; + /*! @} */ #endif /* _HAVE_SYS_SELECT_H */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib94d4316924103459577087c2214188679db2227 Gerrit-Change-Number: 24544 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 Fri Jun 18 12:30:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 18 Jun 2021 12:30:12 +0000 Subject: Change in osmo-sgsn[master]: add support for multiple encryption algorithms and a5/4 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 ) Change subject: add support for multiple encryption algorithms and a5/4 ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Gerrit-Change-Number: 24304 Gerrit-PatchSet: 7 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 18 Jun 2021 12:30: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 Jun 18 12:30:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 18 Jun 2021 12:30:16 +0000 Subject: Change in osmo-sgsn[master]: add support for multiple encryption algorithms and a5/4 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 ) Change subject: add support for multiple encryption algorithms and a5/4 ...................................................................... add support for multiple encryption algorithms and a5/4 Change-Id: Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Related: SYS#5324 --- M include/osmocom/sgsn/gprs_sgsn.h M include/osmocom/sgsn/sgsn.h M src/sgsn/gprs_gmm.c M src/sgsn/gprs_llc.c M src/sgsn/gprs_sgsn.c M src/sgsn/sgsn_vty.c M tests/osmo-sgsn_test-nodes.vty M tests/sgsn/sgsn_test.c 8 files changed, 118 insertions(+), 19 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/sgsn/gprs_sgsn.h b/include/osmocom/sgsn/gprs_sgsn.h index 289e0c4..c176494 100644 --- a/include/osmocom/sgsn/gprs_sgsn.h +++ b/include/osmocom/sgsn/gprs_sgsn.h @@ -175,6 +175,7 @@ /* Iu: CK, IK, KSI */ /* CKSN */ enum gprs_ciph_algo ciph_algo; + uint8_t ue_cipher_mask; /* Auth & Ciphering Request reference from 3GPP TS 24.008 ? 10.5.5.19: */ uint8_t ac_ref_nr_used; diff --git a/include/osmocom/sgsn/sgsn.h b/include/osmocom/sgsn/sgsn.h index b686c7c..5b29873 100644 --- a/include/osmocom/sgsn/sgsn.h +++ b/include/osmocom/sgsn/sgsn.h @@ -76,7 +76,7 @@ struct gprs_ns2_inst *nsi; enum sgsn_auth_policy auth_policy; - enum gprs_ciph_algo cipher; + uint8_t cipher_support_mask; struct llist_head imsi_acl; struct sockaddr_in gsup_server_addr; diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c index c5e927a..1f68558 100644 --- a/src/sgsn/gprs_gmm.c +++ b/src/sgsn/gprs_gmm.c @@ -445,6 +445,17 @@ return false; } +static enum gprs_ciph_algo gprs_ms_net_select_best_gea(uint8_t net_mask, uint8_t ms_mask) { + uint8_t common_mask = net_mask & ms_mask; + uint8_t r = 0; + + while (common_mask >>= 1) { + r++; + } + + return r; +} + /* 3GPP TS 24.008 ? 9.4.9: Authentication and Ciphering Request */ int gsm48_tx_gmm_auth_ciph_req(struct sgsn_mm_ctx *mm, const struct osmo_auth_vector *vec, @@ -1147,6 +1158,21 @@ } +static uint8_t gprs_ms_net_cap_gea_mask(const uint8_t *ms_net_cap, uint8_t cap_len) +{ + uint8_t mask = (1 << GPRS_ALGO_GEA0); + mask |= (0x80 & ms_net_cap[0]) ? (1 << GPRS_ALGO_GEA1) : 0; + + if (cap_len < 2) + return mask; + + /* extended GEA bits start from 2nd bit of the next byte */ + mask |= (0x40 & ms_net_cap[1]) ? (1 << GPRS_ALGO_GEA2) : 0; + mask |= (0x20 & ms_net_cap[1]) ? (1 << GPRS_ALGO_GEA3) : 0; + mask |= (0x10 & ms_net_cap[1]) ? (1 << GPRS_ALGO_GEA4) : 0; + return mask; +} + /* 3GPP TS 24.008 ? 9.4.1 Attach request */ static int gsm48_rx_gmm_att_req(struct sgsn_mm_ctx *ctx, struct msgb *msg, struct gprs_llc_llme *llme) @@ -1290,15 +1316,27 @@ ctx->ms_radio_access_capa.len); ctx->ms_network_capa.len = msnc_len; memcpy(ctx->ms_network_capa.buf, msnc, msnc_len); - if (!gprs_ms_net_cap_gea_supported(ctx->ms_network_capa.buf, msnc_len, - ctx->ciph_algo)) { + + ctx->ue_cipher_mask = gprs_ms_net_cap_gea_mask(ctx->ms_network_capa.buf, msnc_len); + + if (!(ctx->ue_cipher_mask & sgsn->cfg.cipher_support_mask)) { reject_cause = GMM_CAUSE_PROTO_ERR_UNSPEC; LOGMMCTXP(LOGL_NOTICE, ctx, "Rejecting ATTACH REQUEST with MI " - "%s because MS do not support required %s " - "encryption\n", mi_log_string, - get_value_string(gprs_cipher_names,ctx->ciph_algo)); + "%s because MS do not support required encryption, mask UE:0x%02x NW:0x%02x \n", + mi_log_string, ctx->ue_cipher_mask, sgsn->cfg.cipher_support_mask); goto rejected; } + + /* just assume that everythig is fine if the phone offers a5/4: + * it requires a valid umts security context which we can only have after + * 1) IDENTITY REQUEST to know what to ask the HLR for + * 2) and AUTHENTICATION AND CIPHERING REQUEST + * ... but 2) already requires selecting a cipher mode. + * So let's just assume we will have the auth data required to make it work. + */ + + ctx->ciph_algo = gprs_ms_net_select_best_gea(ctx->ue_cipher_mask, sgsn->cfg.cipher_support_mask); + #ifdef PTMSI_ALLOC /* Allocate a new P-TMSI (+ P-TMSI signature) and update TLLI */ ptmsi_update(ctx); diff --git a/src/sgsn/gprs_llc.c b/src/sgsn/gprs_llc.c index 4fbf211..eea1cec 100644 --- a/src/sgsn/gprs_llc.c +++ b/src/sgsn/gprs_llc.c @@ -42,6 +42,8 @@ #include #include +#include + const struct value_string gprs_llc_llme_state_names[] = { { GPRS_LLMS_UNASSIGNED, "UNASSIGNED" }, { GPRS_LLMS_ASSIGNED, "ASSIGNED" }, @@ -1042,8 +1044,13 @@ llme->algo = mm->ciph_algo; if (llme->cksn != mm->auth_triplet.key_seq && mm->auth_triplet.key_seq != GSM_KEY_SEQ_INVAL) { - memcpy(llme->kc, mm->auth_triplet.vec.kc, - gprs_cipher_key_length(mm->ciph_algo)); + + /* gea4 needs kc128 */ + if (mm->ciph_algo == GPRS_ALGO_GEA4) + osmo_kdf_kc128(mm->auth_triplet.vec.ck, mm->auth_triplet.vec.ik, llme->kc); + else + memcpy(llme->kc, mm->auth_triplet.vec.kc, gprs_cipher_key_length(mm->ciph_algo)); + llme->cksn = mm->auth_triplet.key_seq; } } else diff --git a/src/sgsn/gprs_sgsn.c b/src/sgsn/gprs_sgsn.c index f744257..304ecc5 100644 --- a/src/sgsn/gprs_sgsn.c +++ b/src/sgsn/gprs_sgsn.c @@ -293,11 +293,8 @@ memcpy(&ctx->ra, raid, sizeof(ctx->ra)); ctx->ran_type = MM_CTX_T_GERAN_Gb; ctx->gb.tlli = tlli; - ctx->ciph_algo = sgsn->cfg.cipher; osmo_fsm_inst_update_id_f(ctx->gb.mm_state_fsm, "%" PRIu32, tlli); - LOGMMCTXP(LOGL_DEBUG, ctx, "Allocated with %s cipher.\n", - get_value_string(gprs_cipher_names, ctx->ciph_algo)); return ctx; } diff --git a/src/sgsn/sgsn_vty.c b/src/sgsn/sgsn_vty.c index 3b2a04a..30bd864 100644 --- a/src/sgsn/sgsn_vty.c +++ b/src/sgsn/sgsn_vty.c @@ -206,6 +206,7 @@ struct apn_ctx *actx; struct ares_addr_node *server; struct sgsn_mme_ctx *mme; + int i; vty_out(vty, "sgsn%s", VTY_NEWLINE); @@ -236,10 +237,15 @@ for (server = sgsn->ares_servers; server; server = server->next) vty_out(vty, " grx-dns-add %s%s", inet_ntoa(server->addr.addr4), VTY_NEWLINE); - if (g_cfg->cipher != GPRS_ALGO_GEA0) - vty_out(vty, " encryption %s%s", - get_value_string(gprs_cipher_names, g_cfg->cipher), - VTY_NEWLINE); + if (g_cfg->cipher_support_mask != 0) { + vty_out(vty, " encryption gea"); + + for (i = 0; i < _GPRS_ALGO_NUM; i++) + if (g_cfg->cipher_support_mask >> i & 1) + vty_out(vty, " %u", i); + + vty_out(vty, "%s", VTY_NEWLINE); + } if (g_cfg->sgsn_ipa_name) vty_out(vty, " gsup ipa-name %s%s", g_cfg->sgsn_ipa_name, VTY_NEWLINE); if (g_cfg->gsup_server_addr.sin_addr.s_addr) @@ -721,15 +727,19 @@ return CMD_SUCCESS; } -DEFUN(cfg_encrypt, cfg_encrypt_cmd, +DEFUN_DEPRECATED(cfg_encrypt, cfg_encrypt_cmd, "encryption (GEA0|GEA1|GEA2|GEA3|GEA4)", "Set encryption algorithm for SGSN\n" "Use GEA0 (no encryption)\n" "Use GEA1\nUse GEA2\nUse GEA3\nUse GEA4\n") { enum gprs_ciph_algo c = get_string_value(gprs_cipher_names, argv[0]); + + if (strcmp(argv[0], "gea") == 0) + return CMD_SUCCESS; + if (c != GPRS_ALGO_GEA0) { - if (!gprs_cipher_supported(c)) { + if (gprs_cipher_supported(c) <= 0) { vty_out(vty, "%% cipher %s is unsupported in current version%s", argv[0], VTY_NEWLINE); return CMD_WARNING; } @@ -741,7 +751,46 @@ } } - g_cfg->cipher = c; + g_cfg->cipher_support_mask |= (1 << c); + + return CMD_SUCCESS; +} + +DEFUN(cfg_encrypt2, cfg_encrypt2_cmd, + "encryption gea <0-4> [<0-4>] [<0-4>] [<0-4>] [<0-4>]", + "Set encryption algorithms for SGSN\n" + "GPRS Encryption Algorithm\n" + "GEAn Algorithm Number\n" + "GEAn Algorithm Number\n" + "GEAn Algorithm Number\n" + "GEAn Algorithm Number\n" + "GEAn Algorithm Number\n") +{ + int i = 0; + + g_cfg->cipher_support_mask = 0; + for (i = 0; i < argc; i++) + g_cfg->cipher_support_mask |= (1 << atoi(argv[i])); + + for (i = 0; i < _GPRS_ALGO_NUM; i++) { + if (g_cfg->cipher_support_mask >> i & 1) { + + if (i == GPRS_ALGO_GEA0) + continue; + + if (gprs_cipher_supported(i) <= 0) { + vty_out(vty, "%% cipher %d is unsupported in current version%s", i, VTY_NEWLINE); + return CMD_ERR_INCOMPLETE; + } + + if (!g_cfg->require_authentication) { + vty_out(vty, "%% unable to use encryption %s without authentication: please adjust auth-policy%s", + argv[i], VTY_NEWLINE); + return CMD_ERR_INCOMPLETE; + } + + } + } return CMD_SUCCESS; } @@ -1640,7 +1689,11 @@ install_element(SGSN_NODE, &cfg_imsi_acl_cmd); install_element(SGSN_NODE, &cfg_auth_policy_cmd); install_element(SGSN_NODE, &cfg_authentication_cmd); + + /* order matters here: ensure we attempt to parse our new command first! */ + install_element(SGSN_NODE, &cfg_encrypt2_cmd); install_element(SGSN_NODE, &cfg_encrypt_cmd); + install_element(SGSN_NODE, &cfg_gsup_ipa_name_cmd); install_element(SGSN_NODE, &cfg_gsup_remote_ip_cmd); install_element(SGSN_NODE, &cfg_gsup_remote_port_cmd); @@ -1691,6 +1744,8 @@ /* make sure sgsn_vty_init() was called before this */ OSMO_ASSERT(g_cfg); + g_cfg->cipher_support_mask = 0x1; /* support GEA0 by default unless specific encryption config exists */ + rc = vty_read_config_file(config_file, NULL); if (rc < 0) { fprintf(stderr, "Failed to parse the config file: '%s'\n", config_file); diff --git a/tests/osmo-sgsn_test-nodes.vty b/tests/osmo-sgsn_test-nodes.vty index f889541..f2ed2dc 100644 --- a/tests/osmo-sgsn_test-nodes.vty +++ b/tests/osmo-sgsn_test-nodes.vty @@ -35,7 +35,7 @@ imsi-acl (add|del) IMSI auth-policy (accept-all|closed|acl-only|remote) authentication (optional|required) - encryption (GEA0|GEA1|GEA2|GEA3|GEA4) + encryption gea <0-4> [<0-4>] [<0-4>] [<0-4>] [<0-4>] gsup ipa-name NAME gsup remote-ip A.B.C.D gsup remote-port <0-65535> diff --git a/tests/sgsn/sgsn_test.c b/tests/sgsn/sgsn_test.c index 63a7f3e..562ae84 100644 --- a/tests/sgsn/sgsn_test.c +++ b/tests/sgsn/sgsn_test.c @@ -48,6 +48,7 @@ .cfg = { .gtp_statedir = "./", .auth_policy = SGSN_AUTH_POLICY_CLOSED, + .cipher_support_mask = 0x1, }, }; struct sgsn_instance *sgsn = &sgsn_inst; -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Gerrit-Change-Number: 24304 Gerrit-PatchSet: 7 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 18 12:30:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 18 Jun 2021 12:30:58 +0000 Subject: Change in libosmocore[master]: vty: make function cmd_range_match() public In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24691 ) Change subject: vty: make function cmd_range_match() public ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24691 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I53fc207677f52b1dc748b01d58424839cdba807c Gerrit-Change-Number: 24691 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 18 Jun 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 Fri Jun 18 12:31:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 18 Jun 2021 12:31:01 +0000 Subject: Change in libosmocore[master]: vty: make function cmd_range_match() public In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24691 ) Change subject: vty: make function cmd_range_match() public ...................................................................... vty: make function cmd_range_match() public Certain control interface commands also may require to verfy a range in their verify function. cmd_range_match() from the VTY does exactly that and the range can be specified as string, the same way as we would specify it in the VTY. Change-Id: I53fc207677f52b1dc748b01d58424839cdba807c related: SYS#5369 --- M include/osmocom/vty/command.h M src/vty/command.c 2 files changed, 6 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/include/osmocom/vty/command.h b/include/osmocom/vty/command.h index 81333b4..7f1ae5a 100644 --- a/include/osmocom/vty/command.h +++ b/include/osmocom/vty/command.h @@ -483,4 +483,6 @@ int vty_dump_xml_ref_mode(FILE *stream, enum vty_ref_gen_mode mode); int vty_dump_xml_ref(FILE *stream) OSMO_DEPRECATED("Use vty_dump_xml_ref_mode() instead"); +int vty_cmd_range_match(const char *range, const char *str); + /*! @} */ diff --git a/src/vty/command.c b/src/vty/command.c index 6d63d84..de89337 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -1477,7 +1477,7 @@ #error "LONG_MAX not defined!" #endif -static int cmd_range_match(const char *range, const char *str) +int vty_cmd_range_match(const char *range, const char *str) { char *p; char buf[DECIMAL_STRLEN_MAX_UNSIGNED + 1]; @@ -1600,7 +1600,7 @@ return VARARG_MATCH; else if (CMD_RANGE(str)) { - if (cmd_range_match(str, command)) + if (vty_cmd_range_match(str, command)) return RANGE_MATCH; } #ifdef HAVE_IPV6 @@ -1797,7 +1797,7 @@ } break; case RANGE_MATCH: - if (cmd_range_match + if (vty_cmd_range_match (str, command)) { if (matched && strcmp(matched, @@ -1890,7 +1890,7 @@ return dst; if (CMD_RANGE(dst)) { - if (cmd_range_match(dst, src)) + if (vty_cmd_range_match(dst, src)) return dst; else return NULL; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24691 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I53fc207677f52b1dc748b01d58424839cdba807c Gerrit-Change-Number: 24691 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 Jun 18 12:33:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 18 Jun 2021 12:33:32 +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 1: Code-Review-1 (3 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24707/1/src/common/main.c File src/common/main.c: https://gerrit.osmocom.org/c/osmo-bts/+/24707/1/src/common/main.c at 95 PS1, Line 95: LOGP(DLGLOBAL, LOGL_FATAL, "%s: Unknown VTY reference generation " > You shouldn't use libosmocore logging system here, because you are still configuring it from cmd lin [?] I agree, we cannot use logging here. https://gerrit.osmocom.org/c/osmo-bts/+/24707/1/src/common/main.c at 306 PS1, Line 306: LOGP(DLGLOBAL, LOGL_FATAL, "Failed to create BTS structure\n"); > I'm not sure whether it's a 100% good idea to merge this patch, specially since we introduced suppor [?] what is more realistic in production deployments is e.g. the use of syslog target. and I'd say that's important. We possibly could introduce some logic to libosmocore that would not do async writes but only sync writes until osmo_select_main() is called the first time? This way it would be safe and do the right thing in all cases. https://gerrit.osmocom.org/c/osmo-bts/+/24707/1/src/common/main.c at 420 PS1, Line 420: perror("Error during daemonize"); > If all lines are changed, this perror() line should too. Ack -- 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: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 18 Jun 2021 12:33:32 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 18 15:40:07 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 18 Jun 2021 15:40:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: add definition for PCU_IF_MSG_INTERF_IND References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24716 ) Change subject: library/PCUIF_Types: add definition for PCU_IF_MSG_INTERF_IND ...................................................................... library/PCUIF_Types: add definition for PCU_IF_MSG_INTERF_IND Change-Id: I07d25d694c2f39a79295c2948ab6155f46e5c639 Related: SYS#5313, OS#1569, OS#1866 --- M library/PCUIF_Types.ttcn 1 file changed, 46 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/16/24716/1 diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 9d6b023..6cfe410 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -35,6 +35,7 @@ PCU_IF_MSG_INFO_IND ('32'O), PCU_IF_MSG_ACT_REQ ('40'O), PCU_IF_MSG_TIME_IND ('52'O), + PCU_IF_MSG_INTERF_IND ('53'O), PCU_IF_MSG_PAG_REQ ('60'O), PCU_IF_MSG_TXT_IND ('70'O) } with { variant "FIELDLENGTH(8)" }; @@ -222,6 +223,14 @@ uint32_t fn } with { variant "" }; +type record length(8) of uint8_t PCUIF_interf; +type record PCUIF_interf_ind { + uint8_t trx_nr, + OCT3 spare, + uint32_t fn, + PCUIF_interf interf +} with { variant "" }; + type record PCUIF_pag_req { PCUIF_Sapi sapi, uint8_t chan_needed, @@ -257,6 +266,7 @@ PCUIF_info_ind info_ind, PCUIF_act_req act_req, PCUIF_time_ind time_ind, + PCUIF_interf_ind interf_ind, PCUIF_pag_req pag_req, PCUIF_app_info_req app_info_req } with { variant "" }; @@ -278,6 +288,7 @@ info_ind, msg_type = PCU_IF_MSG_INFO_IND; act_req, msg_type = PCU_IF_MSG_ACT_REQ; time_ind, msg_type = PCU_IF_MSG_TIME_IND; + interf_ind, msg_type = PCU_IF_MSG_INTERF_IND; pag_req, msg_type = PCU_IF_MSG_PAG_REQ; app_info_req, msg_type = PCU_IF_MSG_APP_INFO_REQ)" /* PCUIFv10: 1006 * 8 = 8048 bits */ @@ -877,6 +888,41 @@ } } +template (value) PCUIF_Message +ts_PCUIF_INTERF_IND(template (value) uint8_t bts_nr, + template (value) uint8_t trx_nr, + template (value) uint32_t fn, + template (value) PCUIF_interf interf) := { + msg_type := PCU_IF_MSG_INTERF_IND, + bts_nr := bts_nr, + spare := '0000'O, + u := { + interf_ind := { + trx_nr := trx_nr, + spare := '000000'O, + fn := fn, + interf := interf + } + } +} +template PCUIF_Message +tr_PCUIF_INTERF_IND(template (present) uint8_t bts_nr := ?, + template (present) uint8_t trx_nr := ?, + template (present) uint32_t fn := ?, + template (present) PCUIF_interf interf := ?) := { + msg_type := PCU_IF_MSG_INTERF_IND, + bts_nr := bts_nr, + spare := ?, + u := { + interf_ind := { + trx_nr := trx_nr, + spare := ?, + fn := fn, + interf := interf + } + } +} + template (value) PCUIF_Message ts_PCUIF_SUSP_REQ(template (value) uint8_t bts_nr, template (value) OCT4 tlli, template (value) OCT6 ra_id, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24716 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I07d25d694c2f39a79295c2948ab6155f46e5c639 Gerrit-Change-Number: 24716 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 Jun 18 15:40:07 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 18 Jun 2021 15:40:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: add a testcase for PDCH interference reports References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24717 ) Change subject: BTS: add a testcase for PDCH interference reports ...................................................................... BTS: add a testcase for PDCH interference reports Change-Id: I39e70524ad3d2ee51b537c8f786b7754a02949b1 Related: SYS#5313, OS#1569, OS#1866 --- M bts/BTS_Tests.ttcn 1 file changed, 56 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/17/24717/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index c9553a3..e855405 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -5838,6 +5838,61 @@ setverdict(pass); } +/* Verify periodic interference reports on PDCH */ +testcase TC_pcu_interf_ind() runs on test_CT { + var template PCUIF_Message tr_interf_ind; + var template PCUIF_interf ts_interf; + var integer interf_ind_num := 0; + var PCUIF_send_data sd; + timer T; + + f_init_with_pcuif(); + f_TC_pcu_act_req(0, 0, 7, true); + + /* We need trxcon for NOPE indications */ + f_init_l1ctl(); + f_l1_tune(L1CTL); + + /* Expect -120 .. -90 dBm on TS7 of BTS0/TRX0 */ + ts_interf := { 0, 0, 0, 0, 0, 0, 0, (90..120) }; + tr_interf_ind := tr_PCUIF_INTERF_IND( + bts_nr := 0, + trx_nr := 0, + fn := ?, + interf := ts_interf + ); + + /* 4 SACCH periods => 4 reports (plus some guard time) */ + var float Tval := int2float(4 * 480) / 1000.0 + 0.5; + + /* Let it some time to stabilize */ + f_sleep(0.5); + PCU.clear; + + T.start(Tval); + alt { + [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_interf_ind)) -> value sd { + /* Check TDMA frame number period */ + if (sd.data.u.interf_ind.fn mod 104 != 0) { + setverdict(fail, "Odd TDMA frame number := ", + sd.data.u.interf_ind.fn); + } + interf_ind_num := interf_ind_num + 1; + if (interf_ind_num < 4) + { repeat; } + } + [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_INTERF_IND(0, 0))) -> value sd { + setverdict(fail, "Received unexpected interference report: ", sd.data); + } + [] PCU.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for interference reports"); + } + } + + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + /*********************************************************************** * Osmocom Style Dynamic Timeslot Support ***********************************************************************/ @@ -7492,6 +7547,7 @@ execute( TC_pcu_socket_nsvc_ipv4() ); execute( TC_pcu_socket_nsvc_ipv6() ); execute( TC_pcu_socket_two_nsvc() ); + execute( TC_pcu_interf_ind() ); } else { log("PCU socket path not available, skipping PCU tests"); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24717 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I39e70524ad3d2ee51b537c8f786b7754a02949b1 Gerrit-Change-Number: 24717 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 Jun 18 16:00:47 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 18 Jun 2021 16:00:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: release the channel in TC_ms_pwr_ctrl_{constant, pf_ewma} In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24709 ) Change subject: BTS: release the channel in TC_ms_pwr_ctrl_{constant,pf_ewma} ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24709 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6a204bbecfe116aa302eae28ff24d6bb899fa8b7 Gerrit-Change-Number: 24709 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 18 Jun 2021 16: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 Fri Jun 18 16:00:55 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 18 Jun 2021 16:00:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: release the channel in TC_ms_pwr_ctrl_{constant, pf_ewma} In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24709 ) Change subject: BTS: release the channel in TC_ms_pwr_ctrl_{constant,pf_ewma} ...................................................................... BTS: release the channel in TC_ms_pwr_ctrl_{constant,pf_ewma} Since recently, we do have NOPE indications in the virtual Um environment. Somehow this broke test cases for the MS power control. Releasing the channel makes everything work again. Change-Id: I6a204bbecfe116aa302eae28ff24d6bb899fa8b7 Related: SYS#5313, OS#1569, OS#1866 --- M bts/BTS_Tests.ttcn 1 file changed, 8 insertions(+), 0 deletions(-) Approvals: fixeria: Looks good to me, approved 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 547ada2..a6ccf30 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -7128,6 +7128,10 @@ num_blocks, " were not handled"); } } + + /* Release the channel */ + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); } testcase TC_ms_pwr_ctrl_constant() runs on test_CT { var ConnHdlr vc_conn; @@ -7185,6 +7189,10 @@ num_blocks, " were not handled"); } } + + /* Release the channel */ + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); } testcase TC_ms_pwr_ctrl_pf_ewma() runs on test_CT { var ConnHdlr vc_conn; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24709 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6a204bbecfe116aa302eae28ff24d6bb899fa8b7 Gerrit-Change-Number: 24709 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 18 16:04:51 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 18 Jun 2021 16:04:51 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: measure interference levels on TRXC_IDLE 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/+/24715 to look at the new patch set (#2). Change subject: osmo-bts-trx: measure interference levels on TRXC_IDLE ...................................................................... osmo-bts-trx: measure interference levels on TRXC_IDLE We already do the intereference measurements on inactive logical channels. For the active channels we can still use the IDLE slots, on which the UEs shall not transmit Uplink bursts. Change-Id: Ic3030dba5eb223177298aa4e43559a93dc3d1392 Related: SYS#5313, OS#1569 --- M src/common/scheduler.c M src/osmo-bts-trx/trx_vty.c 2 files changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/15/24715/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24715 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic3030dba5eb223177298aa4e43559a93dc3d1392 Gerrit-Change-Number: 24715 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 18 16:04:51 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 18 Jun 2021 16:04:51 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: report PDCH interference levels to the PCU References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24718 ) Change subject: osmo-bts-trx: report PDCH interference levels to the PCU ...................................................................... osmo-bts-trx: report PDCH interference levels to the PCU The PDCH multiframe contains 48 data slots, 2 PTCCH slots, and 2 IDLE slots. The later two can be used for the interference measurements, since the UEs shall not transmit on them. bts_report_interf_meas() is called every 104 TDMA frames, what corresponds to 2 PDCH multiframe periods. Report interference levels on PDCH timeslots from this function. Change-Id: I56f83db5264c246ec1b4b8a973105a4fc09931fb Related: SYS#5313, OS#1569 --- M include/osmo-bts/pcu_if.h M include/osmo-bts/pcuif_proto.h M src/common/pcu_sock.c M src/osmo-bts-trx/scheduler_trx.c 4 files changed, 65 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/18/24718/1 diff --git a/include/osmo-bts/pcu_if.h b/include/osmo-bts/pcu_if.h index add37f8..6ef8dc5 100644 --- a/include/osmo-bts/pcu_if.h +++ b/include/osmo-bts/pcu_if.h @@ -15,6 +15,8 @@ int16_t qta, uint16_t ra, uint32_t fn, uint8_t is_11bit, enum ph_burst_type burst_type, uint8_t sapi); int pcu_tx_time_ind(uint32_t fn); +int pcu_tx_interf_ind(uint8_t bts_nr, uint8_t trx_nr, uint32_t fn, + const uint8_t *pdch_interf); int pcu_tx_pag_req(const uint8_t *identity_lv, uint8_t chan_needed); int pcu_tx_pch_data_cnf(uint32_t fn, uint8_t *data, uint8_t len); int pcu_tx_susp_req(struct gsm_lchan *lchan, uint32_t tlli, const uint8_t *ra_id, uint8_t cause); diff --git a/include/osmo-bts/pcuif_proto.h b/include/osmo-bts/pcuif_proto.h index 8f72602..38ca4b6 100644 --- a/include/osmo-bts/pcuif_proto.h +++ b/include/osmo-bts/pcuif_proto.h @@ -21,6 +21,7 @@ #define PCU_IF_MSG_INFO_IND 0x32 /* retrieve BTS info */ #define PCU_IF_MSG_ACT_REQ 0x40 /* activate/deactivate PDCH */ #define PCU_IF_MSG_TIME_IND 0x52 /* GSM time indication */ +#define PCU_IF_MSG_INTERF_IND 0x53 /* interference report */ #define PCU_IF_MSG_PAG_REQ 0x60 /* paging request */ #define PCU_IF_MSG_TXT_IND 0x70 /* Text indication for BTS */ @@ -208,6 +209,14 @@ uint8_t cause; } __attribute__ ((packed)); +/* Interference measurements on PDCH timeslots */ +struct gsm_pcu_if_interf_ind { + uint8_t trx_nr; + uint8_t spare[3]; + uint32_t fn; + uint8_t interf[8]; +} __attribute__ ((packed)); + struct gsm_pcu_if { /* context based information */ uint8_t msg_type; /* message type */ @@ -228,6 +237,7 @@ struct gsm_pcu_if_time_ind time_ind; struct gsm_pcu_if_pag_req pag_req; struct gsm_pcu_if_app_info_req app_info_req; + struct gsm_pcu_if_interf_ind interf_ind; } u; } __attribute__ ((packed)); diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 3a73570..5a04bf0 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -560,6 +560,27 @@ return pcu_sock_send(&bts_gsmnet, msg); } +int pcu_tx_interf_ind(uint8_t bts_nr, uint8_t trx_nr, uint32_t fn, + const uint8_t *pdch_interf) +{ + struct gsm_pcu_if_interf_ind *interf_ind; + struct gsm_pcu_if *pcu_prim; + struct msgb *msg; + + msg = pcu_msgb_alloc(PCU_IF_MSG_INTERF_IND, bts_nr); + if (!msg) + return -ENOMEM; + pcu_prim = (struct gsm_pcu_if *) msg->data; + interf_ind = &pcu_prim->u.interf_ind; + + interf_ind->trx_nr = trx_nr; + interf_ind->fn = fn; + memcpy(&interf_ind->interf[0], &pdch_interf[0], + sizeof(interf_ind->interf)); + + return pcu_sock_send(&bts_gsmnet, msg); +} + int pcu_tx_pag_req(const uint8_t *identity_lv, uint8_t chan_needed) { struct pcu_sock_state *state = bts_gsmnet.pcu_state; @@ -914,7 +935,8 @@ struct gsm_pcu_if *pcu_prim = (struct gsm_pcu_if *) msg->data; if (!state) { - if (pcu_prim->msg_type != PCU_IF_MSG_TIME_IND) + if (pcu_prim->msg_type != PCU_IF_MSG_TIME_IND && + pcu_prim->msg_type != PCU_IF_MSG_INTERF_IND) LOGP(DPCU, LOGL_INFO, "PCU socket not created, " "dropping message\n"); msgb_free(msg); @@ -922,7 +944,8 @@ } conn_bfd = &state->conn_bfd; if (conn_bfd->fd <= 0) { - if (pcu_prim->msg_type != PCU_IF_MSG_TIME_IND) + if (pcu_prim->msg_type != PCU_IF_MSG_TIME_IND && + pcu_prim->msg_type != PCU_IF_MSG_INTERF_IND) LOGP(DPCU, LOGL_NOTICE, "PCU socket not connected, " "dropping message\n"); msgb_free(msg); diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 97c5ff3..ef50e8d 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -45,6 +45,7 @@ #include #include #include +#include #include "l1_if.h" #include "trx_if.h" @@ -101,14 +102,36 @@ } } -static void bts_report_interf_meas(const struct gsm_bts *bts) +static void bts_report_interf_meas(const struct gsm_bts *bts, + const uint32_t fn) { const struct gsm_bts_trx *trx; - unsigned int tn; llist_for_each_entry(trx, &bts->trx_list, list) { - for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) - ts_report_interf_meas(&trx->ts[tn]); + uint8_t pdch_interf[8] = { 0 }; + unsigned int tn, pdch_num = 0; + + for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { + const struct gsm_bts_trx_ts *ts = &trx->ts[tn]; + const struct l1sched_ts *l1ts = ts->priv; + const struct l1sched_chan_state *l1cs; + + /* PS interference reports for the PCU */ + if (ts_pchan(ts) == GSM_PCHAN_PDCH) { + l1cs = &l1ts->chan_state[TRXC_IDLE]; + /* Interference value is encoded as -x dBm */ + pdch_interf[tn] = -1 * l1cs->meas.interf_avg; + pdch_num++; + continue; + } + + /* CS interference reports for the BSC */ + ts_report_interf_meas(ts); + } + + /* Report interference levels on PDCH to the PCU */ + if (pdch_num > 0) + pcu_tx_interf_ind(bts->nr, trx->nr, fn, pdch_interf); } } @@ -243,7 +266,7 @@ /* Report interference measurements */ if (fn % 104 == 0) /* SACCH period */ - bts_report_interf_meas(bts); + bts_report_interf_meas(bts, fn); /* send time indication */ l1if_mph_time_ind(bts, fn); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I56f83db5264c246ec1b4b8a973105a4fc09931fb Gerrit-Change-Number: 24718 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 Jun 18 16:05:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 18 Jun 2021 16:05:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: add definition for PCU_IF_MSG_INTERF_IND In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24716 ) Change subject: library/PCUIF_Types: add definition for PCU_IF_MSG_INTERF_IND ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24716 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I07d25d694c2f39a79295c2948ab6155f46e5c639 Gerrit-Change-Number: 24716 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 18 Jun 2021 16:05:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 18 16:09:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 18 Jun 2021 16:09:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: add a testcase for PDCH interference reports In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24717 ) Change subject: BTS: add a testcase for PDCH interference reports ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24717 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I39e70524ad3d2ee51b537c8f786b7754a02949b1 Gerrit-Change-Number: 24717 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 18 Jun 2021 16: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 Jun 18 16:12:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 18 Jun 2021 16:12:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: add a test case for RF RESource INDication In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24567 ) Change subject: BTS: add a test case for RF RESource INDication ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I78b6d8beffa5228a28231b75728e7aebdd3cb23c Gerrit-Change-Number: 24567 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 18 Jun 2021 16:12:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 18 16:13:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 18 Jun 2021 16:13:14 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: measure interference levels on TRXC_IDLE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24715 ) Change subject: osmo-bts-trx: measure interference levels on TRXC_IDLE ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24715 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic3030dba5eb223177298aa4e43559a93dc3d1392 Gerrit-Change-Number: 24715 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 18 Jun 2021 16:13:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 18 16:19:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 18 Jun 2021 16:19:16 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: report PDCH interference levels to the PCU In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24718 ) Change subject: osmo-bts-trx: report PDCH interference levels to the PCU ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24718/1/src/common/pcu_sock.c File src/common/pcu_sock.c: https://gerrit.osmocom.org/c/osmo-bts/+/24718/1/src/common/pcu_sock.c at 948 PS1, Line 948: pcu_prim->msg_type != PCU_IF_MSG_INTERF_IND) what's the point in queueing these messages? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I56f83db5264c246ec1b4b8a973105a4fc09931fb Gerrit-Change-Number: 24718 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 18 Jun 2021 16:19:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 18 16:37:05 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 18 Jun 2021 16:37:05 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: report PDCH interference levels to the PCU In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24718 ) Change subject: osmo-bts-trx: report PDCH interference levels to the PCU ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24718/1/src/common/pcu_sock.c File src/common/pcu_sock.c: https://gerrit.osmocom.org/c/osmo-bts/+/24718/1/src/common/pcu_sock.c at 948 PS1, Line 948: pcu_prim->msg_type != PCU_IF_MSG_INTERF_IND) > what's the point in queueing these messages? You mean suppressing them? They're sent really often, and nobody wants to see tons of LOGL_NOTICE messages in the absence of the PCUIF connection. So this is why. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I56f83db5264c246ec1b4b8a973105a4fc09931fb Gerrit-Change-Number: 24718 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 18 Jun 2021 16:37:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 18 16:38:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 18 Jun 2021 16:38:15 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: report PDCH interference levels to the PCU In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24718 ) Change subject: osmo-bts-trx: report PDCH interference levels to the PCU ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24718/1/src/common/pcu_sock.c File src/common/pcu_sock.c: https://gerrit.osmocom.org/c/osmo-bts/+/24718/1/src/common/pcu_sock.c at 948 PS1, Line 948: pcu_prim->msg_type != PCU_IF_MSG_INTERF_IND) > You mean suppressing them? They're sent really often, and nobody wants to see tons of LOGL_NOTICE me [?] Ah sorry got it wrong, the if condition is only for the log, indeed. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I56f83db5264c246ec1b4b8a973105a4fc09931fb Gerrit-Change-Number: 24718 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 18 Jun 2021 16:38:15 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 18 16:41:03 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 18 Jun 2021 16:41:03 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix typo: s/bisc/bsic/ in 'show transceiver' References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24719 ) Change subject: osmo-bts-trx: fix typo: s/bisc/bsic/ in 'show transceiver' ...................................................................... osmo-bts-trx: fix typo: s/bisc/bsic/ in 'show transceiver' Change-Id: I39c6138e950ca7d3cda9c52d4e1cdaa218624641 --- M src/osmo-bts-trx/trx_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/19/24719/1 diff --git a/src/osmo-bts-trx/trx_vty.c b/src/osmo-bts-trx/trx_vty.c index d9d17d0..9af550e 100644 --- a/src/osmo-bts-trx/trx_vty.c +++ b/src/osmo-bts-trx/trx_vty.c @@ -86,7 +86,7 @@ vty_out(vty, " bsic : %d%s", l1h->config.bsic, VTY_NEWLINE); else - vty_out(vty, " bisc : undefined%s", VTY_NEWLINE); + vty_out(vty, " bsic : undefined%s", VTY_NEWLINE); } return CMD_SUCCESS; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I39c6138e950ca7d3cda9c52d4e1cdaa218624641 Gerrit-Change-Number: 24719 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 Jun 18 16:41:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 18 Jun 2021 16:41:26 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: print timeslot brief info in 'show transceiver' In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24714 ) Change subject: osmo-bts-trx: print timeslot brief info in 'show transceiver' ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24714/1/src/osmo-bts-trx/trx_vty.c File src/osmo-bts-trx/trx_vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/24714/1/src/osmo-bts-trx/trx_vty.c at 90 PS1, Line 90: vty_out(vty, " bisc : undefined%s", VTY_NEWLINE); > remark: typo here i nbsic, can you submit a patch on top of your patchset? See https://gerrit.osmocom.org/c/osmo-bts/+/24719. https://gerrit.osmocom.org/c/osmo-bts/+/24714/1/src/osmo-bts-trx/trx_vty.c at 99 PS1, Line 99: vty_out(vty, " timeslot #%u (%s)%s", > I'm not really sure this kind of info is revelant when doing show transceiver. [?] This command already exists in the common VTY code, so we cannot define another one. Ideally, we should somehow integrate model specific timeslot information into the generic (model independent) 'show timeslot' command. But this would require more efforts, and I unfortunately don't have time for that. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24714 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ibe624e4b801cae2dc00feb99441b7d606005b846 Gerrit-Change-Number: 24714 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 18 Jun 2021 16:41: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 Jun 18 16:41:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 18 Jun 2021 16:41:55 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix typo: s/bisc/bsic/ in 'show transceiver' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24719 ) Change subject: osmo-bts-trx: fix typo: s/bisc/bsic/ in 'show transceiver' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I39c6138e950ca7d3cda9c52d4e1cdaa218624641 Gerrit-Change-Number: 24719 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Fri, 18 Jun 2021 16:41: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 Jun 18 16:47:51 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 18 Jun 2021 16:47:51 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix typo: s/bisc/bsic/ in 'show transceiver' In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24719 ) Change subject: osmo-bts-trx: fix typo: s/bisc/bsic/ in 'show transceiver' ...................................................................... osmo-bts-trx: fix typo: s/bisc/bsic/ in 'show transceiver' Change-Id: I39c6138e950ca7d3cda9c52d4e1cdaa218624641 --- M src/osmo-bts-trx/trx_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-trx/trx_vty.c b/src/osmo-bts-trx/trx_vty.c index d9d17d0..9af550e 100644 --- a/src/osmo-bts-trx/trx_vty.c +++ b/src/osmo-bts-trx/trx_vty.c @@ -86,7 +86,7 @@ vty_out(vty, " bsic : %d%s", l1h->config.bsic, VTY_NEWLINE); else - vty_out(vty, " bisc : undefined%s", VTY_NEWLINE); + vty_out(vty, " bsic : undefined%s", VTY_NEWLINE); } return CMD_SUCCESS; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I39c6138e950ca7d3cda9c52d4e1cdaa218624641 Gerrit-Change-Number: 24719 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 18 16:56:32 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 18 Jun 2021 16:56:32 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix copy-pasted comment: s/sysmoBTS/osmo-bts-trx/ In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24713 ) Change subject: osmo-bts-trx: fix copy-pasted comment: s/sysmoBTS/osmo-bts-trx/ ...................................................................... Patch Set 2: Code-Review+2 Trivial change. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24713 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If796a8d55f1ad0642e5a81689161c7e7b70f4b5e Gerrit-Change-Number: 24713 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 18 Jun 2021 16: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 Fri Jun 18 16:56:37 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 18 Jun 2021 16:56:37 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix copy-pasted comment: s/sysmoBTS/osmo-bts-trx/ In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24713 ) Change subject: osmo-bts-trx: fix copy-pasted comment: s/sysmoBTS/osmo-bts-trx/ ...................................................................... osmo-bts-trx: fix copy-pasted comment: s/sysmoBTS/osmo-bts-trx/ Change-Id: If796a8d55f1ad0642e5a81689161c7e7b70f4b5e --- M src/osmo-bts-trx/trx_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/osmo-bts-trx/trx_vty.c b/src/osmo-bts-trx/trx_vty.c index 9af550e..a110f43 100644 --- a/src/osmo-bts-trx/trx_vty.c +++ b/src/osmo-bts-trx/trx_vty.c @@ -1,4 +1,4 @@ -/* VTY interface for sysmoBTS */ +/* VTY interface for osmo-bts-trx */ /* (C) 2013 by Andreas Eversberg * -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24713 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If796a8d55f1ad0642e5a81689161c7e7b70f4b5e Gerrit-Change-Number: 24713 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 18 16:56:57 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 18 Jun 2021 16:56:57 +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 (#2). 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 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 7 files changed, 157 insertions(+), 27 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/46/24646/2 -- 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: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen 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 Fri Jun 18 16:57:14 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 18 Jun 2021 16:57:14 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: print timeslot brief info in 'show transceiver' In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24714 to look at the new patch set (#2). Change subject: osmo-bts-trx: print timeslot brief info in 'show transceiver' ...................................................................... osmo-bts-trx: print timeslot brief info in 'show transceiver' Change-Id: Ibe624e4b801cae2dc00feb99441b7d606005b846 --- M src/osmo-bts-trx/trx_vty.c 1 file changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/14/24714/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24714 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ibe624e4b801cae2dc00feb99441b7d606005b846 Gerrit-Change-Number: 24714 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 18 21:32:24 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 18 Jun 2021 21:32:24 +0000 Subject: Change in osmo-bsc[master]: rewire build_encr_info() to return errors 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/osmo-bsc/+/24676 to look at the new patch set (#2). Change subject: rewire build_encr_info() to return errors ...................................................................... rewire build_encr_info() to return errors In build_encr_info(), validate the algorithm and key presence and return negative if errors are encountered. At all callers, handle the error case. An upcoming patch will add handling of Kc128 for A5/4 encryption and also wants to return error codes. This is a preparation for that patch: I7c458c8a7350f34ff79531b3c891e1b367614469 Notice that osmo-bsc does send the key along even if A5/0 is chosen, this patch keeps that behavior unchanged. Related: SYS#5324 Change-Id: I125d8aabceddd5b34cb98978cee9b6d2fc8fd0f2 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 35 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/76/24676/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24676 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I125d8aabceddd5b34cb98978cee9b6d2fc8fd0f2 Gerrit-Change-Number: 24676 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 18 21:41:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 18 Jun 2021 21:41:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: reduce args to f_cipher_mode() 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-ttcn3-hacks/+/24668 to look at the new patch set (#2). Change subject: bsc: reduce args to f_cipher_mode() ...................................................................... bsc: reduce args to f_cipher_mode() Instead of passing each part individually, simply pass the entire TestHdlrEncrParams to f_cipher_mode(). Preparation for A5/4. Add the kc128 to TestHdlrEncrParams instead of a function arg. kc128 is so far unused, but will be used in an upcoming patch adding A5/4. Related: SYS#5324 Change-Id: I2cb8282e55436da5ae64ab569df87d5d5a0dd2f0 --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn 2 files changed, 14 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/68/24668/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24668 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2cb8282e55436da5ae64ab569df87d5d5a0dd2f0 Gerrit-Change-Number: 24668 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 18 21:41:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 18 Jun 2021 21:41:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: implement ttcn API and cfg for A5/4 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-ttcn3-hacks/+/24669 to look at the new patch set (#2). Change subject: bsc: implement ttcn API and cfg for A5/4 ...................................................................... bsc: implement ttcn API and cfg for A5/4 Implement tools for OsmoBSC a5/4 support testing: - add g_pars.encr.enc_kc128 - in f_cipher_mode() and f_check_chan_act(), expect Kc128 key as appropriate. - osmo-bsc.cfg: allow a5/4 Related: SYS#5324 Change-Id: Ifa48a8498dde7d04fb29f497013bdb5a1e5f3597 --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M bsc/osmo-bsc.cfg 3 files changed, 22 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/69/24669/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifa48a8498dde7d04fb29f497013bdb5a1e5f3597 Gerrit-Change-Number: 24669 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 18 21:41:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 18 Jun 2021 21:41:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_cipher_mode(): fail quicker on key mismatch 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-ttcn3-hacks/+/24670 to look at the new patch set (#2). Change subject: bsc: f_cipher_mode(): fail quicker on key mismatch ...................................................................... bsc: f_cipher_mode(): fail quicker on key mismatch Also allow an empty key for A5/0. Related: SYS#5324 Change-Id: Ia79779f4229da4a5af271235a5e82c6fd59ea3a2 --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 18 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/24670/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia79779f4229da4a5af271235a5e82c6fd59ea3a2 Gerrit-Change-Number: 24670 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 18 21:41:20 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 18 Jun 2021 21:41:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667 ) Change subject: bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I83eca18d1b3d8d58177aa3750935ec5a3a985ca4 Gerrit-Change-Number: 24667 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 18 Jun 2021 21:41: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 Fri Jun 18 21:43:38 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 18 Jun 2021 21:43:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: reduce args to f_cipher_mode() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24668 ) Change subject: bsc: reduce args to f_cipher_mode() ...................................................................... Patch Set 2: Code-Review+2 trivially reshuffled some changes, let me just re-add the previous +2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24668 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2cb8282e55436da5ae64ab569df87d5d5a0dd2f0 Gerrit-Change-Number: 24668 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 18 Jun 2021 21: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 Fri Jun 18 21:46:21 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 18 Jun 2021 21:46:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_cipher_mode(): fail quicker on key mismatch In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24670 ) Change subject: bsc: f_cipher_mode(): fail quicker on key mismatch ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24670/1/bsc/MSC_ConnectionHandler.ttcn File bsc/MSC_ConnectionHandler.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24670/1/bsc/MSC_ConnectionHandler.ttcn at 734 PS1, Line 734: expect_kc := ''O; > I don't know the details in the tests, but as I staed in the other comment, the UE and BSC will stor [?] i noticed that i somehow inadvertently *created* the ''O case in the first place, so far osmo-bsc was always sending the key also for A5/0 and the test was always expecting the actual Kc also for A5/0. Placed some comments now to explain. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia79779f4229da4a5af271235a5e82c6fd59ea3a2 Gerrit-Change-Number: 24670 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 18 Jun 2021 21:46:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge 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 Jun 18 23:25:15 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 18 Jun 2021 23:25:15 +0000 Subject: Change in osmo-bts[master]: oml: fix handling of NM_ATT_INTERF_BOUND attribute In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24706 ) Change subject: oml: fix handling of NM_ATT_INTERF_BOUND attribute ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24706 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7f83d8e6eb6cc19e3e9529ba06617a902de23e35 Gerrit-Change-Number: 24706 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 18 Jun 2021 23:25:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 19 09:36:50 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 19 Jun 2021 09:36:50 +0000 Subject: Change in osmo-bsc[master]: rewire build_encr_info() to return errors In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24676 ) Change subject: rewire build_encr_info() to return errors ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24676 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I125d8aabceddd5b34cb98978cee9b6d2fc8fd0f2 Gerrit-Change-Number: 24676 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 19 Jun 2021 09:36:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 19 09:49:03 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 19 Jun 2021 09:49:03 +0000 Subject: Change in osmo-bsc[master]: dissolve gsm0808_cipher_mode() into bssmap_handle_cipher_mode() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24677 ) Change subject: dissolve gsm0808_cipher_mode() into bssmap_handle_cipher_mode() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7f7c635943990a251ae28ae7a0d69cc3a239a154 Gerrit-Change-Number: 24677 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 19 Jun 2021 09:49:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 19 09:49:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 19 Jun 2021 09:49:26 +0000 Subject: Change in osmo-bsc[master]: vty: allow A5/4 encryption in config In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24634 ) Change subject: vty: allow A5/4 encryption in config ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24634 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icac06ed554fd61bf7c4bfb1d5c3739a01f2915a4 Gerrit-Change-Number: 24634 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 19 Jun 2021 09: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 Sat Jun 19 09:53:56 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 19 Jun 2021 09:53:56 +0000 Subject: Change in osmo-bsc[master]: implement A5/4 in Ciphering Mode procedure In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24635 ) Change subject: implement A5/4 in Ciphering Mode procedure ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24635 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7c458c8a7350f34ff79531b3c891e1b367614469 Gerrit-Change-Number: 24635 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 19 Jun 2021 09:53:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 19 09:54:04 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 19 Jun 2021 09:54:04 +0000 Subject: Change in osmo-bsc[master]: rewire build_encr_info() to return errors In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24676 ) Change subject: rewire build_encr_info() to return errors ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24676 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I125d8aabceddd5b34cb98978cee9b6d2fc8fd0f2 Gerrit-Change-Number: 24676 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 19 Jun 2021 09:54:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 19 10:52:50 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 19 Jun 2021 10:52:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667 ) Change subject: bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup ...................................................................... Patch Set 2: (3 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667/2/bsc/BSC_Tests.ttcn File bsc/BSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667/2/bsc/BSC_Tests.ttcn at 3420 PS2, Line 3420: var PDU_BSSAP ass_tpl I find this confusing that a regular (not template) variable has '_tpl' in its name. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667/2/bsc/BSC_Tests.ttcn at 3430 PS2, Line 3430: valueof Are you sure valueof() is actually needed here? https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667/2/bsc/BSC_Tests.ttcn at 3439 PS2, Line 3439: codecList It would probably be good to accept this as an optional parameter in tr_BSSMAP_ComplL3(), so you would have: [not g_pars.aoip] BSSAP.receive(tr_BSSMAP_ComplL3(codecList := omit)); [g_pars.aoip] BSSAP.receive(tr_BSSMAP_ComplL3(codecList := ?)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I83eca18d1b3d8d58177aa3750935ec5a3a985ca4 Gerrit-Change-Number: 24667 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 19 Jun 2021 10:52:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 19 11:01:00 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 19 Jun 2021 11:01:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: reduce args to f_cipher_mode() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24668 ) Change subject: bsc: reduce args to f_cipher_mode() ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24668/2/bsc/MSC_ConnectionHandler.ttcn File bsc/MSC_ConnectionHandler.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24668/2/bsc/MSC_ConnectionHandler.ttcn at 722 PS2, Line 722: isvalue Looks like you need ispresent() here? https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24668/2/bsc/MSC_ConnectionHandler.ttcn at 723 PS2, Line 723: valueof There is no need to use valueof() here. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24668 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2cb8282e55436da5ae64ab569df87d5d5a0dd2f0 Gerrit-Change-Number: 24668 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Sat, 19 Jun 2021 11:01: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 Sat Jun 19 11:11:09 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 19 Jun 2021 11:11:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: implement ttcn API and cfg for A5/4 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669 ) Change subject: bsc: implement ttcn API and cfg for A5/4 ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669/2//COMMIT_MSG at 11 PS2, Line 11: add g_pars.encr.enc_kc128 AFAICS, it's actually added in previous commit, not here. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifa48a8498dde7d04fb29f497013bdb5a1e5f3597 Gerrit-Change-Number: 24669 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Sat, 19 Jun 2021 11:11: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 Sat Jun 19 11:16:00 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 19 Jun 2021 11:16:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_cipher_mode(): fail quicker on key mismatch In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24670 ) Change subject: bsc: f_cipher_mode(): fail quicker on key mismatch ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia79779f4229da4a5af271235a5e82c6fd59ea3a2 Gerrit-Change-Number: 24670 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 19 Jun 2021 11:16:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 19 11:17:28 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 19 Jun 2021 11:17:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_cipher_mode(): verify enc alg in Cipher Mode Complete msg In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24671 ) Change subject: bsc: f_cipher_mode(): verify enc alg in Cipher Mode Complete msg ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24671 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I88b386c55e23cc180131e95a005d08cbc3ec102b Gerrit-Change-Number: 24671 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 19 Jun 2021 11:17:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 19 11:18:51 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 19 Jun 2021 11:18:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_ciph_mode_a5_4 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24672 ) Change subject: bsc: add TC_ciph_mode_a5_4 ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24672 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2428c21663dfa7d67e769da0127f74e8c01dfb97 Gerrit-Change-Number: 24672 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 19 Jun 2021 11:18:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 19 11:19:33 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 19 Jun 2021 11:19:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_assignment_fr_a5_4 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24673 ) Change subject: bsc: add TC_assignment_fr_a5_4 ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24673 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9ad899bd15a1f7ba0a44764f7d2a94f5b627053f Gerrit-Change-Number: 24673 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 19 Jun 2021 11:19:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 19 11:20:10 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 19 Jun 2021 11:20:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add BSC_Tests.TC_assignment_fr_a5_4_fail In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24674 ) Change subject: bsc: add BSC_Tests.TC_assignment_fr_a5_4_fail ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7734a4a59797a9b21523c33f48815a8094f4e6ec Gerrit-Change-Number: 24674 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 19 Jun 2021 11: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 Sun Jun 20 19:18:05 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 20 Jun 2021 19:18:05 +0000 Subject: Change in osmo-pcu[master]: PCUIF protocol: add message definition for interference report References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24720 ) Change subject: PCUIF protocol: add message definition for interference report ...................................................................... PCUIF protocol: add message definition for interference report Change-Id: I4b5a4c25e984f9262f0afd30f9671f150edee20f Related: SYS#5313, OS#1569 --- M include/osmocom/pcu/pcuif_proto.h 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/20/24720/1 diff --git a/include/osmocom/pcu/pcuif_proto.h b/include/osmocom/pcu/pcuif_proto.h index cdd73d9..0c46c52 100644 --- a/include/osmocom/pcu/pcuif_proto.h +++ b/include/osmocom/pcu/pcuif_proto.h @@ -21,6 +21,7 @@ #define PCU_IF_MSG_INFO_IND 0x32 /* retrieve BTS info */ #define PCU_IF_MSG_ACT_REQ 0x40 /* activate/deactivate PDCH */ #define PCU_IF_MSG_TIME_IND 0x52 /* GSM time indication */ +#define PCU_IF_MSG_INTERF_IND 0x53 /* interference report */ #define PCU_IF_MSG_PAG_REQ 0x60 /* paging request */ #define PCU_IF_MSG_TXT_IND 0x70 /* Text indication for BTS */ @@ -210,6 +211,14 @@ uint8_t cause; } __attribute__ ((packed)); +/* Interference measurements on PDCH timeslots */ +struct gsm_pcu_if_interf_ind { + uint8_t trx_nr; + uint8_t spare[3]; + uint32_t fn; + uint8_t interf[8]; +} __attribute__ ((packed)); + struct gsm_pcu_if { /* context based information */ uint8_t msg_type; /* message type */ @@ -230,6 +239,7 @@ struct gsm_pcu_if_time_ind time_ind; struct gsm_pcu_if_pag_req pag_req; struct gsm_pcu_if_app_info_req app_info_req; + struct gsm_pcu_if_interf_ind interf_ind; } u; } __attribute__ ((packed)); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24720 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4b5a4c25e984f9262f0afd30f9671f150edee20f Gerrit-Change-Number: 24720 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 Jun 20 19:18:06 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 20 Jun 2021 19:18:06 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: ignore PDCH interference reports, do not log errors References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24721 ) Change subject: pcu_l1_if: ignore PDCH interference reports, do not log errors ...................................................................... pcu_l1_if: ignore PDCH interference reports, do not log errors Change-Id: I88e5c53131ee94bc3f3ff3f095077feb4ff272a7 Related: SYS#5313, OS#1569 --- M src/pcu_l1_if.cpp 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/21/24721/1 diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 818cb1a..b35c990 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -992,6 +992,9 @@ case PCU_IF_MSG_APP_INFO_REQ: rc = pcu_rx_app_info_req(bts, &pcu_prim->u.app_info_req); break; + case PCU_IF_MSG_INTERF_IND: + /* TODO: handle interference reports */ + break; default: LOGP(DL1IF, LOGL_ERROR, "Received unknown PCU msg type %d\n", msg_type); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24721 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I88e5c53131ee94bc3f3ff3f095077feb4ff272a7 Gerrit-Change-Number: 24721 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 Jun 20 20:53:35 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 20 Jun 2021 20:53:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667 ) Change subject: bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup ...................................................................... Patch Set 2: (3 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667/2/bsc/BSC_Tests.ttcn File bsc/BSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667/2/bsc/BSC_Tests.ttcn at 3420 PS2, Line 3420: var PDU_BSSAP ass_tpl > I find this confusing that a regular (not template) variable has '_tpl' in its name. ...where did i copy paste that from... f_establish_fully()'s arg is called that way... i guess i can change the name here https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667/2/bsc/BSC_Tests.ttcn at 3430 PS2, Line 3430: valueof > Are you sure valueof() is actually needed here? this is copied from the fourth line of f_establish_fully() https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667/2/bsc/BSC_Tests.ttcn at 3439 PS2, Line 3439: codecList > It would probably be good to accept this as an optional parameter in tr_BSSMAP_ComplL3(), so you wou [?] again a more or less blind copy from f_establish_fully() -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I83eca18d1b3d8d58177aa3750935ec5a3a985ca4 Gerrit-Change-Number: 24667 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 20 Jun 2021 20:53:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 20 20:57:34 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 20 Jun 2021 20:57:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: reduce args to f_cipher_mode() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24668 ) Change subject: bsc: reduce args to f_cipher_mode() ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24668/2/bsc/MSC_ConnectionHandler.ttcn File bsc/MSC_ConnectionHandler.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24668/2/bsc/MSC_ConnectionHandler.ttcn at 722 PS2, Line 722: isvalue > Looks like you need ispresent() here? that was there before my patch, are you sure i should change it? if we do, it should probably a separate patch (that need not be submitted by me, hint hint) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24668/2/bsc/MSC_ConnectionHandler.ttcn at 723 PS2, Line 723: valueof > There is no need to use valueof() here. same -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24668 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2cb8282e55436da5ae64ab569df87d5d5a0dd2f0 Gerrit-Change-Number: 24668 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 20 Jun 2021 20:57:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 20 20:58:05 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 20 Jun 2021 20:58:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: implement ttcn API and cfg for A5/4 In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669 ) Change subject: bsc: implement ttcn API and cfg for A5/4 ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669/2//COMMIT_MSG at 11 PS2, Line 11: add g_pars.encr.enc_kc128 > AFAICS, it's actually added in previous commit, not here. right, i reshuffled the patches, thx -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifa48a8498dde7d04fb29f497013bdb5a1e5f3597 Gerrit-Change-Number: 24669 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 20 Jun 2021 20:58:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 20 20:59:13 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 20 Jun 2021 20:59:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup 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-ttcn3-hacks/+/24667 to look at the new patch set (#3). Change subject: bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup ...................................................................... bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup reasons: * TC_assignment_fr_a5_4() runs an unusual sequence of messages: it first fully assigns an lchan, and after that sends a Cipher Mode Command. Usually, the ciphering happens as part of attaching (Compl L3). The new test TC_assignment_fr_a5_not_sup() does the ciphering in the usual sequence, and properly expects a Cipher Mode Reject. * TC_assignment_fr_a5_4 means to ask for an *unsupported* encryption algo. Since we are going to introduce A5/4 support shortly, we'll need to free up this name, for a successful A5/4 encryption test. New test TC_assignment_fr_a5_not_sup() asks for A5/5 encryption, which is not supported. Related: SYS#5324 Change-Id: I83eca18d1b3d8d58177aa3750935ec5a3a985ca4 --- M bsc/BSC_Tests.ttcn M bsc/expected-results.xml 2 files changed, 43 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/67/24667/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I83eca18d1b3d8d58177aa3750935ec5a3a985ca4 Gerrit-Change-Number: 24667 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 20 20:59:13 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 20 Jun 2021 20:59:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: implement ttcn API and cfg for A5/4 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-ttcn3-hacks/+/24669 to look at the new patch set (#3). Change subject: bsc: implement ttcn API and cfg for A5/4 ...................................................................... bsc: implement ttcn API and cfg for A5/4 Implement tools for OsmoBSC a5/4 support testing: - in f_cipher_mode() and f_check_chan_act(), expect Kc128 key as appropriate, using recently added g_pars.encr.enc_kc128 - osmo-bsc.cfg: allow a5/4 Related: SYS#5324 Change-Id: Ifa48a8498dde7d04fb29f497013bdb5a1e5f3597 --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M bsc/osmo-bsc.cfg 3 files changed, 22 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/69/24669/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifa48a8498dde7d04fb29f497013bdb5a1e5f3597 Gerrit-Change-Number: 24669 Gerrit-PatchSet: 3 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 Jun 20 21:00:53 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 20 Jun 2021 21:00:53 +0000 Subject: Change in osmo-bsc[master]: rewire build_encr_info() to return errors In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24676 ) Change subject: rewire build_encr_info() to return errors ...................................................................... rewire build_encr_info() to return errors In build_encr_info(), validate the algorithm and key presence and return negative if errors are encountered. At all callers, handle the error case. An upcoming patch will add handling of Kc128 for A5/4 encryption and also wants to return error codes. This is a preparation for that patch: I7c458c8a7350f34ff79531b3c891e1b367614469 Notice that osmo-bsc does send the key along even if A5/0 is chosen, this patch keeps that behavior unchanged. Related: SYS#5324 Change-Id: I125d8aabceddd5b34cb98978cee9b6d2fc8fd0f2 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 35 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 7525e31..c844f18 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -152,13 +152,36 @@ memset(out+len, 0x2b, GSM_MACBLOCK_LEN - len); } -/* Chapter 9.3.7: Encryption Information */ +/* Chapter 9.3.7: Encryption Information + * Return negative on error, number of bytes written to 'out' on success. + * 'out' must provide room for 17 bytes. */ static int build_encr_info(uint8_t *out, struct gsm_lchan *lchan) { *out++ = lchan->encr.alg_id & 0xff; - if (lchan->encr.key_len) - memcpy(out, lchan->encr.key, lchan->encr.key_len); - return lchan->encr.key_len + 1; + switch (lchan->encr.alg_id) { + case GSM0808_ALG_ID_A5_1: + case GSM0808_ALG_ID_A5_2: + case GSM0808_ALG_ID_A5_3: + if (!lchan->encr.key_len) { + LOG_LCHAN(lchan, LOGL_ERROR, "A5/%d encryption chosen, but missing Kc\n", lchan->encr.alg_id); + return -EINVAL; + } + /* fall through */ + case GSM0808_ALG_ID_A5_0: + /* When A5/0 is chosen, no encryption is active, so technically, no key is needed. However, 3GPP TS + * 48.058 9.3.7 Encryption Information stays quite silent about presence or absence of a key for A5/0. + * The only thing specified is how to indicate the length of the key; the possibility that the key may + * be zero length is not explicitly mentioned. So it seems that we should always send the key along, + * even for A5/0. Currently our ttcn3 test suite does expect the key to be present also for A5/0, see + * f_cipher_mode() in bsc/MSC_ConnectionHandler.ttcn. */ + if (lchan->encr.key_len) + memcpy(out, lchan->encr.key, lchan->encr.key_len); + return 1 + lchan->encr.key_len; + + default: + LOG_LCHAN(lchan, LOGL_ERROR, "A5/%d encryption not supported\n", lchan->encr.alg_id); + return -EINVAL; + } } /* If the TLV contain an RSL Cause IE, return pointer to the cause value. If there is no Cause IE, return @@ -595,6 +618,10 @@ rc = build_encr_info(encr_info, lchan); if (rc > 0) msgb_tlv_put(msg, RSL_IE_ENCR_INFO, rc, encr_info); + if (rc < 0) { + msgb_free(msg); + return rc; + } } switch (act_type) { @@ -688,6 +715,10 @@ rc = build_encr_info(encr_info, lchan); if (rc > 0) msgb_tlv_put(msg, RSL_IE_ENCR_INFO, rc, encr_info); + if (rc < 0) { + msgb_free(msg); + return rc; + } } if (gsm48_chan_mode_to_non_vamos(lchan->modify.ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24676 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I125d8aabceddd5b34cb98978cee9b6d2fc8fd0f2 Gerrit-Change-Number: 24676 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder 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 Sun Jun 20 21:00:54 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 20 Jun 2021 21:00:54 +0000 Subject: Change in osmo-bsc[master]: dissolve gsm0808_cipher_mode() into bssmap_handle_cipher_mode() In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24677 ) Change subject: dissolve gsm0808_cipher_mode() into bssmap_handle_cipher_mode() ...................................................................... dissolve gsm0808_cipher_mode() into bssmap_handle_cipher_mode() An upcoming patch for A5/4 would need to add a kc128 arg and reject cause rc to gsm0808_cipher_mode(). Instead prepare for less cruft by just having a single function. Related: SYS#5324 Change-Id: I7f7c635943990a251ae28ae7a0d69cc3a239a154 --- M src/osmo-bsc/osmo_bsc_bssap.c 1 file changed, 25 insertions(+), 32 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve laforge: Looks good to me, but someone else must approve diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index 563a957..9177e6b 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -416,34 +416,6 @@ return -1; } -/*! We received a GSM 08.08 CIPHER MODE from the MSC */ -static int gsm0808_cipher_mode(struct gsm_subscriber_connection *conn, int cipher, - const uint8_t *key, int len, int include_imeisv) -{ - if (cipher > 0 && key == NULL) { - LOGP(DRSL, LOGL_ERROR, "%s: Need to have an encryption key.\n", - bsc_subscr_name(conn->bsub)); - return -1; - } - - if (len > MAX_A5_KEY_LEN) { - LOGP(DRSL, LOGL_ERROR, "%s: The key is too long: %d\n", - bsc_subscr_name(conn->bsub), len); - return -1; - } - - LOGP(DRSL, LOGL_DEBUG, "(subscr %s) Cipher Mode: cipher=%d key=%s include_imeisv=%d\n", - bsc_subscr_name(conn->bsub), cipher, osmo_hexdump_nospc(key, len), include_imeisv); - - conn->lchan->encr.alg_id = RSL_ENC_ALG_A5(cipher); - if (key) { - conn->lchan->encr.key_len = len; - memcpy(conn->lchan->encr.key, key, len); - } - - return gsm48_send_rr_ciph_mode(conn->lchan, include_imeisv); -} - static int bssmap_handle_clear_cmd(struct gsm_subscriber_connection *conn, struct msgb *msg, unsigned int length) { @@ -553,13 +525,34 @@ goto reject; } - /* To complete the confusion, gsm0808_cipher_mode again expects the encryption as a number - * from 0 to 7. */ - if (gsm0808_cipher_mode(conn, chosen_cipher, enc_key, enc_key_len, - include_imeisv)) { + if (chosen_cipher > 0 && !enc_key_len) { + LOGP(DRSL, LOGL_ERROR, "%s: Need to have an encryption key.\n", + bsc_subscr_name(conn->bsub)); reject_cause = GSM0808_CAUSE_PROTOCOL_ERROR_BETWEEN_BSS_AND_MSC; goto reject; } + + if (enc_key_len > MAX_A5_KEY_LEN) { + LOGP(DRSL, LOGL_ERROR, "%s: The key is too long: %d\n", + bsc_subscr_name(conn->bsub), len); + reject_cause = GSM0808_CAUSE_PROTOCOL_ERROR_BETWEEN_BSS_AND_MSC; + goto reject; + } + + conn->lchan->encr.alg_id = RSL_ENC_ALG_A5(chosen_cipher); + if (enc_key_len) { + conn->lchan->encr.key_len = enc_key_len; + memcpy(conn->lchan->encr.key, enc_key, enc_key_len); + } + + LOGP(DRSL, LOGL_DEBUG, "(subscr %s) Cipher Mode: cipher=%d key=%s include_imeisv=%d\n", + bsc_subscr_name(conn->bsub), chosen_cipher, osmo_hexdump_nospc(enc_key, enc_key_len), + include_imeisv); + + if (gsm48_send_rr_ciph_mode(conn->lchan, include_imeisv) < 0) { + reject_cause = GSM0808_CAUSE_RADIO_INTERFACE_FAILURE; + goto reject; + } return 0; reject: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7f7c635943990a251ae28ae7a0d69cc3a239a154 Gerrit-Change-Number: 24677 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 20 21:00:54 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 20 Jun 2021 21:00:54 +0000 Subject: Change in osmo-bsc[master]: vty: allow A5/4 encryption in config In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24634 ) Change subject: vty: allow A5/4 encryption in config ...................................................................... vty: allow A5/4 encryption in config Add A5/4 to the internal mask of allowed algorithms. (Not actually working yet, A5/4 implementation follows in other patches.) Related: SYS#5324 Change-Id: Icac06ed554fd61bf7c4bfb1d5c3739a01f2915a4 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, but someone else must approve diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 707d99c..071e828 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -6777,7 +6777,7 @@ DEFUN_USRATTR(cfg_net_encryption, cfg_net_encryption_cmd, X(BSC_VTY_ATTR_NEW_LCHAN), - "encryption a5 <0-3> [<0-3>] [<0-3>] [<0-3>]", + "encryption a5 <0-4> [<0-4>] [<0-4>] [<0-4>]", "Encryption options\n" "GSM A5 Air Interface Encryption\n" "A5/n Algorithm Number\n" -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24634 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icac06ed554fd61bf7c4bfb1d5c3739a01f2915a4 Gerrit-Change-Number: 24634 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder 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 Sun Jun 20 21:00:55 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 20 Jun 2021 21:00:55 +0000 Subject: Change in osmo-bsc[master]: implement A5/4 in Ciphering Mode procedure In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24635 ) Change subject: implement A5/4 in Ciphering Mode procedure ...................................................................... implement A5/4 in Ciphering Mode procedure Receive and store the Kc128 key from MSC, and use as key sent to BTS if A5/4 is the chosen encryption algorithm. (A5/4 in handover will follow in a separate patch) Related: SYS#5324 Change-Id: I7c458c8a7350f34ff79531b3c891e1b367614469 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/osmo_bsc_bssap.c 3 files changed, 29 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, but someone else must approve diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 2a73f46..1755b92 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -554,6 +554,8 @@ uint8_t alg_id; uint8_t key_len; uint8_t key[MAX_A5_KEY_LEN]; + bool kc128_present; + uint8_t kc128[16]; }; #define LOGPLCHAN(lchan, ss, level, fmt, args...) \ diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index c844f18..86b1790 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -178,6 +178,14 @@ memcpy(out, lchan->encr.key, lchan->encr.key_len); return 1 + lchan->encr.key_len; + case GSM0808_ALG_ID_A5_4: + if (!lchan->encr.kc128_present) { + LOG_LCHAN(lchan, LOGL_ERROR, "A5/4 encryption chosen, but missing Kc128\n"); + return -EINVAL; + } + memcpy(out, lchan->encr.kc128, sizeof(lchan->encr.kc128)); + return 1 + sizeof(lchan->encr.kc128); + default: LOG_LCHAN(lchan, LOGL_ERROR, "A5/%d encryption not supported\n", lchan->encr.alg_id); return -EINVAL; diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index 9177e6b..6f0caa7 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -466,6 +466,7 @@ uint16_t enc_key_len; uint8_t enc_bits_msc; int chosen_cipher; + const struct tlv_p_entry *ie_kc128; if (!conn || !conn->lchan) { LOGP(DMSC, LOGL_ERROR, "No lchan/msc_data in cipher mode command.\n"); @@ -544,9 +545,26 @@ conn->lchan->encr.key_len = enc_key_len; memcpy(conn->lchan->encr.key, enc_key, enc_key_len); } + if ((ie_kc128 = TLVP_GET(&tp, GSM0808_IE_KC_128))) { + if (ie_kc128->len != sizeof(conn->lchan->encr.kc128)) { + LOGPFSML(conn->fi, LOGL_ERROR, "Kc128 IE has wrong length: %u (expect %zu)\n", + ie_kc128->len, sizeof(conn->lchan->encr.kc128)); + reject_cause = GSM0808_CAUSE_INFORMATION_ELEMENT_OR_FIELD_MISSING; + goto reject; + } + memcpy(conn->lchan->encr.kc128, ie_kc128->val, sizeof(conn->lchan->encr.kc128)); + conn->lchan->encr.kc128_present = true; + } - LOGP(DRSL, LOGL_DEBUG, "(subscr %s) Cipher Mode: cipher=%d key=%s include_imeisv=%d\n", + if (chosen_cipher == 4 && !conn->lchan->encr.kc128_present) { + LOGPFSML(conn->fi, LOGL_ERROR, "A5/4 encryption selected, but no Kc128\n"); + reject_cause = GSM0808_CAUSE_INFORMATION_ELEMENT_OR_FIELD_MISSING; + goto reject; + } + + LOGP(DRSL, LOGL_DEBUG, "(subscr %s) Cipher Mode: cipher=%d key=%s kc128=%s include_imeisv=%d\n", bsc_subscr_name(conn->bsub), chosen_cipher, osmo_hexdump_nospc(enc_key, enc_key_len), + ie_kc128? osmo_hexdump_nospc_c(OTC_SELECT, ie_kc128->val, ie_kc128->len) : "-", include_imeisv); if (gsm48_send_rr_ciph_mode(conn->lchan, include_imeisv) < 0) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24635 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7c458c8a7350f34ff79531b3c891e1b367614469 Gerrit-Change-Number: 24635 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen 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 Sun Jun 20 22:14:40 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 20 Jun 2021 22:14:40 +0000 Subject: Change in libosmocore[master]: add Kc128 to gsm0808 Create Ciphering Command References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24722 ) Change subject: add Kc128 to gsm0808 Create Ciphering Command ...................................................................... add Kc128 to gsm0808 Create Ciphering Command Prepare for A5/4 support in osmo-msc. Add new function gsm0808_create_cipher2() which takes a struct as argument instead of individual fields. This is akin to e.g. gsm0808_create_handover_request() below in the file, and allows backwards compatibly extending the argument list without needing a new function signature every time. Add struct gsm0808_cipher_mode_command, as argument list for gsm0808_create_cipher2(), with kc128 included. Encode the Kc128 IE in gsm0808_create_cipher2(). Implement gsm0808_create_cipher() by calling gsm0808_create_cipher2(). Change-Id: Ib3906085e0c6e5a496a9f755f0f786238a86ca34 --- M include/osmocom/gsm/gsm0808.h M include/osmocom/gsm/gsm0808_utils.h M src/gsm/gsm0808.c M src/gsm/gsm0808_utils.c M src/gsm/libosmogsm.map 5 files changed, 68 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/22/24722/1 diff --git a/include/osmocom/gsm/gsm0808.h b/include/osmocom/gsm/gsm0808.h index dc3610f..a7df316 100644 --- a/include/osmocom/gsm/gsm0808.h +++ b/include/osmocom/gsm/gsm0808.h @@ -54,6 +54,21 @@ struct msgb *gsm0808_create_clear_complete(void); struct msgb *gsm0808_create_cipher(const struct gsm0808_encrypt_info *ei, const uint8_t *cipher_response_mode); + +struct gsm0808_cipher_mode_command { + struct gsm0808_encrypt_info ei; + + bool cipher_response_mode_present; + uint8_t cipher_response_mode; + + bool kc128_present; + uint8_t kc128[16]; + + /* more items are defined in the spec and may be added later */ + bool more_items; /*< always set this to false */ +}; +struct msgb *gsm0808_create_cipher2(const struct gsm0808_cipher_mode_command *cmc); + struct msgb *gsm0808_create_cipher_complete(struct msgb *layer3, uint8_t alg_id); struct msgb *gsm0808_create_cipher_reject(enum gsm0808_cause cause); struct msgb *gsm0808_create_cipher_reject_ext(enum gsm0808_cause_class class, uint8_t ext); diff --git a/include/osmocom/gsm/gsm0808_utils.h b/include/osmocom/gsm/gsm0808_utils.h index 76e9064..60e665b 100644 --- a/include/osmocom/gsm/gsm0808_utils.h +++ b/include/osmocom/gsm/gsm0808_utils.h @@ -125,6 +125,8 @@ const struct gsm0808_encrypt_info *ei); int gsm0808_dec_encrypt_info(struct gsm0808_encrypt_info *ei, const uint8_t *elem, uint8_t len); +int gsm0808_enc_kc128(struct msgb *msg, const uint8_t *kc128); +int gsm0808_dec_kc128(uint8_t *kc128, const uint8_t *elem, uint8_t len); uint8_t gsm0808_enc_cell_id_list2(struct msgb *msg, const struct gsm0808_cell_id_list2 *cil); uint8_t gsm0808_enc_cell_id_list(struct msgb *msg, const struct gsm0808_cell_id_list *cil) diff --git a/src/gsm/gsm0808.c b/src/gsm/gsm0808.c index 3a39fd1..4f072f7 100644 --- a/src/gsm/gsm0808.c +++ b/src/gsm/gsm0808.c @@ -228,22 +228,32 @@ return msg; } -/*! Create BSSMAP Cipher Mode Command message +/*! Superseded by gsm0808_create_cipher2() to include Kc128. + * Create BSSMAP Cipher Mode Command message (without Kc128). * \param[in] ei Mandatory Encryption Information + * \param[in] kc128 optional kc128 key for A5/4 * \param[in] cipher_response_mode optional 1-byte Cipher Response Mode * \returns callee-allocated msgb with BSSMAP Cipher Mode Command message */ struct msgb *gsm0808_create_cipher(const struct gsm0808_encrypt_info *ei, const uint8_t *cipher_response_mode) { + struct gsm0808_cipher_mode_command cmc = { + .ei = *ei, + .cipher_response_mode_present = (cipher_response_mode != NULL), + .cipher_response_mode = (cipher_response_mode ? *cipher_response_mode : 0), + }; + return gsm0808_create_cipher2(&cmc); +} + +/*! Create BSSMAP Cipher Mode Command message. + * \param[in] cmc Information to encode. + * \returns callee-allocated msgb with BSSMAP Cipher Mode Command message */ +struct msgb *gsm0808_create_cipher2(const struct gsm0808_cipher_mode_command *cmc) +{ /* See also: 3GPP TS 48.008 3.2.1.30 CIPHER MODE COMMAND */ struct msgb *msg; - /* Mandatory emelent! */ - OSMO_ASSERT(ei); - - msg = - msgb_alloc_headroom(BSSMAP_MSG_SIZE, BSSMAP_MSG_HEADROOM, - "cipher-mode-command"); + msg = msgb_alloc_headroom(BSSMAP_MSG_SIZE, BSSMAP_MSG_HEADROOM, "cipher-mode-command"); if (!msg) return NULL; @@ -251,12 +261,16 @@ msgb_v_put(msg, BSS_MAP_MSG_CIPHER_MODE_CMD); /* Encryption Information 3.2.2.10 */ - gsm0808_enc_encrypt_info(msg, ei); + gsm0808_enc_encrypt_info(msg, &cmc->ei); /* Cipher Response Mode 3.2.2.34 */ - if (cipher_response_mode) + if (cmc->cipher_response_mode_present) msgb_tv_put(msg, GSM0808_IE_CIPHER_RESPONSE_MODE, - *cipher_response_mode); + cmc->cipher_response_mode); + + /* Kc128 3.2.2.109 */ + if (cmc->kc128_present) + gsm0808_enc_kc128(msg, cmc->kc128); /* pre-pend the header */ msg->l3h = diff --git a/src/gsm/gsm0808_utils.c b/src/gsm/gsm0808_utils.c index 94c9a79..b5b8431 100644 --- a/src/gsm/gsm0808_utils.c +++ b/src/gsm/gsm0808_utils.c @@ -767,6 +767,30 @@ return (int)(elem - old_elem); } +/*! Encode TS 48.008 Kc128 IE. + * \param[out] msg Message Buffer to which IE is to be appended. + * \param[in] kc128 Pointer to 16 bytes of Kc128 key data. + * \returns number of bytes appended to msg */ +int gsm0808_enc_kc128(struct msgb *msg, const uint8_t *kc128) +{ + uint8_t *start = msg->tail; + msgb_tv_fixed_put(msg, GSM0808_IE_KC_128, 16, kc128); + return msg->tail - start; +} + +/*! Decode TS 48.008 Kc128 IE. + * \param[out] kc128 Target buffer for received Kc128 key, 16 bytes long. + * \param[in] elem IE value to be decoded (without IE discriminator). + * \param[in] len Length of elem in bytes. + * \returns number of bytes parsed; negative on error */ +int gsm0808_dec_kc128(uint8_t *kc128, const uint8_t *elem, uint8_t len) +{ + if (len != 16) + return -EINVAL; + memcpy(kc128, elem, 16); + return len; +} + /* Store individual Cell Identifier information in a CGI, without clearing the remaining ones. * This is useful to supplement one CGI with information from more than one Cell Identifier, * which in turn is useful to match Cell Identifiers of differing kinds to each other. diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 437599b..475ec02 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -170,6 +170,7 @@ gsm0808_create_assignment_failure; gsm0808_create_ass_fail; gsm0808_create_cipher; +gsm0808_create_cipher2; gsm0808_create_cipher_complete; gsm0808_create_cipher_reject; gsm0808_create_cipher_reject_ext; @@ -218,6 +219,8 @@ gsm0808_dec_channel_type; gsm0808_enc_encrypt_info; gsm0808_dec_encrypt_info; +gsm0808_enc_kc128; +gsm0808_dec_kc128; gsm0808_enc_cell_id_list; gsm0808_enc_cell_id_list2; gsm0808_dec_cell_id_list; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24722 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib3906085e0c6e5a496a9f755f0f786238a86ca34 Gerrit-Change-Number: 24722 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 Jun 20 22:16:42 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 20 Jun 2021 22:16:42 +0000 Subject: Change in libosmocore[master]: [WIP] a54 libfuncs In-Reply-To: References: Message-ID: neels has abandoned this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24628 ) Change subject: [WIP] a54 libfuncs ...................................................................... Abandoned superseded by https://gerrit.osmocom.org/c/libosmocore/+/24722 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24628 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0fc25c6f23e76d210cbb9822b7e0a8184144ec42 Gerrit-Change-Number: 24628 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 20 22:27:08 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 20 Jun 2021 22:27:08 +0000 Subject: Change in libosmocore[master]: add Kc128 to gsm0808 Create Ciphering Command 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/+/24722 to look at the new patch set (#2). Change subject: add Kc128 to gsm0808 Create Ciphering Command ...................................................................... add Kc128 to gsm0808 Create Ciphering Command Prepare for A5/4 support in osmo-msc. Add new function gsm0808_create_cipher2() which takes a struct as argument instead of individual fields. This is akin to e.g. gsm0808_create_handover_request() below in the file, and allows backwards compatibly extending the argument list without needing a new function signature every time. Add struct gsm0808_cipher_mode_command, as argument list for gsm0808_create_cipher2(), with kc128 included. Encode the Kc128 IE in gsm0808_create_cipher2(). Implement gsm0808_create_cipher() by calling gsm0808_create_cipher2(). Change-Id: Ib3906085e0c6e5a496a9f755f0f786238a86ca34 --- M include/osmocom/gsm/gsm0808.h M include/osmocom/gsm/gsm0808_utils.h M src/gsm/gsm0808.c M src/gsm/gsm0808_utils.c M src/gsm/libosmogsm.map 5 files changed, 72 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/22/24722/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24722 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib3906085e0c6e5a496a9f755f0f786238a86ca34 Gerrit-Change-Number: 24722 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 Sun Jun 20 22:35:39 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 20 Jun 2021 22:35:39 +0000 Subject: Change in libosmocore[master]: add Kc128 to gsm0808 Create Ciphering Command In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24722 ) Change subject: add Kc128 to gsm0808 Create Ciphering Command ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24722/1/src/gsm/gsm0808.c File src/gsm/gsm0808.c: https://gerrit.osmocom.org/c/libosmocore/+/24722/1/src/gsm/gsm0808.c at 234 PS1, Line 234: * \param[in] kc128 optional kc128 key for A5/4 Looks like a leftover from an older version: there is no 'kc128' argument. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24722 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib3906085e0c6e5a496a9f755f0f786238a86ca34 Gerrit-Change-Number: 24722 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 20 Jun 2021 22:35:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 20 22:38:04 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 20 Jun 2021 22:38:04 +0000 Subject: Change in libosmocore[master]: add Kc128 to gsm0808 Create Ciphering Command In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24722 to look at the new patch set (#3). Change subject: add Kc128 to gsm0808 Create Ciphering Command ...................................................................... add Kc128 to gsm0808 Create Ciphering Command Prepare for A5/4 support in osmo-msc. Add new function gsm0808_create_cipher2() which takes a struct as argument instead of individual fields. This is akin to e.g. gsm0808_create_handover_request() below in the file, and allows backwards compatibly extending the argument list without needing a new function signature every time. Add struct gsm0808_cipher_mode_command, as argument list for gsm0808_create_cipher2(), with kc128 included. Encode the Kc128 IE in gsm0808_create_cipher2(). Implement gsm0808_create_cipher() by calling gsm0808_create_cipher2(). Change-Id: Ib3906085e0c6e5a496a9f755f0f786238a86ca34 --- M include/osmocom/gsm/gsm0808.h M include/osmocom/gsm/gsm0808_utils.h M src/gsm/gsm0808.c M src/gsm/gsm0808_utils.c M src/gsm/libosmogsm.map 5 files changed, 73 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/22/24722/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24722 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib3906085e0c6e5a496a9f755f0f786238a86ca34 Gerrit-Change-Number: 24722 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 00:21:47 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 21 Jun 2021 00:21:47 +0000 Subject: Change in osmo-pcu[master]: gprs_rlcmac_sched: fix incorrect length counted for CTR_RLC_DL_BYTES References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24723 ) Change subject: gprs_rlcmac_sched: fix incorrect length counted for CTR_RLC_DL_BYTES ...................................................................... gprs_rlcmac_sched: fix incorrect length counted for CTR_RLC_DL_BYTES msg->data_len is the total number of bytes available in the buffer, while for CTR_RLC_DL_BYTES we need to count size of the actual payload within the buffer. Change-Id: I6884d220f3d06a79b16c18ccc2d2a6cd047b8251 --- M src/gprs_rlcmac_sched.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/23/24723/1 diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 4c1a6ab..2adf1f3 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -506,7 +506,7 @@ } /* msg is now available */ - bts_do_rate_ctr_add(bts, CTR_RLC_DL_BYTES, msg->data_len); + bts_do_rate_ctr_add(bts, CTR_RLC_DL_BYTES, msgb_length(msg)); /* set USF */ OSMO_ASSERT(msgb_length(msg) > 0); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24723 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6884d220f3d06a79b16c18ccc2d2a6cd047b8251 Gerrit-Change-Number: 24723 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 Jun 21 00:32:58 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 21 Jun 2021 00:32:58 +0000 Subject: Change in osmo-pcu[master]: gprs_rlcmac_sched: fix incorrect length counted for CTR_RLC_DL_BYTES 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/+/24723 to look at the new patch set (#2). Change subject: gprs_rlcmac_sched: fix incorrect length counted for CTR_RLC_DL_BYTES ...................................................................... gprs_rlcmac_sched: fix incorrect length counted for CTR_RLC_DL_BYTES msg->data_len is the total number of bytes available in the buffer, while for CTR_RLC_DL_BYTES we need to count size of the actual payload within the buffer. A consequence of this bug: osmo-pcu was counting more Downlink bytes than it's actually transmitted. Change-Id: I6884d220f3d06a79b16c18ccc2d2a6cd047b8251 --- M src/gprs_rlcmac_sched.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/23/24723/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24723 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6884d220f3d06a79b16c18ccc2d2a6cd047b8251 Gerrit-Change-Number: 24723 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 Mon Jun 21 00:36:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 21 Jun 2021 00:36:24 +0000 Subject: Change in osmo-pcu[master]: gprs_rlcmac_sched: fix incorrect length for CTR_RLC_DL_BYTES 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/+/24723 to look at the new patch set (#3). Change subject: gprs_rlcmac_sched: fix incorrect length for CTR_RLC_DL_BYTES ...................................................................... gprs_rlcmac_sched: fix incorrect length for CTR_RLC_DL_BYTES msg->data_len is the total number of bytes available in the buffer, while for CTR_RLC_DL_BYTES we need to count size of the actual payload within the buffer. A consequence of this bug: osmo-pcu was counting more Downlink bytes than it's actually transmitted. Change-Id: I6884d220f3d06a79b16c18ccc2d2a6cd047b8251 --- M src/gprs_rlcmac_sched.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/23/24723/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24723 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6884d220f3d06a79b16c18ccc2d2a6cd047b8251 Gerrit-Change-Number: 24723 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 00:39:09 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 21 Jun 2021 00:39:09 +0000 Subject: Change in osmo-bsc[master]: abis_rsl: fix rsl_rx_ccch_load(): properly check the message length References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24724 ) Change subject: abis_rsl: fix rsl_rx_ccch_load(): properly check the message length ...................................................................... abis_rsl: fix rsl_rx_ccch_load(): properly check the message length msg->data_len is the total number of bytes available in the buffer, not the actual length of the payload. Use msgb_length(). Change-Id: I35bf0827ff14e84a755c1aa24a6efc06bc7b9f9b --- 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/24/24724/1 diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index ac8006d..f24d1ef 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1946,7 +1946,7 @@ osmo_signal_dispatch(SS_CCCH, S_CCCH_PAGING_LOAD, &sd); break; case RSL_IE_RACH_LOAD: - if (msg->data_len >= 7) { + if (msgb_length(msg) >= 7) { int32_t busy_percent, access_percent; /* build data for signal */ sd.rach_slot_count = rslh->data[2] << 8 | rslh->data[3]; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24724 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I35bf0827ff14e84a755c1aa24a6efc06bc7b9f9b Gerrit-Change-Number: 24724 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 Jun 21 00:44:44 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 21 Jun 2021 00:44:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: drop unused kc variables References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24725 ) Change subject: bsc: drop unused kc variables ...................................................................... bsc: drop unused kc variables Change-Id: I08323cbe079d357dfdd44ecddacd1c772941abaa --- M bsc/BSC_Tests.ttcn 1 file changed, 0 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/25/24725/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 8787b19..e20559b 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3434,7 +3434,6 @@ g_pars := f_gen_test_hdlr_pars(); var template PDU_BSSAP exp_fail := tr_BSSMAP_AssignmentFail; var PDU_BSSAP ass_cmd := f_gen_ass_req(); - const OCT8 kc := '0001020304050607'O; ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); /* Omit: ass_cmd.pdu.bssmap.assignmentRequest.codecList */ @@ -4684,7 +4683,6 @@ g_pars := f_gen_test_hdlr_pars(); var template PDU_BSSAP exp_compl := f_gen_exp_compl(); var PDU_BSSAP ass_cmd := f_gen_ass_req(); - const OCT8 kc := '0001020304050607'O; ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); @@ -4748,7 +4746,6 @@ g_pars := f_gen_test_hdlr_pars(); var template PDU_BSSAP exp_compl := f_gen_exp_compl(); var PDU_BSSAP ass_cmd := f_gen_ass_req(); - const OCT8 kc := '0001020304050607'O; ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); @@ -5902,7 +5899,6 @@ g_pars := f_gen_test_hdlr_pars(); var template PDU_BSSAP exp_compl := f_gen_exp_compl(); var PDU_BSSAP ass_cmd := f_gen_ass_req(); - const OCT8 kc := '0001020304050607'O; ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24725 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I08323cbe079d357dfdd44ecddacd1c772941abaa Gerrit-Change-Number: 24725 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 Jun 21 00:44:45 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 21 Jun 2021 00:44:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_tc_ho_int: do not override TestHdlrParams References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24726 ) Change subject: bsc: f_tc_ho_int: do not override TestHdlrParams ...................................................................... bsc: f_tc_ho_int: do not override TestHdlrParams Related: SYS#5324 Change-Id: Ibd1a887b197100bf7ffe1e37c6567690bc4c8f8c --- M bsc/BSC_Tests.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/26/24726/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index e20559b..107eb6b 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -4680,7 +4680,6 @@ /* intra-BSC hand-over between BTS0 and BTS1 */ private function f_tc_ho_int(charstring id) runs on MSC_ConnHdlr { - g_pars := f_gen_test_hdlr_pars(); var template PDU_BSSAP exp_compl := f_gen_exp_compl(); var PDU_BSSAP ass_cmd := f_gen_ass_req(); @@ -4720,13 +4719,14 @@ } testcase TC_ho_int() runs on test_CT { + var TestHdlrParams pars := f_gen_test_hdlr_pars(); var MSC_ConnHdlr vc_conn; f_init(2, true); f_sleep(1.0); f_ctrs_bsc_and_bts_init(); - vc_conn := f_start_handler(refers(f_tc_ho_int)); + vc_conn := f_start_handler(refers(f_tc_ho_int), pars); vc_conn.done; /* from f_establish_fully() */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24726 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibd1a887b197100bf7ffe1e37c6567690bc4c8f8c Gerrit-Change-Number: 24726 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 Jun 21 00:44:45 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 21 Jun 2021 00:44:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: split f_verify_encr_info() from f_cipher_mode() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24727 ) Change subject: bsc: split f_verify_encr_info() from f_cipher_mode() ...................................................................... bsc: split f_verify_encr_info() from f_cipher_mode() The verification of correct encryption information so far is part of f_cipher_mode(); put it in a separate new function f_verify_encr_info() so that it can be re-used for handover channel activation. Related: SYS#5324 Change-Id: I11602d23670f436a22b891fc744fe07e470f2b79 --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 57 insertions(+), 30 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/27/24727/1 diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 9b6f8b1..0e79420 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -713,12 +713,63 @@ } } +function f_verify_encr_info(RSL_Message rsl) runs on MSC_ConnHdlr { + var RSL_IE_Body encr_info; + var RSL_AlgId alg_rsl; + var template octetstring expect_kc; + + /* If no encryption is enabled, then make sure there is no RSL_IE_ENCR_INFO */ + if (not ispresent(g_pars.encr)) { + if (f_rsl_find_ie(rsl, RSL_IE_ENCR_INFO, encr_info)) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Found Encryption IE, but expected no encryption"); + } + setverdict(pass); + return; + } + + /* 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); + + if (alg_rsl == RSL_ALG_ID_A5_4 and ispresent(g_pars.encr.enc_kc128)) { + expect_kc := g_pars.encr.enc_kc128; + } else if (alg_rsl == RSL_ALG_ID_A5_0) { + /* When A5/0 is chosen, no encryption is active, so technically, no key is needed. However, 3GPP TS + * 48.058 9.3.7 Encryption Information stays quite silent about presence or absence of a key for A5/0. + * The only thing specified is how to indicate the length of the key; the possibility that the key may + * be zero length is not explicitly mentioned. So it seems that we should always send the key along, + * even for A5/0. Still, let's also allow a zero length key for A5/0. */ + expect_kc := (g_pars.encr.enc_key, ''O); + } else { + expect_kc := g_pars.encr.enc_key; + } + log("for encryption algo ", alg_rsl, " expect kc = ", expect_kc); + + if (not f_rsl_find_ie(rsl, RSL_IE_ENCR_INFO, encr_info)) { + if (alg_rsl == RSL_ALG_ID_A5_0) { + /* For A5/0, encryption is not active. It is fine to omit the Encryption Information in this + * case. Note that the first channel may see an RSL Encryption Command with A5/0 indicated, and + * a subsequent handover may activate a new channel without any Encryption Information. */ + setverdict(pass); + return; + } + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Missing Encryption Information IE"); + return; + } + + if (not match(encr_info, tr_EncrInfo(alg_rsl, expect_kc))) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Unexpected Kc in Encryption Information IE"); + return; + } + setverdict(pass); +} + function f_cipher_mode(TestHdlrEncrParams enc, boolean exp_fail := false) runs on MSC_ConnHdlr { var PDU_BSSAP bssap; var RSL_Message rsl; - var RSL_AlgId alg_rsl; - var template octetstring expect_kc; if (isvalue(enc.enc_kc128)) { BSSAP.send(ts_BSSMAP_CipherModeCmdKc128(enc.enc_alg, enc.enc_key, valueof(enc.enc_kc128))); @@ -726,39 +777,14 @@ BSSAP.send(ts_BSSMAP_CipherModeCmd(enc.enc_alg, enc.enc_key)); } - /* RSL uses a different representation of the encryption algorithm, - * so we need to convert first */ - alg_rsl := f_chipher_mode_bssmap_to_rsl(enc.enc_alg); - - if (alg_rsl == RSL_ALG_ID_A5_4 and ispresent(enc.enc_kc128)) { - expect_kc := enc.enc_kc128; - } else if (alg_rsl == RSL_ALG_ID_A5_0) { - /* When A5/0 is chosen, no encryption is active, so technically, no key is needed. However, 3GPP TS - * 48.058 9.3.7 Encryption Information stays quite silent about presence or absence of a key for A5/0. - * The only thing specified is how to indicate the length of the key; the possibility that the key may - * be zero length is not explicitly mentioned. So it seems that we should always send the key along, - * even for A5/0. Still, let's also allow a zero length key for A5/0. */ - expect_kc := (enc.enc_key, ''O); - } else { - expect_kc := enc.enc_key; - } - log("for encryption algo ", alg_rsl, " expect kc = ", expect_kc); - alt { /* RSL/UE Side */ - [] RSL.receive(tr_RSL_ENCR_CMD(g_chan_nr, ?, alg_rsl, ?)) -> value rsl { + [] RSL.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); - var RSL_IE_Body encr_info; - if (not f_rsl_find_ie(rsl, RSL_IE_ENCR_INFO, encr_info)) { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Missing Encryption IE in RSL ENCR CMD"); - } else { - if (not match(encr_info, tr_EncrInfo(alg_rsl, expect_kc))) { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, - "Unexpected Kc in Encryption IE in RSL ENCR CMD"); - } - } + f_verify_encr_info(rsl); + if (ischosen(l3.msgs.rrm.cipheringModeCommand)) { f_rsl_reply(ts_RRM_CiphModeCompl, rsl); } @@ -769,6 +795,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); if (oct2int(bssap.pdu.bssmap.cipherModeComplete.chosenEncryptionAlgorithm.algorithmIdentifier) != enum2int(alg_rsl)) { setverdict(fail, "Unexpected Encryption Algorithm ID in BSSMAP Cipher Mode Complete"); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24727 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I11602d23670f436a22b891fc744fe07e470f2b79 Gerrit-Change-Number: 24727 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 Jun 21 00:44:46 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 21 Jun 2021 00:44:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add intra-BSC handover tests with encryption References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24728 ) Change subject: bsc: add intra-BSC handover tests with encryption ...................................................................... bsc: add intra-BSC handover tests with encryption In f_tc_ho_int(), verify encryption information for the handover target's chan act. Add test cases calling f_tc_ho_int() with various A5/n encryption modes. Related: SYS#5324 Change-Id: Iaab26c708c106a61b762234d42ed9a52cdc2998c --- M bsc/BSC_Tests.ttcn 1 file changed, 50 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/28/24728/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 107eb6b..e41a370 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -4715,6 +4715,11 @@ /* Check the amount of MGCP transactions is still consistant with the * test expectation */ f_check_mgcp_expectations() + + /* Ensure the Channel Activation for the new channel contained the right encryption params. as_handover() set + * g_chan_nr to the new lchan that was handed over to. It lives in bts 1, so look it up at RSL1_PROC. */ + f_verify_encr_info(f_rslem_get_last_act(RSL1_PROC, 0, g_chan_nr)); + f_sleep(0.5); } @@ -4741,6 +4746,47 @@ f_shutdown_helper(); } +function f_tc_ho_int_a5(OCT1 encr_alg) 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_sleep(1.0); + + f_ctrs_bsc_and_bts_init(); + + vc_conn := f_start_handler(refers(f_tc_ho_int), pars); + vc_conn.done; + + /* from f_establish_fully() */ + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + /* from handover */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:completed"); + 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_shutdown_helper(); +} + +testcase TC_ho_int_a5_0() runs on test_CT { + f_tc_ho_int_a5('01'O); +} + +testcase TC_ho_int_a5_1() runs on test_CT { + f_tc_ho_int_a5('02'O); +} + +testcase TC_ho_int_a5_3() runs on test_CT { + f_tc_ho_int_a5('08'O); +} + +testcase TC_ho_int_a5_4() runs on test_CT { + f_tc_ho_int_a5('10'O); +} + /* intra-BSC hand-over with CONNection FAILure and cause Radio Link Failure: check RR release cause */ private function f_tc_ho_int_radio_link_failure(charstring id) runs on MSC_ConnHdlr { g_pars := f_gen_test_hdlr_pars(); @@ -9059,6 +9105,10 @@ execute( TC_err_84_unknown_msg() ); execute( TC_ho_int() ); + execute( TC_ho_int_a5_0() ); + execute( TC_ho_int_a5_1() ); + execute( TC_ho_int_a5_3() ); + execute( TC_ho_int_a5_4() ); execute( TC_ho_int_radio_link_failure() ); execute( TC_ho_out_of_this_bsc() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24728 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iaab26c708c106a61b762234d42ed9a52cdc2998c Gerrit-Change-Number: 24728 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 Jun 21 03:21:53 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 21 Jun 2021 03:21:53 +0000 Subject: Change in osmo-bsc[master]: support A5/4 in inter-BSC Handover References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24729 ) Change subject: support A5/4 in inter-BSC Handover ...................................................................... support A5/4 in inter-BSC Handover inter-BSC into this BSC: from BSSMAP Handover Request, parse and store Kc128. All else is already implemented: depending on the chosen encryption algorithm, Kc128 will end up in the Channel Activation. inter-BSC out of this BSC: nothing is needed to support A5/4, the BSSMAP Handover Required message does not contain any encryption related information. The MSC already knows the chosen algorithm. Related: SYS#5324 Change-Id: I7e9590e8c96aa50086148863ad9a2741b978e614 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/handover_fsm.c 2 files changed, 21 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/29/24729/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 1755b92..c5d2b86 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -241,6 +241,8 @@ struct gsm0808_channel_type ct; struct gsm0808_speech_codec_list scl; struct gsm0808_encrypt_info ei; + bool kc128_present; + uint8_t kc128[16]; struct gsm_classmark classmark; /* chosen_encr_alg reflects the encoded value as in RSL_ENC_ALG_A5(a5_numer): * chosen_encr_alg == 1 means A5/0 i.e. no encryption, chosen_encr_alg == 4 means A5/3. diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index cae5167..5f4b892 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -454,6 +454,7 @@ int payload_length; bool aoip = gscon_is_aoip(conn); bool sccplite = gscon_is_sccplite(conn); + bool has_a54 = false; if ((aoip && sccplite) || !(aoip || sccplite)) { LOG_HO(conn, LOGL_ERROR, "Received BSSMAP Handover Request, but conn is not" @@ -485,6 +486,15 @@ return false; } + if ((e = TLVP_GET(tp, GSM0808_IE_KC_128))) { + if (e->len != 16) { + LOG_HO(conn, LOGL_ERROR, "Invalid length in Kc128 IE: %u bytes (expected 16)\n", e->len); + return false; + } + memcpy(req->kc128, e->val, 16); + req->kc128_present = true; + } + if ((e = TLVP_GET(tp, GSM0808_IE_CLASSMARK_INFORMATION_TYPE_1))) { if (e->len != sizeof(req->classmark.classmark1)) { LOG_HO(conn, LOGL_ERROR, "Classmark Information 1 has wrong size\n"); @@ -513,9 +523,10 @@ req->chosen_encr_alg); } - LOG_HO(conn, LOGL_DEBUG, "Handover Request encryption info: chosen=A5/%u key=%s\n", - (req->chosen_encr_alg ? : 1) - 1, req->ei.key_len? - osmo_hexdump_nospc(req->ei.key, req->ei.key_len) : "none"); + LOG_HO(conn, LOGL_DEBUG, "Handover Request encryption info: chosen=A5/%u key=%s kc128=%s\n", + (req->chosen_encr_alg ? : 1) - 1, + req->ei.key_len ? osmo_hexdump_nospc(req->ei.key, req->ei.key_len) : "none", + has_a54 ? osmo_hexdump_nospc(req->kc128, 16) : "none"); if (TLVP_PRESENT(tp, GSM0808_IE_AOIP_TRASP_ADDR)) { int rc; @@ -720,6 +731,11 @@ info.encr.key_len = req->ei.key_len; } + if (req->kc128_present) { + memcpy(info.encr.kc128, req->kc128, 16); + info.encr.kc128_present = true; + } + if (req->last_eutran_plmn_valid) { conn->fast_return.allowed = ho->new_bts->srvcc_fast_return_allowed; conn->fast_return.last_eutran_plmn_valid = true; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24729 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7e9590e8c96aa50086148863ad9a2741b978e614 Gerrit-Change-Number: 24729 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 Jun 21 03:30:02 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 21 Jun 2021 03:30:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: split f_verify_encr_info() from f_cipher_mode() 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/+/24727 to look at the new patch set (#2). Change subject: bsc: split f_verify_encr_info() from f_cipher_mode() ...................................................................... bsc: split f_verify_encr_info() from f_cipher_mode() The verification of correct encryption information so far is part of f_cipher_mode(); put it in a separate new function f_verify_encr_info() so that it can be re-used for handover channel activation. Related: SYS#5324 Change-Id: I11602d23670f436a22b891fc744fe07e470f2b79 --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 59 insertions(+), 30 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/27/24727/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24727 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I11602d23670f436a22b891fc744fe07e470f2b79 Gerrit-Change-Number: 24727 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 03:30:03 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 21 Jun 2021 03:30:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSSMAP: add encr params to ts_BSSMAP_HandoverRequest References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24730 ) Change subject: BSSMAP: add encr params to ts_BSSMAP_HandoverRequest ...................................................................... BSSMAP: add encr params to ts_BSSMAP_HandoverRequest Related: SYS#5324 Change-Id: Idadc0e0a7a960a0ef88b3dca97c4fbaa16975b61 --- M library/BSSMAP_Templates.ttcn 1 file changed, 15 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/30/24730/1 diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index c6698b1..1dcbef1 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -477,7 +477,15 @@ key := kc } +template BSSMAP_IE_ChosenEncryptionAlgorithm ts_BSSMAP_IE_ChosenEncryptionAlgorithm(OCT1 algorithmIdentifier) := { + elementIdentifier := '2C'O, + algorithmIdentifier := algorithmIdentifier +} +template BSSMAP_IE_ChosenEncryptionAlgorithm tr_BSSMAP_IE_ChosenEncryptionAlgorithm(template OCT1 algorithmIdentifier := ?) := { + elementIdentifier := '2C'O, + algorithmIdentifier := algorithmIdentifier +} template (value) BSSMAP_IE_CircuitIdentityCode ts_BSSMAP_IE_CIC(uint11_t span, uint5_t ts) := { elementIdentifier := '01'O, /* overwritten */ @@ -956,7 +964,10 @@ template BSSMAP_IE_AoIP_TransportLayerAddress aoip_tla := omit, template BSSMAP_IE_CellIdentifier cell_id_target := ts_CellID_LAC_CI(1, 0), template BSSMAP_IE_CellIdentifier cell_id_source := ts_CellID_LAC_CI(1, 1), - template (omit) BSSMAP_oldToNewBSSIEs oldToNewBSSIEs := omit + template (omit) BSSMAP_oldToNewBSSIEs oldToNewBSSIEs := omit, + template BSSMAP_IE_EncryptionInformation encryptionInformation := ts_BSSMAP_IE_EncrInfo('0000000000000000'O,'01'O), + template (omit) BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm := omit, + template (omit) BSSMAP_IE_KC128 kC128 := omit ) modifies ts_BSSAP_BSSMAP := { pdu := { @@ -964,8 +975,7 @@ handoverRequest := { messageType := '10'O, channelType := ts_BSSMAP_IE_ChannelType, - encryptionInformation := - ts_BSSMAP_IE_EncrInfo('0000000000000000'O,'01'O), + encryptionInformation := encryptionInformation, classmarkInformationType := { classmarkInformationType1 := { elementIdentifier := '1D'O, @@ -989,7 +999,7 @@ groupCallReference := omit, talkerFlag := omit, configurationEvolutionIndication := omit, - chosenEncryptionAlgorithm := omit, + chosenEncryptionAlgorithm := chosenEncryptionAlgorithm, oldToNewBSSInfo := f_ts_BSSMAP_IE_OldToNewBSSInfo(oldToNewBSSIEs), lSAInformation := omit, lSAAccessControlSuppression := omit, @@ -1002,7 +1012,7 @@ aoIPTransportLayer := aoip_tla, codecList := omit, callIdentifier := omit, - kC128 := omit, + kC128 := kC128, globalCallReference := omit, lCLS_Configuration := omit, connectionStatusControl := omit -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24730 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idadc0e0a7a960a0ef88b3dca97c4fbaa16975b61 Gerrit-Change-Number: 24730 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 Jun 21 03:30:03 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 21 Jun 2021 03:30:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add tests for inter-BSC HO with encryption A5/{0, 1, 3, 4} References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24731 ) Change subject: bsc: add tests for inter-BSC HO with encryption A5/{0,1,3,4} ...................................................................... bsc: add tests for inter-BSC HO with encryption A5/{0,1,3,4} Only ho-into-this-bsc tests are required, since the out-of-this-bsc message (Handover Required) does not involve any encryption information. Related: SYS#5324 Change-Id: I8de65eb9a5bd9a58add55e821f2a559c9a81edc1 --- M bsc/BSC_Tests.ttcn 1 file changed, 58 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/31/24731/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index e41a370..cd3638d 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1507,15 +1507,38 @@ } function f_gen_handover_req(integer bssap_idx := 0, charstring aoip_tla := "1.2.3.4", - template (omit) BSSMAP_oldToNewBSSIEs oldToNewBSSIEs := omit) return PDU_BSSAP { + template (omit) BSSMAP_oldToNewBSSIEs oldToNewBSSIEs := omit, + template (omit) TestHdlrEncrParams enc := omit) return PDU_BSSAP { var PDU_BSSAP ho_req; + + var BSSMAP_IE_EncryptionInformation encryptionInformation := + valueof(ts_BSSMAP_IE_EncrInfo('0000000000000000'O,'01'O)); + var template BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm := omit; + var template BSSMAP_IE_KC128 kc128 := omit; + if (ispresent(enc)) { + var TestHdlrEncrParams v_enc := valueof(enc); + 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))); + if (ispresent(v_enc.enc_kc128)) { + kc128 := ts_BSSMAP_IE_Kc128(v_enc.enc_kc128); + } + } + if (mp_bssap_cfg[bssap_idx].transport == BSSAP_TRANSPORT_AoIP) { var BSSMAP_IE_AoIP_TransportLayerAddress tla := valueof(f_ts_BSSMAP_IE_AoIP_TLA(aoip_tla, 2342)); - ho_req := valueof(ts_BSSMAP_HandoverRequest(omit, tla, oldToNewBSSIEs := oldToNewBSSIEs)); + ho_req := valueof(ts_BSSMAP_HandoverRequest(omit, tla, oldToNewBSSIEs := oldToNewBSSIEs, + encryptionInformation := encryptionInformation, + chosenEncryptionAlgorithm := chosenEncryptionAlgorithm, + kC128 := kc128)); } else { var BSSMAP_IE_CircuitIdentityCode cic := valueof(ts_BSSMAP_IE_CIC(0,1)); - ho_req := valueof(ts_BSSMAP_HandoverRequest(cic, omit, oldToNewBSSIEs := oldToNewBSSIEs)); + ho_req := valueof(ts_BSSMAP_HandoverRequest(cic, omit, oldToNewBSSIEs := oldToNewBSSIEs, + encryptionInformation := encryptionInformation, + chosenEncryptionAlgorithm := chosenEncryptionAlgorithm, + kC128 := kc128)); } return ho_req; } @@ -5285,7 +5308,8 @@ BSSAP.send(ts_BSSAP_Conn_Req(g_pars.sccp_addr_bsc, g_pars.sccp_addr_msc, f_gen_handover_req(aoip_tla := g_pars.host_aoip_tla, - oldToNewBSSIEs := oldToNewBSSIEs))); + oldToNewBSSIEs := oldToNewBSSIEs, + enc := g_pars.encr))); BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_CONF_IND); /* The RSL Emulation magically accepts the Chan Activ behind the scenes. */ @@ -5295,6 +5319,9 @@ BSSAP.receive(tr_BSSMAP_HandoverRequestAcknowledge(?)) -> value rx_bssap; + /* we're sure that the channel activation is done now, verify the encryption parameters in it */ + f_verify_encr_info(f_rslem_get_last_act(RSL_PROC, 0, g_chan_nr)); + ho_command_str := rx_bssap.pdu.bssmap.handoverRequestAck.layer3Information.layer3info; log("Received L3 Info in HO Request Ack: ", ho_command_str); var PDU_ML3_NW_MS ho_command := dec_PDU_ML3_NW_MS(ho_command_str); @@ -5375,6 +5402,29 @@ f_shutdown_helper(); } +function f_tc_ho_into_this_bsc_a5(OCT1 encr_alg) runs on test_CT { + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + pars.encr := valueof(t_EncrParams(encr_alg, f_rnd_octstring(8), f_rnd_octstring(16))); + f_tc_ho_into_this_bsc_main(pars); + f_shutdown_helper(); +} + +testcase TC_ho_into_this_bsc_a5_0() runs on test_CT { + f_tc_ho_into_this_bsc_a5('01'O); +} + +testcase TC_ho_into_this_bsc_a5_1() runs on test_CT { + f_tc_ho_into_this_bsc_a5('02'O); +} + +testcase TC_ho_into_this_bsc_a5_3() runs on test_CT { + f_tc_ho_into_this_bsc_a5('08'O); +} + +testcase TC_ho_into_this_bsc_a5_4() runs on test_CT { + f_tc_ho_into_this_bsc_a5('10'O); +} + testcase TC_ho_into_this_bsc_tla_v6() runs on test_CT { var TestHdlrParams pars := f_gen_test_hdlr_pars(); pars.host_aoip_tla := "::6"; @@ -9117,6 +9167,10 @@ execute( TC_ho_out_fail_no_result_after_ho_cmd() ); execute( TC_ho_into_this_bsc() ); + execute( TC_ho_into_this_bsc_a5_0() ); + execute( TC_ho_into_this_bsc_a5_1() ); + execute( TC_ho_into_this_bsc_a5_3() ); + execute( TC_ho_into_this_bsc_a5_4() ); if (mp_bssap_cfg[0].transport == BSSAP_TRANSPORT_AoIP) { execute( TC_ho_into_this_bsc_tla_v6() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24731 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8de65eb9a5bd9a58add55e821f2a559c9a81edc1 Gerrit-Change-Number: 24731 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 Jun 21 03:39:05 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 21 Jun 2021 03:39:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: implement ttcn API and cfg for A5/4 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-ttcn3-hacks/+/24669 to look at the new patch set (#4). Change subject: bsc: implement ttcn API and cfg for A5/4 ...................................................................... bsc: implement ttcn API and cfg for A5/4 Implement tools for OsmoBSC a5/4 support testing: - in f_cipher_mode() and f_check_chan_act(), expect Kc128 key as appropriate, using recently added g_pars.encr.enc_kc128 - osmo-bsc.cfg: allow a5/4 Related: SYS#5324 Change-Id: Ifa48a8498dde7d04fb29f497013bdb5a1e5f3597 --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M bsc/osmo-bsc.cfg 3 files changed, 20 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/69/24669/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifa48a8498dde7d04fb29f497013bdb5a1e5f3597 Gerrit-Change-Number: 24669 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 Mon Jun 21 03:39:05 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 21 Jun 2021 03:39:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_cipher_mode(): fail quicker on key mismatch 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-ttcn3-hacks/+/24670 to look at the new patch set (#4). Change subject: bsc: f_cipher_mode(): fail quicker on key mismatch ...................................................................... bsc: f_cipher_mode(): fail quicker on key mismatch Related: SYS#5324 Change-Id: Ia79779f4229da4a5af271235a5e82c6fd59ea3a2 --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 11 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/24670/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia79779f4229da4a5af271235a5e82c6fd59ea3a2 Gerrit-Change-Number: 24670 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 Mon Jun 21 03:39:05 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 21 Jun 2021 03:39:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: split f_verify_encr_info() from f_cipher_mode() 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/+/24727 to look at the new patch set (#3). Change subject: bsc: split f_verify_encr_info() from f_cipher_mode() ...................................................................... bsc: split f_verify_encr_info() from f_cipher_mode() The verification of correct encryption information so far is part of f_cipher_mode(); put it in a separate new function f_verify_encr_info() so that it can be re-used for handover channel activation. Related: SYS#5324 Change-Id: I11602d23670f436a22b891fc744fe07e470f2b79 --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 59 insertions(+), 30 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/27/24727/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24727 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I11602d23670f436a22b891fc744fe07e470f2b79 Gerrit-Change-Number: 24727 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 Mon Jun 21 03:39:05 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 21 Jun 2021 03:39:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add intra-BSC handover tests with encryption 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/+/24728 to look at the new patch set (#3). Change subject: bsc: add intra-BSC handover tests with encryption ...................................................................... bsc: add intra-BSC handover tests with encryption In f_tc_ho_int(), verify encryption information for the handover target's chan act. Add test cases calling f_tc_ho_int() with various A5/n encryption modes. Related: SYS#5324 Change-Id: Iaab26c708c106a61b762234d42ed9a52cdc2998c --- M bsc/BSC_Tests.ttcn 1 file changed, 50 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/28/24728/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24728 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iaab26c708c106a61b762234d42ed9a52cdc2998c Gerrit-Change-Number: 24728 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 Mon Jun 21 03:39:05 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 21 Jun 2021 03:39:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSSMAP: add encr params to ts_BSSMAP_HandoverRequest 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/+/24730 to look at the new patch set (#2). Change subject: BSSMAP: add encr params to ts_BSSMAP_HandoverRequest ...................................................................... BSSMAP: add encr params to ts_BSSMAP_HandoverRequest Related: SYS#5324 Change-Id: Idadc0e0a7a960a0ef88b3dca97c4fbaa16975b61 --- M library/BSSMAP_Templates.ttcn 1 file changed, 15 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/30/24730/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24730 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idadc0e0a7a960a0ef88b3dca97c4fbaa16975b61 Gerrit-Change-Number: 24730 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 03:39:05 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 21 Jun 2021 03:39:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add tests for inter-BSC HO with encryption A5/{0, 1, 3, 4} 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/+/24731 to look at the new patch set (#2). Change subject: bsc: add tests for inter-BSC HO with encryption A5/{0,1,3,4} ...................................................................... bsc: add tests for inter-BSC HO with encryption A5/{0,1,3,4} Only ho-into-this-bsc tests are required, since the out-of-this-bsc message (Handover Required) does not involve any encryption information. Related: SYS#5324 Change-Id: I8de65eb9a5bd9a58add55e821f2a559c9a81edc1 --- M bsc/BSC_Tests.ttcn 1 file changed, 58 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/31/24731/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24731 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8de65eb9a5bd9a58add55e821f2a559c9a81edc1 Gerrit-Change-Number: 24731 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 03:39:10 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 21 Jun 2021 03:39:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: also allow empty key for A5/0 References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24732 ) Change subject: bsc: also allow empty key for A5/0 ...................................................................... bsc: also allow empty key for A5/0 Change-Id: Id54abc09dd62d7247a970a03ed8c2209b641f511 --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 8 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/32/24732/1 diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 12712db..9b6f8b1 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -718,7 +718,7 @@ var PDU_BSSAP bssap; var RSL_Message rsl; var RSL_AlgId alg_rsl; - var octetstring expect_kc; + var template octetstring expect_kc; if (isvalue(enc.enc_kc128)) { BSSAP.send(ts_BSSMAP_CipherModeCmdKc128(enc.enc_alg, enc.enc_key, valueof(enc.enc_kc128))); @@ -732,6 +732,13 @@ if (alg_rsl == RSL_ALG_ID_A5_4 and ispresent(enc.enc_kc128)) { expect_kc := enc.enc_kc128; + } else if (alg_rsl == RSL_ALG_ID_A5_0) { + /* When A5/0 is chosen, no encryption is active, so technically, no key is needed. However, 3GPP TS + * 48.058 9.3.7 Encryption Information stays quite silent about presence or absence of a key for A5/0. + * The only thing specified is how to indicate the length of the key; the possibility that the key may + * be zero length is not explicitly mentioned. So it seems that we should always send the key along, + * even for A5/0. Still, let's also allow a zero length key for A5/0. */ + expect_kc := (enc.enc_key, ''O); } else { expect_kc := enc.enc_key; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24732 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id54abc09dd62d7247a970a03ed8c2209b641f511 Gerrit-Change-Number: 24732 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 Jun 21 06:13:12 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 21 Jun 2021 06:13:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: remove deprecated 'alpha 0' from osmo-pcu.cfg In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24710 ) Change subject: PCU: remove deprecated 'alpha 0' from osmo-pcu.cfg ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24710 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I38d2d141a0743cc4bb61f62a98d7cc5c1384cff5 Gerrit-Change-Number: 24710 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 06:13: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 Jun 21 08:18:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Jun 2021 08:18:14 +0000 Subject: Change in osmo-pcu[master]: PCUIF protocol: add message definition for interference report In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24720 ) Change subject: PCUIF protocol: add message definition for interference report ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24720 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4b5a4c25e984f9262f0afd30f9671f150edee20f Gerrit-Change-Number: 24720 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 08:18:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 08:18:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Jun 2021 08:18:24 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: ignore PDCH interference reports, do not log errors In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24721 ) Change subject: pcu_l1_if: ignore PDCH interference reports, do not log errors ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24721 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I88e5c53131ee94bc3f3ff3f095077feb4ff272a7 Gerrit-Change-Number: 24721 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 08:18:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 08:18:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Jun 2021 08:18:55 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: ignore PDCH interference reports, do not log errors In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24721 ) Change subject: pcu_l1_if: ignore PDCH interference reports, do not log errors ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/24721/1/src/pcu_l1_if.cpp File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/24721/1/src/pcu_l1_if.cpp at 996 PS1, Line 996: /* TODO: handle interference reports */ You could so far simpli call a function and print them? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24721 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I88e5c53131ee94bc3f3ff3f095077feb4ff272a7 Gerrit-Change-Number: 24721 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 08:18: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 Mon Jun 21 08:22:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Jun 2021 08:22:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667 ) Change subject: bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667/3/bsc/BSC_Tests.ttcn File bsc/BSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667/3/bsc/BSC_Tests.ttcn at 3430 PS3, Line 3430: codecType := valueof(exp_ass_req.pdu.bssmap.assignmentRequest.codecList.codecElements[0].codecType); exp_ass_req is a value, so no need to valueof() indeed. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I83eca18d1b3d8d58177aa3750935ec5a3a985ca4 Gerrit-Change-Number: 24667 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 08:22: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 Mon Jun 21 08:25:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Jun 2021 08:25:33 +0000 Subject: Change in osmo-pcu[master]: gprs_rlcmac_sched: fix incorrect length for CTR_RLC_DL_BYTES In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24723 ) Change subject: gprs_rlcmac_sched: fix incorrect length for CTR_RLC_DL_BYTES ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24723 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6884d220f3d06a79b16c18ccc2d2a6cd047b8251 Gerrit-Change-Number: 24723 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 08: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 Mon Jun 21 08:26:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Jun 2021 08:26:06 +0000 Subject: Change in osmo-bsc[master]: abis_rsl: fix rsl_rx_ccch_load(): properly check the message length In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24724 ) Change subject: abis_rsl: fix rsl_rx_ccch_load(): properly check the message length ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24724 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I35bf0827ff14e84a755c1aa24a6efc06bc7b9f9b Gerrit-Change-Number: 24724 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 08:26: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 Jun 21 08:26:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Jun 2021 08:26:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: drop unused kc variables In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24725 ) Change subject: bsc: drop unused kc variables ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24725 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I08323cbe079d357dfdd44ecddacd1c772941abaa Gerrit-Change-Number: 24725 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 08:26:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 08:26:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Jun 2021 08:26:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_tc_ho_int: do not override TestHdlrParams In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24726 ) Change subject: bsc: f_tc_ho_int: do not override TestHdlrParams ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24726 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibd1a887b197100bf7ffe1e37c6567690bc4c8f8c Gerrit-Change-Number: 24726 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 08:26: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 Jun 21 08:27:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Jun 2021 08:27:34 +0000 Subject: Change in osmo-bsc[master]: support A5/4 in inter-BSC Handover In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24729 ) Change subject: support A5/4 in inter-BSC Handover ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24729 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7e9590e8c96aa50086148863ad9a2741b978e614 Gerrit-Change-Number: 24729 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 08: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 Mon Jun 21 08:28:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Jun 2021 08:28:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: implement ttcn API and cfg for A5/4 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669 ) Change subject: bsc: implement ttcn API and cfg for A5/4 ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifa48a8498dde7d04fb29f497013bdb5a1e5f3597 Gerrit-Change-Number: 24669 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 21 Jun 2021 08: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 Mon Jun 21 08:28:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Jun 2021 08:28:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_cipher_mode(): fail quicker on key mismatch In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24670 ) Change subject: bsc: f_cipher_mode(): fail quicker on key mismatch ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia79779f4229da4a5af271235a5e82c6fd59ea3a2 Gerrit-Change-Number: 24670 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 08:28:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 08:30:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Jun 2021 08:30:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: split f_verify_encr_info() from f_cipher_mode() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24727 ) Change subject: bsc: split f_verify_encr_info() from f_cipher_mode() ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24727 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I11602d23670f436a22b891fc744fe07e470f2b79 Gerrit-Change-Number: 24727 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 08:30: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 Jun 21 08:31:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Jun 2021 08:31:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add intra-BSC handover tests with encryption In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24728 ) Change subject: bsc: add intra-BSC handover tests with encryption ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24728 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iaab26c708c106a61b762234d42ed9a52cdc2998c Gerrit-Change-Number: 24728 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 08:31:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 08:31:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Jun 2021 08:31:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSSMAP: add encr params to ts_BSSMAP_HandoverRequest In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24730 ) Change subject: BSSMAP: add encr params to ts_BSSMAP_HandoverRequest ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24730 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idadc0e0a7a960a0ef88b3dca97c4fbaa16975b61 Gerrit-Change-Number: 24730 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 08:31:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 08:32:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Jun 2021 08:32:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add tests for inter-BSC HO with encryption A5/{0, 1, 3, 4} In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24731 ) Change subject: bsc: add tests for inter-BSC HO with encryption A5/{0,1,3,4} ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24731 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8de65eb9a5bd9a58add55e821f2a559c9a81edc1 Gerrit-Change-Number: 24731 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 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 Mon Jun 21 08:33:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Jun 2021 08:33:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: also allow empty key for A5/0 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24732 ) Change subject: bsc: also allow empty key for A5/0 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24732 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id54abc09dd62d7247a970a03ed8c2209b641f511 Gerrit-Change-Number: 24732 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 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 Jun 21 09:36:13 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 21 Jun 2021 09:36:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: remove deprecated 'alpha 0' from osmo-pcu.cfg In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24710 ) Change subject: PCU: remove deprecated 'alpha 0' from osmo-pcu.cfg ...................................................................... PCU: remove deprecated 'alpha 0' from osmo-pcu.cfg Change-Id: I38d2d141a0743cc4bb61f62a98d7cc5c1384cff5 --- M pcu/osmo-pcu.cfg 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/osmo-pcu.cfg b/pcu/osmo-pcu.cfg index 2c2d692..31f8cda 100644 --- a/pcu/osmo-pcu.cfg +++ b/pcu/osmo-pcu.cfg @@ -29,7 +29,6 @@ flow-control-interval 10 cs 2 alloc-algorithm dynamic - alpha 0 gamma 0 pcu-socket /tmp/pcu_bts neighbor resolution 127.0.0.1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24710 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I38d2d141a0743cc4bb61f62a98d7cc5c1384cff5 Gerrit-Change-Number: 24710 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 09:49:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Jun 2021 09:49:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSM_SystemInformation: Fix trailing whitespace References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24733 ) Change subject: GSM_SystemInformation: Fix trailing whitespace ...................................................................... GSM_SystemInformation: Fix trailing whitespace Change-Id: Ie910d376c472f23bde7c357baca004a25053f5ce --- M library/GSM_SystemInformation.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/33/24733/1 diff --git a/library/GSM_SystemInformation.ttcn b/library/GSM_SystemInformation.ttcn index 0356e7d..86ff817 100644 --- a/library/GSM_SystemInformation.ttcn +++ b/library/GSM_SystemInformation.ttcn @@ -160,7 +160,7 @@ rach_control := ?, rest_octets := ? }; - + /* 44.018 9.1.36 */ type record SystemInformationType4 { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24733 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie910d376c472f23bde7c357baca004a25053f5ce Gerrit-Change-Number: 24733 Gerrit-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 Jun 21 09:55:45 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 21 Jun 2021 09:55:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: drop unused kc variables In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24725 ) Change subject: bsc: drop unused kc variables ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24725 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I08323cbe079d357dfdd44ecddacd1c772941abaa Gerrit-Change-Number: 24725 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 09:55:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 09:56:10 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 21 Jun 2021 09:56:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSM_SystemInformation: Fix trailing whitespace In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24733 ) Change subject: GSM_SystemInformation: Fix trailing whitespace ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24733 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie910d376c472f23bde7c357baca004a25053f5ce Gerrit-Change-Number: 24733 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Mon, 21 Jun 2021 09:56:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 09:57:38 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 21 Jun 2021 09:57:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: also allow empty key for A5/0 In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24732 ) Change subject: bsc: also allow empty key for A5/0 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24732 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id54abc09dd62d7247a970a03ed8c2209b641f511 Gerrit-Change-Number: 24732 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 09:57: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 Jun 21 09:58:45 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 21 Jun 2021 09:58:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: reduce args to f_cipher_mode() In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24668 ) Change subject: bsc: reduce args to f_cipher_mode() ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24668 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2cb8282e55436da5ae64ab569df87d5d5a0dd2f0 Gerrit-Change-Number: 24668 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 21 Jun 2021 09:58:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 10:55:32 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 21 Jun 2021 10:55:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: [VAMOS] BTS: call f_shutdown() in f_TC_vamos_exec_async() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24734 ) Change subject: [VAMOS] BTS: call f_shutdown() in f_TC_vamos_exec_async() ...................................................................... [VAMOS] BTS: call f_shutdown() in f_TC_vamos_exec_async() Sometimes, VAMOS related test cases fail due to a DTE: Dynamic test case error: Sending data on the connection of port CCHAN_PT to 1:RSL_CCHAN failed. (Broken pipe) Call f_shutdown() to ensure that all components are properly terminated, so there will be no race conditions like this. Change-Id: I690412a29b24571109415d32b09543de459076d1 Related: SYS#4895 --- M bts/BTS_Tests_VAMOS.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/34/24734/1 diff --git a/bts/BTS_Tests_VAMOS.ttcn b/bts/BTS_Tests_VAMOS.ttcn index 413892d..3498c61 100644 --- a/bts/BTS_Tests_VAMOS.ttcn +++ b/bts/BTS_Tests_VAMOS.ttcn @@ -182,6 +182,8 @@ vc_conn[ch].done; } } + + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } private function f_TC_vamos_chan_act(charstring id) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24734 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I690412a29b24571109415d32b09543de459076d1 Gerrit-Change-Number: 24734 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 Jun 21 11:38:05 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 21 Jun 2021 11:38:05 +0000 Subject: Change in osmo-bts[master]: paging: prioritize CS related paging over PS related pagings. In-Reply-To: References: Message-ID: Hello Jenkins Builder, neels, laforge, pespin, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24658 to look at the new patch set (#4). 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/paging.h M src/common/paging.c M src/common/pcu_sock.c 3 files changed, 44 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/58/24658/4 -- 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: 4 Gerrit-Owner: dexter 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 Mon Jun 21 11:38:57 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 21 Jun 2021 11:38:57 +0000 Subject: Change in osmo-bts[master]: paging: prioritize CS related paging over PS related pagings. In-Reply-To: References: Message-ID: dexter 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 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24658/2/src/common/paging.c File src/common/paging.c: https://gerrit.osmocom.org/c/osmo-bts/+/24658/2/src/common/paging.c at 277 PS2, Line 277: LOGP(DPAG, LOGL_NOTICE, "Dropping paging for PS, queue congested (%u)\n", > Why dropping instead of simply prioritizing during Um scheduling time? [?] If we do not drop the PS pagings than they are added to the queue from the top. The paging queue then dequeues 4 pagings from the queue. If one of it is an immedia assignment (PS), then it puts all the CS pagings it has dequeued back onto the queue. The immediate assignment paging is sent and the next cycle begins. If we would add it and prioritize at the moment of of dequeing the effect would be nearly the same. Also immediate assignments do not cycle in the queue. -- 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: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 11:38: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 Mon Jun 21 11:52:54 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 21 Jun 2021 11:52:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667 ) Change subject: bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667/3/bsc/BSC_Tests.ttcn File bsc/BSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667/3/bsc/BSC_Tests.ttcn at 3430 PS3, Line 3430: codecType := valueof(exp_ass_req.pdu.bssmap.assignmentRequest.codecList.codecElements[0].codecType); > exp_ass_req is a value, so no need to valueof() indeed. (why didn't they make valueof() implicit anyway) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I83eca18d1b3d8d58177aa3750935ec5a3a985ca4 Gerrit-Change-Number: 24667 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 11:52:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 11:56:17 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 21 Jun 2021 11:56:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup 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-ttcn3-hacks/+/24667 to look at the new patch set (#4). Change subject: bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup ...................................................................... bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup reasons: * TC_assignment_fr_a5_4() runs an unusual sequence of messages: it first fully assigns an lchan, and after that sends a Cipher Mode Command. Usually, the ciphering happens as part of attaching (Compl L3). The new test TC_assignment_fr_a5_not_sup() does the ciphering in the usual sequence, and properly expects a Cipher Mode Reject. * TC_assignment_fr_a5_4 means to ask for an *unsupported* encryption algo. Since we are going to introduce A5/4 support shortly, we'll need to free up this name, for a successful A5/4 encryption test. New test TC_assignment_fr_a5_not_sup() asks for A5/5 encryption, which is not supported. Related: SYS#5324 Change-Id: I83eca18d1b3d8d58177aa3750935ec5a3a985ca4 --- M bsc/BSC_Tests.ttcn M bsc/expected-results.xml 2 files changed, 43 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/67/24667/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I83eca18d1b3d8d58177aa3750935ec5a3a985ca4 Gerrit-Change-Number: 24667 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 11:58:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Jun 2021 11:58:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667 ) Change subject: bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I83eca18d1b3d8d58177aa3750935ec5a3a985ca4 Gerrit-Change-Number: 24667 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 21 Jun 2021 11:58: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 Jun 21 12:32:52 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 21 Jun 2021 12:32:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: also allow empty key for A5/0 In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24732 ) Change subject: bsc: also allow empty key for A5/0 ...................................................................... Patch Set 1: Code-Review+2 combine votes -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24732 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id54abc09dd62d7247a970a03ed8c2209b641f511 Gerrit-Change-Number: 24732 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 12:32:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 12:41:14 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 21 Jun 2021 12:41:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667 ) Change subject: bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I83eca18d1b3d8d58177aa3750935ec5a3a985ca4 Gerrit-Change-Number: 24667 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: Mon, 21 Jun 2021 12:41:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 12:41:21 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 21 Jun 2021 12:41:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667 ) Change subject: bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup ...................................................................... bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup reasons: * TC_assignment_fr_a5_4() runs an unusual sequence of messages: it first fully assigns an lchan, and after that sends a Cipher Mode Command. Usually, the ciphering happens as part of attaching (Compl L3). The new test TC_assignment_fr_a5_not_sup() does the ciphering in the usual sequence, and properly expects a Cipher Mode Reject. * TC_assignment_fr_a5_4 means to ask for an *unsupported* encryption algo. Since we are going to introduce A5/4 support shortly, we'll need to free up this name, for a successful A5/4 encryption test. New test TC_assignment_fr_a5_not_sup() asks for A5/5 encryption, which is not supported. Related: SYS#5324 Change-Id: I83eca18d1b3d8d58177aa3750935ec5a3a985ca4 --- M bsc/BSC_Tests.ttcn M bsc/expected-results.xml 2 files changed, 43 insertions(+), 15 deletions(-) Approvals: neels: 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 102a7f2..38e591c 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3415,26 +3415,54 @@ f_shutdown_helper(); } -private function f_tc_assignment_fr_a5_4(charstring id) runs on MSC_ConnHdlr { - g_pars := f_gen_test_hdlr_pars(); - var template PDU_BSSAP exp_compl := f_gen_exp_compl(); - var PDU_BSSAP ass_cmd := f_gen_ass_req(); - const OCT8 kc := '0001020304050607'O; - const OCT16 kc128 := kc & kc; +private function f_TC_assignment_a5_not_sup(charstring id) runs on MSC_ConnHdlr { + var template PDU_BSSAP exp_ass_cpl := f_gen_exp_compl(); + var PDU_BSSAP exp_ass_req := 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); - f_cipher_mode('10'O, kc, kc128, true); - /* TODO: expect GSM0808_CAUSE_CIPHERING_ALGORITHM_NOT_SUPPORTED cause value */ + exp_ass_req.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); + exp_ass_req.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); + + /* this is like the beginning of f_establish_fully(), but only up to ciphering reject */ + + var BSSMAP_FIELD_CodecType codecType; + timer T := 10.0; + + codecType := exp_ass_req.pdu.bssmap.assignmentRequest.codecList.codecElements[0].codecType; + f_MscConnHdlr_init(g_pars.media_nr, host_bts, host_mgw_mgcp, codecType); + + f_create_chan_and_exp(); + /* we should now have a COMPL_L3 at the MSC */ + + var template PDU_BSSAP exp_l3_compl; + exp_l3_compl := tr_BSSMAP_ComplL3() + if (g_pars.aoip == false) { + exp_l3_compl.pdu.bssmap.completeLayer3Information.codecList := omit; + } else { + exp_l3_compl.pdu.bssmap.completeLayer3Information.codecList := ?; + } + T.start; + alt { + [] BSSAP.receive(exp_l3_compl); + [] BSSAP.receive(tr_BSSMAP_ComplL3) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Received non-matching COMPLETE LAYER 3 INFORMATION"); + } + [] T.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for COMPLETE LAYER 3 INFORMATION"); + } + } + + /* Start ciphering, expect Cipher Mode Reject */ + f_cipher_mode(g_pars.encr.enc_alg, g_pars.encr.enc_key, exp_fail := true); } -testcase TC_assignment_fr_a5_4() runs on test_CT { +testcase TC_assignment_fr_a5_not_sup() runs on test_CT { + var TestHdlrParams pars := f_gen_test_hdlr_pars(); var MSC_ConnHdlr vc_conn; f_init(1, true); f_sleep(1.0); - vc_conn := f_start_handler(refers(f_tc_assignment_fr_a5_4)); + pars.encr := valueof(t_EncrParams('20'O, f_rnd_octstring(8))); + vc_conn := f_start_handler(refers(f_TC_assignment_a5_not_sup), pars); vc_conn.done; f_shutdown_helper(); } @@ -8891,7 +8919,7 @@ execute( TC_assignment_fr_a5_1_codec_missing() ); } execute( TC_assignment_fr_a5_3() ); - execute( TC_assignment_fr_a5_4() ); + execute( TC_assignment_fr_a5_not_sup() ); execute( TC_ciph_mode_a5_0() ); execute( TC_ciph_mode_a5_1() ); execute( TC_ciph_mode_a5_3() ); diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml index c98d3c7..f91de19 100644 --- a/bsc/expected-results.xml +++ b/bsc/expected-results.xml @@ -47,7 +47,7 @@ - + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I83eca18d1b3d8d58177aa3750935ec5a3a985ca4 Gerrit-Change-Number: 24667 Gerrit-PatchSet: 5 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 Mon Jun 21 13:05:47 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 21 Jun 2021 13:05:47 +0000 Subject: Change in osmo-bsc[master]: bsc_ctrl_commands: add command to write vty config References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24735 ) Change subject: bsc_ctrl_commands: add command to write vty config ...................................................................... bsc_ctrl_commands: add command to write vty config we recently added control commands to apply vty config files during runtime using the control interface. However, there is no command that allows us to store the config file modifications. Change-Id: If17095bb86f82dd8feb86eb72c4133ea3aa1c3b3 Related: SYS#5369 --- M doc/manuals/chapters/control.adoc M src/osmo-bsc/bsc_ctrl_commands.c 2 files changed, 28 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/35/24735/1 diff --git a/doc/manuals/chapters/control.adoc b/doc/manuals/chapters/control.adoc index 6b1609a..bd49100 100644 --- a/doc/manuals/chapters/control.adoc +++ b/doc/manuals/chapters/control.adoc @@ -27,6 +27,7 @@ |inform-msc-v1|WO|Yes|Arbitrary value| See <> for details. |rf_locked|RW|No|"0","1"|See <> for details. |number-of-bts|RO|No|""|Get number of configured BTS. +|write-config-file|WO|No|"overwrite", ""|Write running configuration to file. |bts.N.location-area-code|RW|No|""|Set/Get LAC (value between (0, 65535)). |bts.N.cell-identity|RW|No|""|Set/Get Cell Identity (value between (0, 65535)). |bts.N.apply-configuration|WO|No|Ignored|Restart BTS via OML. diff --git a/src/osmo-bsc/bsc_ctrl_commands.c b/src/osmo-bsc/bsc_ctrl_commands.c index 2d37b5d..6d66ab5 100644 --- a/src/osmo-bsc/bsc_ctrl_commands.c +++ b/src/osmo-bsc/bsc_ctrl_commands.c @@ -24,6 +24,7 @@ #include #include +#include #include #include @@ -82,6 +83,31 @@ } CTRL_CMD_DEFINE_WO(net_apply_config_file, "apply-config-file"); +static int verify_net_write_config_file(struct ctrl_cmd *cmd, const char *value, void *_data) +{ + return 0; +} +static int set_net_write_config_file(struct ctrl_cmd *cmd, void *_data) +{ + const char *cfile_name; + unsigned cmd_ret = CTRL_CMD_ERROR; + + if (strcmp(cmd->value, "default")) + host_config_set(cmd->value); + + cfile_name = host_config_file(); + + LOGP(DCTRL, LOGL_NOTICE, "Writing VTY config to file %s...\n", cfile_name); + if (osmo_vty_write_config_file(cfile_name) < 0) + goto ret; + + cmd->reply = "OK"; + cmd_ret = CTRL_CMD_REPLY; +ret: + return cmd_ret; +} +CTRL_CMD_DEFINE_WO(net_write_config_file, "write-config-file"); + CTRL_CMD_DEFINE(net_mcc, "mcc"); static int get_net_mcc(struct ctrl_cmd *cmd, void *_data) { @@ -528,6 +554,7 @@ { int rc = 0; rc |= ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_net_apply_config_file); + rc |= ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_net_write_config_file); rc |= ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_net_mnc); rc |= ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_net_mcc); rc |= ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_net_apply_config); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24735 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If17095bb86f82dd8feb86eb72c4133ea3aa1c3b3 Gerrit-Change-Number: 24735 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 Jun 21 13:44:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Jun 2021 13:44:11 +0000 Subject: Change in osmo-bsc[master]: bsc_ctrl_commands: add command to write vty config In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24735 ) Change subject: bsc_ctrl_commands: add command to write vty config ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24735 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If17095bb86f82dd8feb86eb72c4133ea3aa1c3b3 Gerrit-Change-Number: 24735 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 13:44: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 Jun 21 13:58:00 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 21 Jun 2021 13:58:00 +0000 Subject: Change in osmo-bsc[master]: control.adoc: add doc for apply-config-file References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24736 ) Change subject: control.adoc: add doc for apply-config-file ...................................................................... control.adoc: add doc for apply-config-file apply-config-file is not documented in the manual. Change-Id: I469e3925c1079e45eea246e599bcd50ba3fc9dd3 Related: SYS#5369 --- M doc/manuals/chapters/control.adoc 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/36/24736/1 diff --git a/doc/manuals/chapters/control.adoc b/doc/manuals/chapters/control.adoc index bd49100..85696a0 100644 --- a/doc/manuals/chapters/control.adoc +++ b/doc/manuals/chapters/control.adoc @@ -27,6 +27,7 @@ |inform-msc-v1|WO|Yes|Arbitrary value| See <> for details. |rf_locked|RW|No|"0","1"|See <> for details. |number-of-bts|RO|No|""|Get number of configured BTS. +|apply-config-file|WO|No|""|Apply VTY config file snippet from file. |write-config-file|WO|No|"overwrite", ""|Write running configuration to file. |bts.N.location-area-code|RW|No|""|Set/Get LAC (value between (0, 65535)). |bts.N.cell-identity|RW|No|""|Set/Get Cell Identity (value between (0, 65535)). -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24736 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I469e3925c1079e45eea246e599bcd50ba3fc9dd3 Gerrit-Change-Number: 24736 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 Jun 21 14:01:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Jun 2021 14:01:17 +0000 Subject: Change in osmo-bsc[master]: control.adoc: add doc for apply-config-file In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24736 ) Change subject: control.adoc: add doc for apply-config-file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24736 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I469e3925c1079e45eea246e599bcd50ba3fc9dd3 Gerrit-Change-Number: 24736 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 21 Jun 2021 14:01: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 Jun 21 14:05:17 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 21 Jun 2021 14:05:17 +0000 Subject: Change in osmo-bsc[master]: bsc_ctrl_commands: add command to write vty config In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24735 ) Change subject: bsc_ctrl_commands: add command to write vty config ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24735 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If17095bb86f82dd8feb86eb72c4133ea3aa1c3b3 Gerrit-Change-Number: 24735 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 14: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 Mon Jun 21 14:18:02 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 21 Jun 2021 14:18:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSSMAP: add encr params to ts_BSSMAP_HandoverRequest In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24730 ) Change subject: BSSMAP: add encr params to ts_BSSMAP_HandoverRequest ...................................................................... Patch Set 3: Code-Review+1 I have checked this against 3GPP TS 48.008, it looks correct to me. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24730 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idadc0e0a7a960a0ef88b3dca97c4fbaa16975b61 Gerrit-Change-Number: 24730 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 14:18: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 Jun 21 14:44:15 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 21 Jun 2021 14:44:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add tests for inter-BSC HO with encryption A5/{0, 1, 3, 4} In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24731 ) Change subject: bsc: add tests for inter-BSC HO with encryption A5/{0,1,3,4} ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24731 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8de65eb9a5bd9a58add55e821f2a559c9a81edc1 Gerrit-Change-Number: 24731 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 14:44: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 Jun 21 14:45:44 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 21 Jun 2021 14:45:44 +0000 Subject: Change in osmo-pcu[master]: gprs_rlcmac_sched: fix incorrect length for CTR_RLC_DL_BYTES In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24723 ) Change subject: gprs_rlcmac_sched: fix incorrect length for CTR_RLC_DL_BYTES ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24723 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6884d220f3d06a79b16c18ccc2d2a6cd047b8251 Gerrit-Change-Number: 24723 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 14:45:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 14:47:27 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 21 Jun 2021 14:47:27 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: print timeslot brief info in 'show transceiver' In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24714 ) Change subject: osmo-bts-trx: print timeslot brief info in 'show transceiver' ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24714 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ibe624e4b801cae2dc00feb99441b7d606005b846 Gerrit-Change-Number: 24714 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 14:47: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 Jun 21 14:59:06 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 21 Jun 2021 14:59:06 +0000 Subject: Change in osmo-bts[master]: main: do not use fprintf to log fatal errors 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-bts/+/24707 to look at the new patch set (#2). Change subject: main: do not use fprintf to log fatal errors ...................................................................... main: do not use fprintf to log fatal errors In main there are some fatal errors that lead into exiting osmo-bts. The errors are logged via fprintf. Those messages are not unimportant for finding faults, so lets use LOGP() to benefit from the libosmocore logging system. Change-Id: I2ae4acf6a92137236e1b62c2d0aab79a34134f45 --- M src/common/main.c 1 file changed, 13 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/07/24707/2 -- 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-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 14:59:39 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 21 Jun 2021 14:59:39 +0000 Subject: Change in osmo-bts[master]: main: do not use fprintf to log fatal errors In-Reply-To: References: Message-ID: dexter 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: (2 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24707/1/src/common/main.c File src/common/main.c: https://gerrit.osmocom.org/c/osmo-bts/+/24707/1/src/common/main.c at 95 PS1, Line 95: LOGP(DLGLOBAL, LOGL_FATAL, "%s: Unknown VTY reference generation " > I agree, we cannot use logging here. Done https://gerrit.osmocom.org/c/osmo-bts/+/24707/1/src/common/main.c at 306 PS1, Line 306: LOGP(DLGLOBAL, LOGL_FATAL, "Failed to create BTS structure\n"); > what is more realistic in production deployments is e.g. the use of syslog target. [?] Is the support for async logging already merged? At least from what I can see when I do tests the error messages are displayed even though the main loop is not reached. -- 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: Mon, 21 Jun 2021 14:59:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge 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 Jun 21 15:05:29 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 21 Jun 2021 15:05:29 +0000 Subject: Change in osmo-bsc[master]: bsc_ctrl_commands: add command to write vty config In-Reply-To: References: Message-ID: Hello Jenkins Builder, neels, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24735 to look at the new patch set (#2). Change subject: bsc_ctrl_commands: add command to write vty config ...................................................................... bsc_ctrl_commands: add command to write vty config we recently added control commands to apply vty config files during runtime using the control interface. However, there is no command that allows us to store the config file modifications. Change-Id: If17095bb86f82dd8feb86eb72c4133ea3aa1c3b3 Related: SYS#5369 --- M doc/manuals/chapters/control.adoc M src/osmo-bsc/bsc_ctrl_commands.c 2 files changed, 28 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/35/24735/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24735 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If17095bb86f82dd8feb86eb72c4133ea3aa1c3b3 Gerrit-Change-Number: 24735 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria 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 Jun 21 15:37:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Jun 2021 15:37:55 +0000 Subject: Change in osmo-bts[master]: main: do not use fprintf to log fatal errors In-Reply-To: References: Message-ID: pespin 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: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24707/1/src/common/main.c File src/common/main.c: https://gerrit.osmocom.org/c/osmo-bts/+/24707/1/src/common/main.c at 306 PS1, Line 306: LOGP(DLGLOBAL, LOGL_FATAL, "Failed to create BTS structure\n"); > Is the support for async logging already merged? At least from what I can see when I do tests the er [?] IIRC it tries to write and only if it fails or there's a short write, it puts stuff into the wqueue to be served later. So unless you print lots of content super quickly, writes to file system should be sync. -- 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: Mon, 21 Jun 2021 15:37:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No 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 Jun 21 15:37:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 15:37:59 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: measure interference levels on TRXC_IDLE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24715 ) Change subject: osmo-bts-trx: measure interference levels on TRXC_IDLE ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24715 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic3030dba5eb223177298aa4e43559a93dc3d1392 Gerrit-Change-Number: 24715 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 15:37: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 Jun 21 15:38:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 15:38:33 +0000 Subject: Change in osmo-bts[master]: oml: fix handling of NM_ATT_INTERF_BOUND attribute In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24706 ) Change subject: oml: fix handling of NM_ATT_INTERF_BOUND attribute ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24706 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7f83d8e6eb6cc19e3e9529ba06617a902de23e35 Gerrit-Change-Number: 24706 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 15:38: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 Jun 21 15:38:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 15:38:57 +0000 Subject: Change in osmo-bts[master]: Report interference levels in RSL RF RESource INDication In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24612 ) Change subject: Report interference levels in RSL RF RESource INDication ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24612 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id80fdbef087de625149755165c025c0a9563dc85 Gerrit-Change-Number: 24612 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 15:38:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 15:39:10 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 21 Jun 2021 15:39:10 +0000 Subject: Change in simtrace2[master]: contrib: add a basic simtrace lua dissector for wireshark References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24737 ) Change subject: contrib: add a basic simtrace lua dissector for wireshark ...................................................................... contrib: add a basic simtrace lua dissector for wireshark See Help->About Wireshark->Folders tab,the usual place this should go is ~/.local/lib/wireshark/plugins Hot reload possible after editing using Analyze->Reload Lua Plugins Change-Id: I360ab522dabc3a378969df36efd3b48fc4cade3c --- A contrib/simtrace.lua 1 file changed, 67 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/37/24737/1 diff --git a/contrib/simtrace.lua b/contrib/simtrace.lua new file mode 100644 index 0000000..68eb961 --- /dev/null +++ b/contrib/simtrace.lua @@ -0,0 +1,67 @@ +usb_simtrace_protocol = Proto("USB_simtrace", "USB simtrace protocol") + + +local control_commands = { +-- /* SIMTRACE_MSGC_GENERIC */ +[0x0000] = "SIMTRACE_CMD_DO_ERROR", +[0x0001] = "SIMTRACE_CMD_BD_BOARD_INFO", + +-- /* SIMTRACE_MSGC_CARDEM */ +[0x0101] = "SIMTRACE_MSGT_DT_CEMU_TX_DATA", +[0x0102] = "SIMTRACE_MSGT_DT_CEMU_SET_ATR", +[0x0103] = "SIMTRACE_MSGT_BD_CEMU_STATS", +[0x0104] = "SIMTRACE_MSGT_BD_CEMU_STATUS", +[0x0105] = "SIMTRACE_MSGT_DT_CEMU_CARDINSERT", +[0x0106] = "SIMTRACE_MSGT_DO_CEMU_RX_DATA", +[0x0107] = "SIMTRACE_MSGT_DO_CEMU_PTS", +[0x0108] = "SIMTRACE_MSGT_BD_CEMU_CONFIG", + +-- /* SIMTRACE_MSGC_MODEM */ +[0x0201] = "SIMTRACE_MSGT_DT_MODEM_RESET", +[0x0202] = "SIMTRACE_MSGT_DT_MODEM_SIM_SELECT", +[0x0203] = "SIMTRACE_MSGT_BD_MODEM_STATUS", + +-- /* SIMTRACE_MSGC_SNIFF */ +[0x0300] = "SIMTRACE_MSGT_SNIFF_CHANGE", +[0x0301] = "SIMTRACE_MSGT_SNIFF_FIDI", +[0x0302] = "SIMTRACE_MSGT_SNIFF_ATR", +[0x0304] = "SIMTRACE_MSGT_SNIFF_TPDU", +[0x0303] = "SIMTRACE_MSGT_SNIFF_PPS" +} + +local msgtype = ProtoField.uint16("usb_simtrace.msgtype", "Message Type", base.HEX_DEC, control_commands) +local seqnr = ProtoField.uint8("usb_simtrace.seqnr", "Sequence Number", base.HEX_DEC) +local slotnr = ProtoField.uint8("usb_simtrace.slotnr", "Slot Number", base.HEX_DEC) +local reserved = ProtoField.uint16("usb_simtrace.reserved", "reserved", base.HEX_DEC) +local payloadlen = ProtoField.uint16("usb_simtrace.length", "length", base.HEX_DEC) +local payload = ProtoField.bytes("usb_simtrace.payload", "Data") + +usb_simtrace_protocol.fields = { + msgtype, seqnr, slotnr, reserved, payloadlen, payload +} + +function usb_simtrace_protocol.dissector(buffer, pinfo, tree) + length = buffer:len() + if length == 0 then return end + + pinfo.cols.protocol = usb_simtrace_protocol.name + + local subtree = tree:add(usb_simtrace_protocol, buffer(), "USB simtrace Data") + local command = buffer(0,2):uint() + + subtree:add(msgtype, command):set_generated() + subtree:add(seqnr, buffer(2,1)) + 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)) + +end + + +function usb_simtrace_protocol.init() +local usb_product_dissectors = DissectorTable.get("usb.product") +usb_product_dissectors:add(0x1d50616d, usb_simtrace_protocol) + +-- DissectorTable.get("usb.bulk"):add(0xffff, usb_simtrace_protocol) +end -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24737 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I360ab522dabc3a378969df36efd3b48fc4cade3c Gerrit-Change-Number: 24737 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 Mon Jun 21 15:39:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 15:39:16 +0000 Subject: Change in osmo-bts[master]: osmo-bts-{trx, virtual}: get rid of dummy tx_idle_fn() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24711 ) Change subject: osmo-bts-{trx,virtual}: get rid of dummy tx_idle_fn() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24711 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I438705f8dd902193e6c7b499d8ee55c56b6a1c2e Gerrit-Change-Number: 24711 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 15:39:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 15:39:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Jun 2021 15:39:53 +0000 Subject: Change in osmo-bts[master]: main: do not use fprintf to log fatal errors In-Reply-To: References: Message-ID: pespin 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: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24707/2/src/common/main.c File src/common/main.c: https://gerrit.osmocom.org/c/osmo-bts/+/24707/2/src/common/main.c at 420 PS2, Line 420: LOGP(DLGLOBAL, LOGL_FATAL, "Error during daemonize\n"); you can keep the error by using strerror(errno). -- 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: Mon, 21 Jun 2021 15:39: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 Mon Jun 21 15:40:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 15:40:36 +0000 Subject: Change in osmo-bts[master]: scheduler: unset TRX_CHAN_FLAG_AUTO_ACTIVE for TRXC_IDLE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24712 ) Change subject: scheduler: unset TRX_CHAN_FLAG_AUTO_ACTIVE for TRXC_IDLE ...................................................................... Patch Set 2: why d oes it not make sense? Is it because in osmo-trx (on C0) we're sending dummy bursts in downlink if there's no data from osmo-bts for an inactive channel? What about 3rd party TRX implementations, do we know the implications? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24712 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ifade0eab0605154196322ff20b1b3a44495f8a2e Gerrit-Change-Number: 24712 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 21 Jun 2021 15:40:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 15:41:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 15:41:02 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: print timeslot brief info in 'show transceiver' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24714 ) Change subject: osmo-bts-trx: print timeslot brief info in 'show transceiver' ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24714 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ibe624e4b801cae2dc00feb99441b7d606005b846 Gerrit-Change-Number: 24714 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 15: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 Mon Jun 21 15:41:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 15:41:28 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: report PDCH interference levels to the PCU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24718 ) Change subject: osmo-bts-trx: report PDCH interference levels to the PCU ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I56f83db5264c246ec1b4b8a973105a4fc09931fb Gerrit-Change-Number: 24718 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 15:41: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 Jun 21 15:42:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 15:42:18 +0000 Subject: Change in simtrace2[master]: contrib: add a basic simtrace lua dissector for wireshark In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24737 ) Change subject: contrib: add a basic simtrace lua dissector for wireshark ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24737 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I360ab522dabc3a378969df36efd3b48fc4cade3c Gerrit-Change-Number: 24737 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 21 Jun 2021 15:42: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 Jun 21 15:42:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Jun 2021 15:42:19 +0000 Subject: Change in osmo-bsc[master]: bsc_ctrl_commands: add command to write vty config In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24735 ) Change subject: bsc_ctrl_commands: add command to write vty config ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24735 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If17095bb86f82dd8feb86eb72c4133ea3aa1c3b3 Gerrit-Change-Number: 24735 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 15:42: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 Jun 21 15:42:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 15:42:20 +0000 Subject: Change in simtrace2[master]: contrib: add a basic simtrace lua dissector for wireshark In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24737 ) Change subject: contrib: add a basic simtrace lua dissector for wireshark ...................................................................... contrib: add a basic simtrace lua dissector for wireshark See Help->About Wireshark->Folders tab,the usual place this should go is ~/.local/lib/wireshark/plugins Hot reload possible after editing using Analyze->Reload Lua Plugins Change-Id: I360ab522dabc3a378969df36efd3b48fc4cade3c --- A contrib/simtrace.lua 1 file changed, 67 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/simtrace.lua b/contrib/simtrace.lua new file mode 100644 index 0000000..68eb961 --- /dev/null +++ b/contrib/simtrace.lua @@ -0,0 +1,67 @@ +usb_simtrace_protocol = Proto("USB_simtrace", "USB simtrace protocol") + + +local control_commands = { +-- /* SIMTRACE_MSGC_GENERIC */ +[0x0000] = "SIMTRACE_CMD_DO_ERROR", +[0x0001] = "SIMTRACE_CMD_BD_BOARD_INFO", + +-- /* SIMTRACE_MSGC_CARDEM */ +[0x0101] = "SIMTRACE_MSGT_DT_CEMU_TX_DATA", +[0x0102] = "SIMTRACE_MSGT_DT_CEMU_SET_ATR", +[0x0103] = "SIMTRACE_MSGT_BD_CEMU_STATS", +[0x0104] = "SIMTRACE_MSGT_BD_CEMU_STATUS", +[0x0105] = "SIMTRACE_MSGT_DT_CEMU_CARDINSERT", +[0x0106] = "SIMTRACE_MSGT_DO_CEMU_RX_DATA", +[0x0107] = "SIMTRACE_MSGT_DO_CEMU_PTS", +[0x0108] = "SIMTRACE_MSGT_BD_CEMU_CONFIG", + +-- /* SIMTRACE_MSGC_MODEM */ +[0x0201] = "SIMTRACE_MSGT_DT_MODEM_RESET", +[0x0202] = "SIMTRACE_MSGT_DT_MODEM_SIM_SELECT", +[0x0203] = "SIMTRACE_MSGT_BD_MODEM_STATUS", + +-- /* SIMTRACE_MSGC_SNIFF */ +[0x0300] = "SIMTRACE_MSGT_SNIFF_CHANGE", +[0x0301] = "SIMTRACE_MSGT_SNIFF_FIDI", +[0x0302] = "SIMTRACE_MSGT_SNIFF_ATR", +[0x0304] = "SIMTRACE_MSGT_SNIFF_TPDU", +[0x0303] = "SIMTRACE_MSGT_SNIFF_PPS" +} + +local msgtype = ProtoField.uint16("usb_simtrace.msgtype", "Message Type", base.HEX_DEC, control_commands) +local seqnr = ProtoField.uint8("usb_simtrace.seqnr", "Sequence Number", base.HEX_DEC) +local slotnr = ProtoField.uint8("usb_simtrace.slotnr", "Slot Number", base.HEX_DEC) +local reserved = ProtoField.uint16("usb_simtrace.reserved", "reserved", base.HEX_DEC) +local payloadlen = ProtoField.uint16("usb_simtrace.length", "length", base.HEX_DEC) +local payload = ProtoField.bytes("usb_simtrace.payload", "Data") + +usb_simtrace_protocol.fields = { + msgtype, seqnr, slotnr, reserved, payloadlen, payload +} + +function usb_simtrace_protocol.dissector(buffer, pinfo, tree) + length = buffer:len() + if length == 0 then return end + + pinfo.cols.protocol = usb_simtrace_protocol.name + + local subtree = tree:add(usb_simtrace_protocol, buffer(), "USB simtrace Data") + local command = buffer(0,2):uint() + + subtree:add(msgtype, command):set_generated() + subtree:add(seqnr, buffer(2,1)) + 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)) + +end + + +function usb_simtrace_protocol.init() +local usb_product_dissectors = DissectorTable.get("usb.product") +usb_product_dissectors:add(0x1d50616d, usb_simtrace_protocol) + +-- DissectorTable.get("usb.bulk"):add(0xffff, usb_simtrace_protocol) +end -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24737 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I360ab522dabc3a378969df36efd3b48fc4cade3c Gerrit-Change-Number: 24737 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 Mon Jun 21 15:42:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Jun 2021 15:42:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSM_SystemInformation: Fix trailing whitespace In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24733 ) Change subject: GSM_SystemInformation: Fix trailing whitespace ...................................................................... GSM_SystemInformation: Fix trailing whitespace Change-Id: Ie910d376c472f23bde7c357baca004a25053f5ce --- M library/GSM_SystemInformation.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: dexter: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/GSM_SystemInformation.ttcn b/library/GSM_SystemInformation.ttcn index 0356e7d..86ff817 100644 --- a/library/GSM_SystemInformation.ttcn +++ b/library/GSM_SystemInformation.ttcn @@ -160,7 +160,7 @@ rach_control := ?, rest_octets := ? }; - + /* 44.018 9.1.36 */ type record SystemInformationType4 { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24733 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie910d376c472f23bde7c357baca004a25053f5ce Gerrit-Change-Number: 24733 Gerrit-PatchSet: 2 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 Mon Jun 21 15:44:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 15:44:05 +0000 Subject: Change in osmo-bsc[master]: bsc_ctrl_commands: add command to write vty config In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24735 ) Change subject: bsc_ctrl_commands: add command to write vty config ...................................................................... Patch Set 2: Code-Review+1 it might make sense to be optionally able to specify a non-default file name? Apart from that it looks good. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24735 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If17095bb86f82dd8feb86eb72c4133ea3aa1c3b3 Gerrit-Change-Number: 24735 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 15:44: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 Jun 21 15:46:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 15:46:03 +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 3: 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: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 15:46: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 Jun 21 15:47:54 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 21 Jun 2021 15:47:54 +0000 Subject: Change in osmo-bts[master]: oml: fix handling of NM_ATT_INTERF_BOUND attribute In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24706 ) Change subject: oml: fix handling of NM_ATT_INTERF_BOUND attribute ...................................................................... oml: fix handling of NM_ATT_INTERF_BOUND attribute Looks like this part of the code has never been tested. The old code would dereference the same value in the loop and assign it to all members in array 'bts->interference.boundary'. Change-Id: I7f83d8e6eb6cc19e3e9529ba06617a902de23e35 Related: SYS#5313, OS#1569 --- M src/common/oml.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Hoernchen: Looks good to me, but someone else must approve laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/common/oml.c b/src/common/oml.c index 8b84f85..aeded8b 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -586,7 +586,7 @@ if (TLVP_PRES_LEN(&tp, NM_ATT_INTERF_BOUND, 6)) { payload = TLVP_VAL(&tp, NM_ATT_INTERF_BOUND); for (i = 0; i < 6; i++) { - int16_t boundary = *payload; + const int16_t boundary = payload[i]; bts->interference.boundary[i] = -1 * boundary; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24706 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7f83d8e6eb6cc19e3e9529ba06617a902de23e35 Gerrit-Change-Number: 24706 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: 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 Mon Jun 21 15:57:32 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 21 Jun 2021 15:57:32 +0000 Subject: Change in osmo-bts[master]: scheduler: unset TRX_CHAN_FLAG_AUTO_ACTIVE for TRXC_IDLE In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24712 ) Change subject: scheduler: unset TRX_CHAN_FLAG_AUTO_ACTIVE for TRXC_IDLE ...................................................................... Patch Set 2: > Patch Set 2: > > why d oes it not make sense? Is it because in osmo-trx (on C0) we're sending dummy bursts in downlink if there's no data from osmo-bts for an inactive channel? > > What about 3rd party TRX implementations, do we know the implications? My commit message is a bit confusing, sorry. In the current implementation, we pre-initialize the Downlink burst buffers for C0 with dummy burst bits in bts_sched_init_buffers(). This simplifies the scheduling: if there is a normal burst for C0, it overwrites dummy burst bits in the buffer; otherwise we send dummy burst. This also eliminates the need to have a logical channel handler for TRXC_IDLE (previous commit) and the need to have this 'auto-active' flag. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24712 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ifade0eab0605154196322ff20b1b3a44495f8a2e Gerrit-Change-Number: 24712 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 21 Jun 2021 15:57:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 16:09:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Jun 2021 16:09:10 +0000 Subject: Change in osmo-bts[master]: Report interference levels in RSL RF RESource INDication In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24612 ) Change subject: Report interference levels in RSL RF RESource INDication ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24612/1/src/common/gsm_data.c File src/common/gsm_data.c: https://gerrit.osmocom.org/c/osmo-bts/+/24612/1/src/common/gsm_data.c at 316 PS1, Line 316: meas_avg = meas_sum / meas_num; > What's wrong with that abs()? What do we win if I do it once? What's wrong with doing it only once at the end? Doing it once at the end: 1- It's clearer from mathematical point of view 2- less operations are performed. Anyway, +1 since I don't want to block this and you/others seem to be fine with current approach. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24612 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id80fdbef087de625149755165c025c0a9563dc85 Gerrit-Change-Number: 24612 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 16:09:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 16:09:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Jun 2021 16:09:15 +0000 Subject: Change in osmo-bts[master]: Report interference levels in RSL RF RESource INDication In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24612 ) Change subject: Report interference levels in RSL RF RESource INDication ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24612 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id80fdbef087de625149755165c025c0a9563dc85 Gerrit-Change-Number: 24612 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 16:09: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 Jun 21 16:10:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 16:10:02 +0000 Subject: Change in osmo-bts[master]: scheduler: unset TRX_CHAN_FLAG_AUTO_ACTIVE for TRXC_IDLE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24712 ) Change subject: scheduler: unset TRX_CHAN_FLAG_AUTO_ACTIVE for TRXC_IDLE ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24712 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ifade0eab0605154196322ff20b1b3a44495f8a2e Gerrit-Change-Number: 24712 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 16:10: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 Jun 21 16:24:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 16:24:16 +0000 Subject: Change in osmo-bts[master]: Report interference levels in RSL RF RESource INDication In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24612 ) Change subject: Report interference levels in RSL RF RESource INDication ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24612 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id80fdbef087de625149755165c025c0a9563dc85 Gerrit-Change-Number: 24612 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 16:24: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 Jun 21 16:24:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 16:24:23 +0000 Subject: Change in osmo-bts[master]: Report interference levels in RSL RF RESource INDication In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24612 ) Change subject: Report interference levels in RSL RF RESource INDication ...................................................................... Report interference levels in RSL RF RESource INDication This change implements general interference averaging logic for the higher layers. In l1sap_info_time_ind(), where we receive TDMA time updates from BTS model, call rsl_tx_rf_res() for each transceiver according to the interval defined by the Intave parameter received from the BSC. In rsl_tx_rf_res() perform the actual averaging for each inactive logical channel, and then send everything to the BSC over the A-bis/RSL. The BTS model specific code needs to report the measurements for each logical channel every 104 TDMA frames (SACCH period) by calling gsm_lchan_interf_meas_push(). Change-Id: Id80fdbef087de625149755165c025c0a9563dc85 Related: SYS#5313, OS#1569 --- M README.md M doc/manuals/abis/oml.adoc M include/osmo-bts/gsm_data.h M src/common/gsm_data.c M src/common/l1sap.c M src/common/rsl.c 6 files changed, 120 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/README.md b/README.md index 5527ef1..51aa276 100644 --- a/README.md +++ b/README.md @@ -96,7 +96,6 @@ * System Information limited to 1,2,2bis,2ter,2quater,3,4,5,6,9,13 * No RATSCCH in AMR * Will reject TS 12.21 STARTING TIME in SET BTS ATTR / SET CHAN ATTR - * No reporting of interference levels as part of TS 08.58 RF RES IND * No support of TS 08.58 MultiRate Control * No support of TS 08.58 Supported Codec Types * No support of Bter frame / ENHANCED MEASUREMENT REPORT diff --git a/doc/manuals/abis/oml.adoc b/doc/manuals/abis/oml.adoc index 984ab8c..b77894c 100644 --- a/doc/manuals/abis/oml.adoc +++ b/doc/manuals/abis/oml.adoc @@ -394,8 +394,8 @@ | 0x13 | 9.4.19 | File Version | | _ignored_ | 0x14 | 9.4.20 | GSM Time | | _ignored_ | 0x16 | 9.4.22 | HW Configuration | | _ignored_ -| 0x18 | 9.4.24 | Intave Parameter | <- | _ignored_ -| 0x19 | 9.4.25 | Interference level Boundaries | <- | _ignored_ +| 0x18 | 9.4.24 | Intave Parameter | <- | +| 0x19 | 9.4.25 | Interference level Boundaries | <- | | 0x1a | 9.4.26 | List of Required Attributes | | _ignored_ | 0x1c | 9.4.28 | Manufacturer Dependent State | | _ignored_ | 0x1d | 9.4.29 | Manufacturer Dependent Thresholds | | _ignored_ diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index 6ce5c3b..808b48a 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -337,6 +337,9 @@ /* standard deviation of toa256 value during measurement period */ uint16_t toa256_std_dev; } ext; + /* Interference levels reported by PHY (in dBm) */ + int16_t interf_meas_dbm[31]; /* Intave max is 31 */ + uint8_t interf_meas_num; } meas; struct { struct amr_multirate_conf amr_mr; @@ -537,6 +540,9 @@ uint8_t gsm_lchan_as_pchan2chan_nr(const struct gsm_lchan *lchan, enum gsm_phys_chan_config as_pchan); +void gsm_lchan_interf_meas_push(struct gsm_lchan *lchan, int dbm); +int gsm_lchan_interf_meas_calc_band(struct gsm_lchan *lchan); + #define BSIC2BCC(bsic) ((bsic) & 0x07) #define BTS_TSC(bts) BSIC2BCC((bts)->bsic) @@ -558,4 +564,16 @@ bool ts_is_pdch(const struct gsm_bts_trx_ts *ts); +static inline bool lchan_is_dcch(const struct gsm_lchan *lchan) +{ + switch (lchan->type) { + case GSM_LCHAN_SDCCH: + case GSM_LCHAN_TCH_F: + case GSM_LCHAN_TCH_H: + return true; + default: + return false; + } +} + #endif /* _GSM_DATA_H */ diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index 09664e2..9afb61e 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -280,6 +280,54 @@ return gsm_pchan2chan_nr(as_pchan, lchan->ts->nr, lchan->nr); } +/* Called by the model specific code every 104 TDMA frames (SACCH period) */ +void gsm_lchan_interf_meas_push(struct gsm_lchan *lchan, int dbm) +{ + const uint8_t meas_num = lchan->meas.interf_meas_num; + + if (meas_num >= ARRAY_SIZE(lchan->meas.interf_meas_dbm)) { + LOGPLCHAN(lchan, DL1C, LOGL_ERROR, "Not enough room " + "to store interference report (%ddBm)\n", dbm); + return; + } + + lchan->meas.interf_meas_dbm[meas_num] = dbm; + lchan->meas.interf_meas_num++; +} + +/* Called by the higher layers every Intave * 104 TDMA frames */ +int gsm_lchan_interf_meas_calc_band(struct gsm_lchan *lchan) +{ + const uint8_t meas_num = lchan->meas.interf_meas_num; + const struct gsm_bts *bts = lchan->ts->trx->bts; + int b, meas_avg, meas_sum = 0; + + /* There must be at least one sample */ + if (meas_num == 0) + return -EAGAIN; + + /* Calculate the sum of all collected samples (in -x dBm) */ + while (lchan->meas.interf_meas_num) { + uint8_t i = --lchan->meas.interf_meas_num; + meas_sum += lchan->meas.interf_meas_dbm[i]; + } + + /* Calculate the average of all collected samples */ + meas_avg = meas_sum / (int) meas_num; + + /* Determine the band using interference boundaries from BSC */ + for (b = 0; b < ARRAY_SIZE(bts->interference.boundary); b++) { + if (meas_avg >= bts->interference.boundary[b]) + break; /* Current 'b' is the band value */ + } + + LOGPLCHAN(lchan, DL1C, LOGL_DEBUG, + "Interference AVG: %ddBm (band %d)\n", + meas_avg, b); + + return b; +} + /* determine logical channel based on TRX and channel number IE */ struct gsm_lchan *rsl_lchan_lookup(struct gsm_bts_trx *trx, uint8_t chan_nr, int *rc) diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 0debae0..c4f258a 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -588,6 +588,20 @@ return rach_frames_expired; } +static void l1sap_interf_meas_report(struct gsm_bts *bts) +{ + const uint32_t period = bts->interference.intave * 104; + struct gsm_bts_trx *trx; + + if (bts->interference.intave == 0) + return; + if (bts->gsm_time.fn % period != 0) + return; + + llist_for_each_entry(trx, &bts->trx_list, list) + rsl_tx_rf_res(trx); +} + /* time information received from bts model */ static int l1sap_info_time_ind(struct gsm_bts *bts, struct osmo_phsap_prim *l1sap, @@ -620,6 +634,9 @@ bts->load.rach.total += calc_exprd_rach_frames(bts, fn); } + /* Report interference levels to the BSC */ + l1sap_interf_meas_report(bts); + return 0; } diff --git a/src/common/rsl.c b/src/common/rsl.c index a4b1b7d..502e619 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -427,6 +427,7 @@ /* 8.6.1 sending RF RESOURCE INDICATION */ int rsl_tx_rf_res(struct gsm_bts_trx *trx) { + unsigned int tn, ln; struct msgb *nmsg; LOGP(DRSL, LOGL_INFO, "Tx RSL RF RESource INDication\n"); @@ -434,8 +435,40 @@ nmsg = rsl_msgb_alloc(sizeof(struct abis_rsl_common_hdr)); if (!nmsg) return -ENOMEM; - // FIXME: add interference levels of TRX - msgb_tlv_put(nmsg, RSL_IE_RESOURCE_INFO, 0, NULL); + + /* Add interference levels for each logical channel */ + uint8_t *len = msgb_tl_put(nmsg, RSL_IE_RESOURCE_INFO); + + for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { + struct gsm_bts_trx_ts *ts = &trx->ts[tn]; + + for (ln = 0; ln < ARRAY_SIZE(ts->lchan); ln++) { + struct gsm_lchan *lchan = &ts->lchan[ln]; + + /* We're not interested in active lchans */ + if (lchan->state == LCHAN_S_ACTIVE) { + /* Avoid potential buffer overflow */ + lchan->meas.interf_meas_num = 0; + continue; + } + + /* Only for GSM_LCHAN_{SDCCH,TCH_F,TCH_H} */ + if (!lchan_is_dcch(lchan)) + continue; + + /* Average all collected samples */ + int band = gsm_lchan_interf_meas_calc_band(lchan); + if (band < 0) + continue; + + msgb_v_put(nmsg, gsm_lchan2chan_nr(lchan)); + msgb_v_put(nmsg, (band & 0x07) << 5); + } + } + + /* Calculate length of the V part */ + *len = msgb_l3len(nmsg) - 2; + rsl_trx_push_hdr(nmsg, RSL_MT_RF_RES_IND); nmsg->trx = trx; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24612 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id80fdbef087de625149755165c025c0a9563dc85 Gerrit-Change-Number: 24612 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen 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 Jun 21 16:24:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 16:24:23 +0000 Subject: Change in osmo-bts[master]: scheduler: reorder enum trx_chan_type, add TRX_CHAN_IS_DEDIC() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24645 ) Change subject: scheduler: reorder enum trx_chan_type, add TRX_CHAN_IS_DEDIC() ...................................................................... scheduler: reorder enum trx_chan_type, add TRX_CHAN_IS_DEDIC() With the new ordering, all TRXC_* values starting from TRXC_TCHF belong to dedicated channels. This is useful for the interference reporting logic, where we're not interested in broadcast channels. Change-Id: I7148f4d0bd1abbfe309bc5477e32a56d884533ea Related: SYS#5313, OS#1569 --- M include/osmo-bts/scheduler.h 1 file changed, 7 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, approved pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index 86bfdf9..40b7330 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -18,6 +18,9 @@ #define TRX_8PSK_NB_TSC(br) \ _sched_train_seq_8psk_nb[(br)->tsc] +#define TRX_CHAN_IS_DEDIC(chan) \ + (chan >= TRXC_TCHF) + /* These types define the different channels on a multiframe. * Each channel has queues and can be activated individually. */ @@ -28,6 +31,10 @@ TRXC_BCCH, TRXC_RACH, TRXC_CCCH, + TRXC_CBCH, + TRXC_PDTCH, + TRXC_PTCCH, +/* Dedicated channels start here */ TRXC_TCHF, TRXC_TCHH_0, TRXC_TCHH_1, @@ -58,9 +65,6 @@ TRXC_SACCH8_5, TRXC_SACCH8_6, TRXC_SACCH8_7, - TRXC_PDTCH, - TRXC_PTCCH, - TRXC_CBCH, _TRX_CHAN_MAX }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24645 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7148f4d0bd1abbfe309bc5477e32a56d884533ea Gerrit-Change-Number: 24645 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria 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 Mon Jun 21 16:24:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 16:24:24 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: report interference levels to the upper layers In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24613 ) Change subject: osmo-bts-trx: report interference levels to the upper layers ...................................................................... osmo-bts-trx: report interference levels to the upper layers In trx_sched_ul_burst(), treat all BURST.ind and NOPE.ind mapped to inactive logical channels as interference. Average the RSSI values on the fly using a sliding average with constant a=0.5. Report averaged values for each logical channel every 104 TDMA frames (SACCH period) by calling gsm_lchan_interf_meas_push(). Change-Id: I4686448e42a40df56c1d27a14fd0a4d43fd144a5 Related: I78b6d8beffa5228a28231b75728e7aebdd3cb23c Related: SYS#5313, OS#1569 --- M include/osmo-bts/scheduler.h M src/common/scheduler.c M src/osmo-bts-trx/scheduler_trx.c 3 files changed, 100 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, approved pespin: Looks good to me, but someone else must approve laforge: Looks good to me, but someone else must approve diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index 40b7330..80a260f 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -136,10 +136,14 @@ uint8_t ul_encr_key[MAX_A5_KEY_LEN]; uint8_t dl_encr_key[MAX_A5_KEY_LEN]; - /* Simple ring buffer (up to 8 unique measurements) */ + /* Uplink measurements */ struct { - struct l1sched_meas_set buf[8]; + /* Active channel measurements (simple ring buffer) */ + struct l1sched_meas_set buf[8]; /* up to 8 entries */ unsigned int current; /* current position */ + + /* Interference measurements */ + int interf_avg; /* sliding average */ } meas; /* handover */ diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 0e1f495..a010b39 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -1444,6 +1444,31 @@ return 0; } +/* Process a single noise measurement for an inactive timeslot. */ +static void trx_sched_noise_meas(struct l1sched_chan_state *l1cs, + const struct trx_ul_burst_ind *bi) +{ + int *Avg = &l1cs->meas.interf_avg; + + /* EWMA (Exponentially Weighted Moving Average): + * + * Avg[n] = a * Val[n] + (1 - a) * Avg[n - 1] + * + * Implemented using the '+=' operator: + * + * Avg += a * Val - a * Avg + * Avg += a * (Val - Avg) + * + * We use constant 'a' = 0.5, what is equal to: + * + * Avg += (Val - Avg) / 2 + * + * We don't really need precisity here, so no scaling. + */ + + *Avg += (bi->rssi - *Avg) / 2; +} + /* Process an Uplink burst indication */ int trx_sched_ul_burst(struct l1sched_ts *l1ts, struct trx_ul_burst_ind *bi) { @@ -1469,15 +1494,13 @@ l1cs = &l1ts->chan_state[bi->chan]; func = trx_chan_desc[bi->chan].ul_fn; - /* TODO: handle noise measurements */ - if (bi->chan == TRXC_IDLE && bi->flags & TRX_BI_F_NOPE_IND) { - LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Rx noise measurement (%d)\n", bi->rssi); - return -ENOTSUP; - } - /* check if channel is active */ - if (!TRX_CHAN_IS_ACTIVE(l1cs, bi->chan)) - return -EINVAL; + if (!TRX_CHAN_IS_ACTIVE(l1cs, bi->chan)) { + /* handle noise measurements */ + if (TRX_CHAN_IS_DEDIC(bi->chan)) + trx_sched_noise_meas(l1cs, bi); + return 0; + } /* omit bursts which have no handler, like IDLE bursts */ if (!func) diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 1a4f03f..0a2052c 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -60,6 +60,65 @@ return 0; } +static void ts_report_interf_meas(const struct gsm_bts_trx_ts *ts) +{ + const struct l1sched_ts *l1ts = ts->priv; + unsigned int ln; + + for (ln = 0; ln < ARRAY_SIZE(ts->lchan); ln++) { + const struct gsm_lchan *lchan = &ts->lchan[ln]; + enum trx_chan_type dcch, acch; + int interf_avg; + + /* We're not interested in active channels */ + if (lchan->state == LCHAN_S_ACTIVE) + continue; + + switch (lchan->type) { + case GSM_LCHAN_SDCCH: + if (ts->pchan == GSM_PCHAN_CCCH_SDCCH4 || + ts->pchan == GSM_PCHAN_CCCH_SDCCH4_CBCH) { + dcch = TRXC_SDCCH4_0 + ln; + acch = TRXC_SACCH4_0 + ln; + } else { /* SDCCH/8 otherwise */ + dcch = TRXC_SDCCH8_0 + ln; + acch = TRXC_SACCH8_0 + ln; + } + break; + case GSM_LCHAN_TCH_F: + dcch = TRXC_TCHF; + acch = TRXC_SACCHTF; + break; + case GSM_LCHAN_TCH_H: + dcch = TRXC_TCHH_0 + ln; + acch = TRXC_SACCHTH_0 + ln; + break; + default: + /* Skip other lchan types */ + continue; + } + + OSMO_ASSERT(dcch < ARRAY_SIZE(l1ts->chan_state)); + OSMO_ASSERT(acch < ARRAY_SIZE(l1ts->chan_state)); + + interf_avg = (l1ts->chan_state[dcch].meas.interf_avg + + l1ts->chan_state[acch].meas.interf_avg) / 2; + + gsm_lchan_interf_meas_push((struct gsm_lchan *) lchan, interf_avg); + } +} + +static void bts_report_interf_meas(const struct gsm_bts *bts) +{ + const struct gsm_bts_trx *trx; + unsigned int tn; + + llist_for_each_entry(trx, &bts->trx_list, list) { + for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) + ts_report_interf_meas(&trx->ts[tn]); + } +} + /* Find a route (PHY instance) for a given Downlink burst request */ static struct phy_instance *dlfh_route_br(const struct trx_dl_burst_req *br, struct gsm_bts_trx_ts *ts) @@ -189,6 +248,10 @@ struct gsm_bts_trx *trx; unsigned int tn; + /* Report interference measurements */ + if (fn % 104 == 0) /* SACCH period */ + bts_report_interf_meas(bts); + /* send time indication */ l1if_mph_time_ind(bts, fn); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4686448e42a40df56c1d27a14fd0a4d43fd144a5 Gerrit-Change-Number: 24613 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder 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 Mon Jun 21 16:24:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 16:24:24 +0000 Subject: Change in osmo-bts[master]: osmo-bts-{trx, virtual}: get rid of dummy tx_idle_fn() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24711 ) Change subject: osmo-bts-{trx,virtual}: get rid of dummy tx_idle_fn() ...................................................................... osmo-bts-{trx,virtual}: get rid of dummy tx_idle_fn() This logical channel handler does nothing more than just logging. Change-Id: I438705f8dd902193e6c7b499d8ee55c56b6a1c2e --- M include/osmo-bts/scheduler_backend.h M src/common/scheduler.c M src/osmo-bts-trx/scheduler_trx.c M src/osmo-bts-virtual/scheduler_virtbts.c 4 files changed, 0 insertions(+), 15 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/osmo-bts/scheduler_backend.h b/include/osmo-bts/scheduler_backend.h index c54591e..50ba822 100644 --- a/include/osmo-bts/scheduler_backend.h +++ b/include/osmo-bts/scheduler_backend.h @@ -53,7 +53,6 @@ int16_t ta_offs_256bits, uint16_t ber10k, float rssi, uint8_t is_sub); -int tx_idle_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br); int tx_fcch_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br); int tx_sch_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br); int tx_data_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br); diff --git a/src/common/scheduler.c b/src/common/scheduler.c index a010b39..b4f2fa8 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -148,7 +148,6 @@ /* On C0, BTS needs to ensure discontinuous burst transmission. * Therefore we need to send dummy bursts on IDLE slots. */ .flags = TRX_CHAN_FLAG_AUTO_ACTIVE, - .dl_fn = tx_idle_fn, }, [TRXC_FCCH] = { .name = "FCCH", /* 3GPP TS 05.02, section 3.3.2.1 */ diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 0a2052c..97c5ff3 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -53,13 +53,6 @@ #define SCHED_FH_PARAMS_VALS(ts) \ (ts)->hopping.hsn, (ts)->hopping.maio, (ts)->hopping.arfcn_num -/* an IDLE burst returns nothing. on C0 it is replaced by dummy burst */ -int tx_idle_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) -{ - LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "Transmitting IDLE\n"); - return 0; -} - static void ts_report_interf_meas(const struct gsm_bts_trx_ts *ts) { const struct l1sched_ts *l1ts = ts->priv; diff --git a/src/osmo-bts-virtual/scheduler_virtbts.c b/src/osmo-bts-virtual/scheduler_virtbts.c index 4beb966..9d2adfc 100644 --- a/src/osmo-bts-virtual/scheduler_virtbts.c +++ b/src/osmo-bts-virtual/scheduler_virtbts.c @@ -177,12 +177,6 @@ * TX on downlink */ -/* an IDLE burst returns nothing. on C0 it is replaced by dummy burst */ -int tx_idle_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) -{ - return 0; -} - int tx_fcch_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24711 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I438705f8dd902193e6c7b499d8ee55c56b6a1c2e Gerrit-Change-Number: 24711 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 Jun 21 16:24:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 16:24:24 +0000 Subject: Change in osmo-bts[master]: scheduler: unset TRX_CHAN_FLAG_AUTO_ACTIVE for TRXC_IDLE In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24712 ) Change subject: scheduler: unset TRX_CHAN_FLAG_AUTO_ACTIVE for TRXC_IDLE ...................................................................... scheduler: unset TRX_CHAN_FLAG_AUTO_ACTIVE for TRXC_IDLE Neither we expect any Uplink bursts on IDLE channels, nor we need to send any Downlink bursts. Automatic activation of TRXC_IDLE channels does not make sense. Change-Id: Ifade0eab0605154196322ff20b1b3a44495f8a2e --- M src/common/scheduler.c 1 file changed, 0 insertions(+), 4 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/common/scheduler.c b/src/common/scheduler.c index b4f2fa8..9796506 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -144,10 +144,6 @@ [TRXC_IDLE] = { .name = "IDLE", .desc = "Idle channel", - - /* On C0, BTS needs to ensure discontinuous burst transmission. - * Therefore we need to send dummy bursts on IDLE slots. */ - .flags = TRX_CHAN_FLAG_AUTO_ACTIVE, }, [TRXC_FCCH] = { .name = "FCCH", /* 3GPP TS 05.02, section 3.3.2.1 */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24712 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ifade0eab0605154196322ff20b1b3a44495f8a2e Gerrit-Change-Number: 24712 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 Jun 21 16:24:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 16:24:25 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: print timeslot brief info in 'show transceiver' In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24714 ) Change subject: osmo-bts-trx: print timeslot brief info in 'show transceiver' ...................................................................... osmo-bts-trx: print timeslot brief info in 'show transceiver' Change-Id: Ibe624e4b801cae2dc00feb99441b7d606005b846 --- M src/osmo-bts-trx/trx_vty.c 1 file changed, 14 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/osmo-bts-trx/trx_vty.c b/src/osmo-bts-trx/trx_vty.c index a110f43..27c835f 100644 --- a/src/osmo-bts-trx/trx_vty.c +++ b/src/osmo-bts-trx/trx_vty.c @@ -57,6 +57,7 @@ { struct gsm_bts_trx *trx; struct trx_l1h *l1h; + unsigned int tn; llist_for_each_entry(trx, &g_bts->trx_list, list) { struct phy_instance *pinst = trx_phy_instance(trx); @@ -87,6 +88,19 @@ VTY_NEWLINE); else vty_out(vty, " bsic : undefined%s", VTY_NEWLINE); + + for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { + const struct gsm_bts_trx_ts *ts = &trx->ts[tn]; + const struct l1sched_ts *l1ts = ts->priv; + const struct trx_sched_multiframe *mf; + + mf = &trx_sched_multiframes[l1ts->mf_index]; + + vty_out(vty, " timeslot #%u (%s)%s", + tn, mf->name, VTY_NEWLINE); + vty_out(vty, " pending DL prims : %u%s", + llist_count(&l1ts->dl_prims), VTY_NEWLINE); + } } return CMD_SUCCESS; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24714 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ibe624e4b801cae2dc00feb99441b7d606005b846 Gerrit-Change-Number: 24714 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 16:24:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 16:24:25 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: measure interference levels on TRXC_IDLE In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24715 ) Change subject: osmo-bts-trx: measure interference levels on TRXC_IDLE ...................................................................... osmo-bts-trx: measure interference levels on TRXC_IDLE We already do the intereference measurements on inactive logical channels. For the active channels we can still use the IDLE slots, on which the UEs shall not transmit Uplink bursts. Change-Id: Ic3030dba5eb223177298aa4e43559a93dc3d1392 Related: SYS#5313, OS#1569 --- M src/common/scheduler.c M src/osmo-bts-trx/trx_vty.c 2 files changed, 5 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 9796506..3dd7693 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -1491,8 +1491,8 @@ /* check if channel is active */ if (!TRX_CHAN_IS_ACTIVE(l1cs, bi->chan)) { - /* handle noise measurements */ - if (TRX_CHAN_IS_DEDIC(bi->chan)) + /* handle noise measurements on dedicated and idle channels */ + if (TRX_CHAN_IS_DEDIC(bi->chan) || bi->chan == TRXC_IDLE) trx_sched_noise_meas(l1cs, bi); return 0; } diff --git a/src/osmo-bts-trx/trx_vty.c b/src/osmo-bts-trx/trx_vty.c index 27c835f..bb9d158 100644 --- a/src/osmo-bts-trx/trx_vty.c +++ b/src/osmo-bts-trx/trx_vty.c @@ -100,6 +100,9 @@ tn, mf->name, VTY_NEWLINE); vty_out(vty, " pending DL prims : %u%s", llist_count(&l1ts->dl_prims), VTY_NEWLINE); + vty_out(vty, " interference : %ddBm%s", + l1ts->chan_state[TRXC_IDLE].meas.interf_avg, + VTY_NEWLINE); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24715 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic3030dba5eb223177298aa4e43559a93dc3d1392 Gerrit-Change-Number: 24715 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 Jun 21 16:24:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 16:24:25 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: report PDCH interference levels to the PCU In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24718 ) Change subject: osmo-bts-trx: report PDCH interference levels to the PCU ...................................................................... osmo-bts-trx: report PDCH interference levels to the PCU The PDCH multiframe contains 48 data slots, 2 PTCCH slots, and 2 IDLE slots. The later two can be used for the interference measurements, since the UEs shall not transmit on them. bts_report_interf_meas() is called every 104 TDMA frames, what corresponds to 2 PDCH multiframe periods. Report interference levels on PDCH timeslots from this function. Change-Id: I56f83db5264c246ec1b4b8a973105a4fc09931fb Related: SYS#5313, OS#1569 --- M include/osmo-bts/pcu_if.h M include/osmo-bts/pcuif_proto.h M src/common/pcu_sock.c M src/osmo-bts-trx/scheduler_trx.c 4 files changed, 65 insertions(+), 7 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/osmo-bts/pcu_if.h b/include/osmo-bts/pcu_if.h index add37f8..6ef8dc5 100644 --- a/include/osmo-bts/pcu_if.h +++ b/include/osmo-bts/pcu_if.h @@ -15,6 +15,8 @@ int16_t qta, uint16_t ra, uint32_t fn, uint8_t is_11bit, enum ph_burst_type burst_type, uint8_t sapi); int pcu_tx_time_ind(uint32_t fn); +int pcu_tx_interf_ind(uint8_t bts_nr, uint8_t trx_nr, uint32_t fn, + const uint8_t *pdch_interf); int pcu_tx_pag_req(const uint8_t *identity_lv, uint8_t chan_needed); int pcu_tx_pch_data_cnf(uint32_t fn, uint8_t *data, uint8_t len); int pcu_tx_susp_req(struct gsm_lchan *lchan, uint32_t tlli, const uint8_t *ra_id, uint8_t cause); diff --git a/include/osmo-bts/pcuif_proto.h b/include/osmo-bts/pcuif_proto.h index 8f72602..38ca4b6 100644 --- a/include/osmo-bts/pcuif_proto.h +++ b/include/osmo-bts/pcuif_proto.h @@ -21,6 +21,7 @@ #define PCU_IF_MSG_INFO_IND 0x32 /* retrieve BTS info */ #define PCU_IF_MSG_ACT_REQ 0x40 /* activate/deactivate PDCH */ #define PCU_IF_MSG_TIME_IND 0x52 /* GSM time indication */ +#define PCU_IF_MSG_INTERF_IND 0x53 /* interference report */ #define PCU_IF_MSG_PAG_REQ 0x60 /* paging request */ #define PCU_IF_MSG_TXT_IND 0x70 /* Text indication for BTS */ @@ -208,6 +209,14 @@ uint8_t cause; } __attribute__ ((packed)); +/* Interference measurements on PDCH timeslots */ +struct gsm_pcu_if_interf_ind { + uint8_t trx_nr; + uint8_t spare[3]; + uint32_t fn; + uint8_t interf[8]; +} __attribute__ ((packed)); + struct gsm_pcu_if { /* context based information */ uint8_t msg_type; /* message type */ @@ -228,6 +237,7 @@ struct gsm_pcu_if_time_ind time_ind; struct gsm_pcu_if_pag_req pag_req; struct gsm_pcu_if_app_info_req app_info_req; + struct gsm_pcu_if_interf_ind interf_ind; } u; } __attribute__ ((packed)); diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 3a73570..5a04bf0 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -560,6 +560,27 @@ return pcu_sock_send(&bts_gsmnet, msg); } +int pcu_tx_interf_ind(uint8_t bts_nr, uint8_t trx_nr, uint32_t fn, + const uint8_t *pdch_interf) +{ + struct gsm_pcu_if_interf_ind *interf_ind; + struct gsm_pcu_if *pcu_prim; + struct msgb *msg; + + msg = pcu_msgb_alloc(PCU_IF_MSG_INTERF_IND, bts_nr); + if (!msg) + return -ENOMEM; + pcu_prim = (struct gsm_pcu_if *) msg->data; + interf_ind = &pcu_prim->u.interf_ind; + + interf_ind->trx_nr = trx_nr; + interf_ind->fn = fn; + memcpy(&interf_ind->interf[0], &pdch_interf[0], + sizeof(interf_ind->interf)); + + return pcu_sock_send(&bts_gsmnet, msg); +} + int pcu_tx_pag_req(const uint8_t *identity_lv, uint8_t chan_needed) { struct pcu_sock_state *state = bts_gsmnet.pcu_state; @@ -914,7 +935,8 @@ struct gsm_pcu_if *pcu_prim = (struct gsm_pcu_if *) msg->data; if (!state) { - if (pcu_prim->msg_type != PCU_IF_MSG_TIME_IND) + if (pcu_prim->msg_type != PCU_IF_MSG_TIME_IND && + pcu_prim->msg_type != PCU_IF_MSG_INTERF_IND) LOGP(DPCU, LOGL_INFO, "PCU socket not created, " "dropping message\n"); msgb_free(msg); @@ -922,7 +944,8 @@ } conn_bfd = &state->conn_bfd; if (conn_bfd->fd <= 0) { - if (pcu_prim->msg_type != PCU_IF_MSG_TIME_IND) + if (pcu_prim->msg_type != PCU_IF_MSG_TIME_IND && + pcu_prim->msg_type != PCU_IF_MSG_INTERF_IND) LOGP(DPCU, LOGL_NOTICE, "PCU socket not connected, " "dropping message\n"); msgb_free(msg); diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 97c5ff3..ef50e8d 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -45,6 +45,7 @@ #include #include #include +#include #include "l1_if.h" #include "trx_if.h" @@ -101,14 +102,36 @@ } } -static void bts_report_interf_meas(const struct gsm_bts *bts) +static void bts_report_interf_meas(const struct gsm_bts *bts, + const uint32_t fn) { const struct gsm_bts_trx *trx; - unsigned int tn; llist_for_each_entry(trx, &bts->trx_list, list) { - for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) - ts_report_interf_meas(&trx->ts[tn]); + uint8_t pdch_interf[8] = { 0 }; + unsigned int tn, pdch_num = 0; + + for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { + const struct gsm_bts_trx_ts *ts = &trx->ts[tn]; + const struct l1sched_ts *l1ts = ts->priv; + const struct l1sched_chan_state *l1cs; + + /* PS interference reports for the PCU */ + if (ts_pchan(ts) == GSM_PCHAN_PDCH) { + l1cs = &l1ts->chan_state[TRXC_IDLE]; + /* Interference value is encoded as -x dBm */ + pdch_interf[tn] = -1 * l1cs->meas.interf_avg; + pdch_num++; + continue; + } + + /* CS interference reports for the BSC */ + ts_report_interf_meas(ts); + } + + /* Report interference levels on PDCH to the PCU */ + if (pdch_num > 0) + pcu_tx_interf_ind(bts->nr, trx->nr, fn, pdch_interf); } } @@ -243,7 +266,7 @@ /* Report interference measurements */ if (fn % 104 == 0) /* SACCH period */ - bts_report_interf_meas(bts); + bts_report_interf_meas(bts, fn); /* send time indication */ l1if_mph_time_ind(bts, fn); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I56f83db5264c246ec1b4b8a973105a4fc09931fb Gerrit-Change-Number: 24718 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 Jun 21 16:24:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 16:24:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: implement ttcn API and cfg for A5/4 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669 ) Change subject: bsc: implement ttcn API and cfg for A5/4 ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifa48a8498dde7d04fb29f497013bdb5a1e5f3597 Gerrit-Change-Number: 24669 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 21 Jun 2021 16:24:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 16:25:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 16:25:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_cipher_mode(): fail quicker on key mismatch In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24670 ) Change subject: bsc: f_cipher_mode(): fail quicker on key mismatch ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia79779f4229da4a5af271235a5e82c6fd59ea3a2 Gerrit-Change-Number: 24670 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 16:25:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 16:26:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 16:26:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: reduce args to f_cipher_mode() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24668 ) Change subject: bsc: reduce args to f_cipher_mode() ...................................................................... bsc: reduce args to f_cipher_mode() Instead of passing each part individually, simply pass the entire TestHdlrEncrParams to f_cipher_mode(). Preparation for A5/4. Add the kc128 to TestHdlrEncrParams instead of a function arg. kc128 is so far unused, but will be used in an upcoming patch adding A5/4. Related: SYS#5324 Change-Id: I2cb8282e55436da5ae64ab569df87d5d5a0dd2f0 --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn 2 files changed, 14 insertions(+), 12 deletions(-) Approvals: neels: Looks good to me, approved dexter: 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 38e591c..719fce6 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3452,7 +3452,7 @@ } /* Start ciphering, expect Cipher Mode Reject */ - f_cipher_mode(g_pars.encr.enc_alg, g_pars.encr.enc_key, exp_fail := true); + f_cipher_mode(g_pars.encr, exp_fail := true); } testcase TC_assignment_fr_a5_not_sup() runs on test_CT { var TestHdlrParams pars := f_gen_test_hdlr_pars(); @@ -6776,7 +6776,7 @@ /* start ciphering, if requested */ if (ispresent(g_pars.encr)) { f_logp(BSCVTY, "start ciphering"); - f_cipher_mode(g_pars.encr.enc_alg, g_pars.encr.enc_key); + f_cipher_mode(g_pars.encr); } } diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index a4f1f51..8e915ac 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -544,12 +544,14 @@ type record TestHdlrEncrParams { OCT1 enc_alg, - octetstring enc_key + octetstring enc_key, + octetstring enc_kc128 optional }; -template (value) TestHdlrEncrParams t_EncrParams(OCT1 alg, octetstring key) := { +template (value) TestHdlrEncrParams t_EncrParams(OCT1 alg, octetstring key, template (omit) octetstring kc128 := omit) := { enc_alg := alg, - enc_key := key + enc_key := key, + enc_kc128 := kc128 } type record TestHdlrParamsLcls { @@ -711,25 +713,25 @@ } } -function f_cipher_mode(OCT1 alg, OCT8 key, template OCT16 kc128 := omit, boolean exp_fail := false) +function f_cipher_mode(TestHdlrEncrParams enc, boolean exp_fail := false) runs on MSC_ConnHdlr { var PDU_BSSAP bssap; var RSL_Message rsl; var RSL_AlgId alg_rsl; - if (isvalue(kc128)) { - BSSAP.send(ts_BSSMAP_CipherModeCmdKc128(alg, key, valueof(kc128))); + if (isvalue(enc.enc_kc128)) { + BSSAP.send(ts_BSSMAP_CipherModeCmdKc128(enc.enc_alg, enc.enc_key, valueof(enc.enc_kc128))); } else { - BSSAP.send(ts_BSSMAP_CipherModeCmd(alg, key)); + BSSAP.send(ts_BSSMAP_CipherModeCmd(enc.enc_alg, enc.enc_key)); } /* RSL uses a different representation of the encryption algorithm, * so we need to convert first */ - alg_rsl := f_chipher_mode_bssmap_to_rsl(alg); + alg_rsl := f_chipher_mode_bssmap_to_rsl(enc.enc_alg); alt { /* RSL/UE Side */ - [] RSL.receive(tr_RSL_ENCR_CMD(g_chan_nr, ?, alg_rsl, key)) -> value rsl { + [] RSL.receive(tr_RSL_ENCR_CMD(g_chan_nr, ?, alg_rsl, enc.enc_key)) -> 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); if (ischosen(l3.msgs.rrm.cipheringModeCommand)) { @@ -1147,7 +1149,7 @@ /* start ciphering, if requested */ if (ispresent(g_pars.encr)) { - f_cipher_mode(g_pars.encr.enc_alg, g_pars.encr.enc_key); + f_cipher_mode(g_pars.encr); } /* bail out early if no assignment requested */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24668 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2cb8282e55436da5ae64ab569df87d5d5a0dd2f0 Gerrit-Change-Number: 24668 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter 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 Mon Jun 21 16:26:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 16:26:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: implement ttcn API and cfg for A5/4 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669 ) Change subject: bsc: implement ttcn API and cfg for A5/4 ...................................................................... bsc: implement ttcn API and cfg for A5/4 Implement tools for OsmoBSC a5/4 support testing: - in f_cipher_mode() and f_check_chan_act(), expect Kc128 key as appropriate, using recently added g_pars.encr.enc_kc128 - osmo-bsc.cfg: allow a5/4 Related: SYS#5324 Change-Id: Ifa48a8498dde7d04fb29f497013bdb5a1e5f3597 --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M bsc/osmo-bsc.cfg 3 files changed, 20 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 719fce6..a2a7804 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3461,7 +3461,7 @@ f_init(1, true); f_sleep(1.0); - pars.encr := valueof(t_EncrParams('20'O, f_rnd_octstring(8))); + pars.encr := valueof(t_EncrParams('20'O, f_rnd_octstring(8), f_rnd_octstring(16))); vc_conn := f_start_handler(refers(f_TC_assignment_a5_not_sup), pars); vc_conn.done; f_shutdown_helper(); diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 8e915ac..ec1f806 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -718,6 +718,7 @@ var PDU_BSSAP bssap; var RSL_Message rsl; var RSL_AlgId alg_rsl; + var octetstring expect_kc; if (isvalue(enc.enc_kc128)) { BSSAP.send(ts_BSSMAP_CipherModeCmdKc128(enc.enc_alg, enc.enc_key, valueof(enc.enc_kc128))); @@ -729,9 +730,16 @@ * so we need to convert first */ alg_rsl := f_chipher_mode_bssmap_to_rsl(enc.enc_alg); + if (alg_rsl == RSL_ALG_ID_A5_4 and ispresent(enc.enc_kc128)) { + expect_kc := enc.enc_kc128; + } else { + expect_kc := enc.enc_key; + } + log("for encryption algo ", alg_rsl, " expect kc = ", expect_kc); + alt { /* RSL/UE Side */ - [] RSL.receive(tr_RSL_ENCR_CMD(g_chan_nr, ?, alg_rsl, enc.enc_key)) -> value rsl { + [] RSL.receive(tr_RSL_ENCR_CMD(g_chan_nr, ?, alg_rsl, expect_kc)) -> 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); if (ischosen(l3.msgs.rrm.cipheringModeCommand)) { @@ -842,8 +850,15 @@ 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); - if (not match(encr_info, tr_EncrInfo(alg, g_pars.encr.enc_key))) { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Wrong Encryption IE in CHAN ACT"); + var octetstring expect_key; + if (alg == RSL_ALG_ID_A5_4) { + expect_key := g_pars.encr.enc_kc128; + } else { + expect_key := g_pars.encr.enc_key; + } + if (not match(encr_info, tr_EncrInfo(alg, expect_key))) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Unexpected Kc in Encryption IE in RSL ENCR CMD"); } } } else { diff --git a/bsc/osmo-bsc.cfg b/bsc/osmo-bsc.cfg index b64a63d..7b0fa2a 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 + encryption a5 0 1 3 4 neci 1 paging any use tch 0 handover 1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifa48a8498dde7d04fb29f497013bdb5a1e5f3597 Gerrit-Change-Number: 24669 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 16:26:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 16:26:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_cipher_mode(): fail quicker on key mismatch In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24670 ) Change subject: bsc: f_cipher_mode(): fail quicker on key mismatch ...................................................................... bsc: f_cipher_mode(): fail quicker on key mismatch Related: SYS#5324 Change-Id: Ia79779f4229da4a5af271235a5e82c6fd59ea3a2 --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 11 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/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index ec1f806..0d46bc6 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -739,9 +739,19 @@ alt { /* RSL/UE Side */ - [] RSL.receive(tr_RSL_ENCR_CMD(g_chan_nr, ?, alg_rsl, expect_kc)) -> value rsl { + [] RSL.receive(tr_RSL_ENCR_CMD(g_chan_nr, ?, alg_rsl, ?)) -> 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); + + var RSL_IE_Body encr_info; + if (not f_rsl_find_ie(rsl, RSL_IE_ENCR_INFO, encr_info)) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Missing Encryption IE in RSL ENCR CMD"); + } else { + if (not match(encr_info, tr_EncrInfo(alg_rsl, expect_kc))) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Unexpected Kc in Encryption IE in RSL ENCR CMD"); + } + } if (ischosen(l3.msgs.rrm.cipheringModeCommand)) { f_rsl_reply(ts_RRM_CiphModeCompl, rsl); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia79779f4229da4a5af271235a5e82c6fd59ea3a2 Gerrit-Change-Number: 24670 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 16:26:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 16:26:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_cipher_mode(): verify enc alg in Cipher Mode Complete msg In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24671 ) Change subject: bsc: f_cipher_mode(): verify enc alg in Cipher Mode Complete msg ...................................................................... bsc: f_cipher_mode(): verify enc alg in Cipher Mode Complete msg Related: SYS#5324 Change-Id: I88b386c55e23cc180131e95a005d08cbc3ec102b --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 0d46bc6..12712db 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -758,11 +758,13 @@ repeat; } [] BSSAP.receive(tr_BSSMAP_CipherModeCompl) -> value bssap { - // bssap.bssmap.cipherModeComplete.chosenEncryptionAlgorithm.algoritmhIdentifier if (exp_fail == true) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Unexpected Cipher Mode Complete"); } else { setverdict(pass); + if (oct2int(bssap.pdu.bssmap.cipherModeComplete.chosenEncryptionAlgorithm.algorithmIdentifier) != enum2int(alg_rsl)) { + setverdict(fail, "Unexpected Encryption Algorithm ID in BSSMAP Cipher Mode Complete"); + } } } [] BSSAP.receive(tr_BSSMAP_CipherModeRej) -> value bssap { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24671 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I88b386c55e23cc180131e95a005d08cbc3ec102b Gerrit-Change-Number: 24671 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 16:26:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 16:26:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_ciph_mode_a5_4 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24672 ) Change subject: bsc: add TC_ciph_mode_a5_4 ...................................................................... bsc: add TC_ciph_mode_a5_4 Establish a Signalling channel with A5/4 encryption. Related: SYS#5324 Change-Id: I2428c21663dfa7d67e769da0127f74e8c01dfb97 --- M bsc/BSC_Tests.ttcn M bsc/expected-results.xml 2 files changed, 13 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index a2a7804..4ae90bb 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3326,7 +3326,18 @@ vc_conn.done; f_shutdown_helper(); } +/* Establish a Signalling channel with A5/4 encryption. */ +testcase TC_ciph_mode_a5_4() runs on test_CT { + var MSC_ConnHdlr vc_conn; + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + pars.encr := valueof(t_EncrParams('10'O, f_rnd_octstring(8), f_rnd_octstring(16))); + f_init(1, true); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_tc_ciph_mode_a5), pars); + vc_conn.done; + f_shutdown_helper(); +} /* establish initial channel, enable ciphering followed by assignment to ciphered channel */ private function f_tc_assignment_aoip_tla_v6(charstring id) runs on MSC_ConnHdlr { var template PDU_BSSAP exp_compl := f_gen_exp_compl(); @@ -8923,6 +8934,7 @@ execute( TC_ciph_mode_a5_0() ); execute( TC_ciph_mode_a5_1() ); execute( TC_ciph_mode_a5_3() ); + execute( TC_ciph_mode_a5_4() ); execute( TC_assignment_codec_fr() ); execute( TC_assignment_codec_fr_by_mode_modify() ); diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml index f91de19..ab1a9e4 100644 --- a/bsc/expected-results.xml +++ b/bsc/expected-results.xml @@ -51,6 +51,7 @@ + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24672 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2428c21663dfa7d67e769da0127f74e8c01dfb97 Gerrit-Change-Number: 24672 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 16:26:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 16:26:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_assignment_fr_a5_4 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24673 ) Change subject: bsc: add TC_assignment_fr_a5_4 ...................................................................... bsc: add TC_assignment_fr_a5_4 Establish a TCH/F with A5/4 encryption. Related: SYS#5324 Change-Id: I9ad899bd15a1f7ba0a44764f7d2a94f5b627053f --- M bsc/BSC_Tests.ttcn M bsc/expected-results.xml 2 files changed, 14 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 4ae90bb..f99d4b0 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3402,6 +3402,18 @@ vc_conn.done; f_shutdown_helper(); } +/* Establish a Signalling channel and re-assign to TCH/F with A5/4 encryption. */ +testcase TC_assignment_fr_a5_4() runs on test_CT { + var MSC_ConnHdlr vc_conn; + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + pars.encr := valueof(t_EncrParams('10'O, f_rnd_octstring(8), f_rnd_octstring(16))); + + f_init(1, true); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_tc_assignment_fr_a5), pars); + vc_conn.done; + f_shutdown_helper(); +} /* Expect ASSIGNMENT FAIL if mandatory IE is missing */ private function f_tc_assignment_fr_a5_1_codec_missing(charstring id) runs on MSC_ConnHdlr { @@ -8930,6 +8942,7 @@ execute( TC_assignment_fr_a5_1_codec_missing() ); } execute( TC_assignment_fr_a5_3() ); + execute( TC_assignment_fr_a5_4() ); execute( TC_assignment_fr_a5_not_sup() ); execute( TC_ciph_mode_a5_0() ); execute( TC_ciph_mode_a5_1() ); diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml index ab1a9e4..e3a6a87 100644 --- a/bsc/expected-results.xml +++ b/bsc/expected-results.xml @@ -47,6 +47,7 @@ + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24673 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9ad899bd15a1f7ba0a44764f7d2a94f5b627053f Gerrit-Change-Number: 24673 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 16:26:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 16:26:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add BSC_Tests.TC_assignment_fr_a5_4_fail In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24674 ) Change subject: bsc: add BSC_Tests.TC_assignment_fr_a5_4_fail ...................................................................... bsc: add BSC_Tests.TC_assignment_fr_a5_4_fail Allow only A5/4, but omit the Kc128 IE from MSC's msg. Expect Cipher Mode Reject. Related: SYS#5324 Change-Id: I7734a4a59797a9b21523c33f48815a8094f4e6ec --- M bsc/BSC_Tests.ttcn M bsc/expected-results.xml 2 files changed, 16 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index f99d4b0..340d766 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3415,6 +3415,20 @@ f_shutdown_helper(); } +/* Allow only A5/4, but omit the Kc128 IE from MSC's msg. Expect Cipher Mode Reject. */ +testcase TC_assignment_fr_a5_4_fail() runs on test_CT { + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn; + + f_init(1, true); + f_sleep(1.0); + + pars.encr := valueof(t_EncrParams('10'O, f_rnd_octstring(8))); // A5/4 support, but Kc128 missing! + vc_conn := f_start_handler(refers(f_TC_assignment_a5_not_sup), pars); + vc_conn.done; + f_shutdown_helper(); +} + /* Expect ASSIGNMENT FAIL if mandatory IE is missing */ private function f_tc_assignment_fr_a5_1_codec_missing(charstring id) runs on MSC_ConnHdlr { g_pars := f_gen_test_hdlr_pars(); @@ -8943,6 +8957,7 @@ } execute( TC_assignment_fr_a5_3() ); execute( TC_assignment_fr_a5_4() ); + execute( TC_assignment_fr_a5_4_fail() ); execute( TC_assignment_fr_a5_not_sup() ); execute( TC_ciph_mode_a5_0() ); execute( TC_ciph_mode_a5_1() ); diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml index e3a6a87..0efc3e0 100644 --- a/bsc/expected-results.xml +++ b/bsc/expected-results.xml @@ -48,6 +48,7 @@ + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7734a4a59797a9b21523c33f48815a8094f4e6ec Gerrit-Change-Number: 24674 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 16:26:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 16:26:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: drop unused kc variables In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24725 ) Change subject: bsc: drop unused kc variables ...................................................................... bsc: drop unused kc variables Change-Id: I08323cbe079d357dfdd44ecddacd1c772941abaa --- M bsc/BSC_Tests.ttcn 1 file changed, 0 insertions(+), 4 deletions(-) Approvals: dexter: 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 340d766..5d72111 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3434,7 +3434,6 @@ g_pars := f_gen_test_hdlr_pars(); var template PDU_BSSAP exp_fail := tr_BSSMAP_AssignmentFail; var PDU_BSSAP ass_cmd := f_gen_ass_req(); - const OCT8 kc := '0001020304050607'O; ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); /* Omit: ass_cmd.pdu.bssmap.assignmentRequest.codecList */ @@ -4684,7 +4683,6 @@ g_pars := f_gen_test_hdlr_pars(); var template PDU_BSSAP exp_compl := f_gen_exp_compl(); var PDU_BSSAP ass_cmd := f_gen_ass_req(); - const OCT8 kc := '0001020304050607'O; ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); @@ -4748,7 +4746,6 @@ g_pars := f_gen_test_hdlr_pars(); var template PDU_BSSAP exp_compl := f_gen_exp_compl(); var PDU_BSSAP ass_cmd := f_gen_ass_req(); - const OCT8 kc := '0001020304050607'O; ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); @@ -5902,7 +5899,6 @@ g_pars := f_gen_test_hdlr_pars(); var template PDU_BSSAP exp_compl := f_gen_exp_compl(); var PDU_BSSAP ass_cmd := f_gen_ass_req(); - const OCT8 kc := '0001020304050607'O; ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24725 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I08323cbe079d357dfdd44ecddacd1c772941abaa Gerrit-Change-Number: 24725 Gerrit-PatchSet: 4 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 Mon Jun 21 16:26:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 16:26:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_tc_ho_int: do not override TestHdlrParams In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24726 ) Change subject: bsc: f_tc_ho_int: do not override TestHdlrParams ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24726 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibd1a887b197100bf7ffe1e37c6567690bc4c8f8c Gerrit-Change-Number: 24726 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 16:26:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 16:26:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 16:26:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_tc_ho_int: do not override TestHdlrParams In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24726 ) Change subject: bsc: f_tc_ho_int: do not override TestHdlrParams ...................................................................... bsc: f_tc_ho_int: do not override TestHdlrParams Related: SYS#5324 Change-Id: Ibd1a887b197100bf7ffe1e37c6567690bc4c8f8c --- M bsc/BSC_Tests.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/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 5d72111..a008bb8 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -4680,7 +4680,6 @@ /* intra-BSC hand-over between BTS0 and BTS1 */ private function f_tc_ho_int(charstring id) runs on MSC_ConnHdlr { - g_pars := f_gen_test_hdlr_pars(); var template PDU_BSSAP exp_compl := f_gen_exp_compl(); var PDU_BSSAP ass_cmd := f_gen_ass_req(); @@ -4720,13 +4719,14 @@ } testcase TC_ho_int() runs on test_CT { + var TestHdlrParams pars := f_gen_test_hdlr_pars(); var MSC_ConnHdlr vc_conn; f_init(2, true); f_sleep(1.0); f_ctrs_bsc_and_bts_init(); - vc_conn := f_start_handler(refers(f_tc_ho_int)); + vc_conn := f_start_handler(refers(f_tc_ho_int), pars); vc_conn.done; /* from f_establish_fully() */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24726 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibd1a887b197100bf7ffe1e37c6567690bc4c8f8c Gerrit-Change-Number: 24726 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 Mon Jun 21 16:26:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 16:26:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: split f_verify_encr_info() from f_cipher_mode() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24727 ) Change subject: bsc: split f_verify_encr_info() from f_cipher_mode() ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24727 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I11602d23670f436a22b891fc744fe07e470f2b79 Gerrit-Change-Number: 24727 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 16:26: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 Jun 21 16:27:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 16:27:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add intra-BSC handover tests with encryption In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24728 ) Change subject: bsc: add intra-BSC handover tests with encryption ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24728 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iaab26c708c106a61b762234d42ed9a52cdc2998c Gerrit-Change-Number: 24728 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 16:27: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 Jun 21 16:27:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 16:27:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSSMAP: add encr params to ts_BSSMAP_HandoverRequest In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24730 ) Change subject: BSSMAP: add encr params to ts_BSSMAP_HandoverRequest ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24730 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idadc0e0a7a960a0ef88b3dca97c4fbaa16975b61 Gerrit-Change-Number: 24730 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 16: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 Mon Jun 21 16:27:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 16:27:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add tests for inter-BSC HO with encryption A5/{0, 1, 3, 4} In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24731 ) Change subject: bsc: add tests for inter-BSC HO with encryption A5/{0,1,3,4} ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24731 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8de65eb9a5bd9a58add55e821f2a559c9a81edc1 Gerrit-Change-Number: 24731 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 16:27:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 16:33:23 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 21 Jun 2021 16:33:23 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: ignore PDCH interference reports, do not log errors In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24721 ) Change subject: pcu_l1_if: ignore PDCH interference reports, do not log errors ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/24721/1/src/pcu_l1_if.cpp File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/24721/1/src/pcu_l1_if.cpp at 996 PS1, Line 996: /* TODO: handle interference reports */ > You could so far simpli call a function and print them? You mean introducing a function that would print the reports? I don't really see the need for spamming logs with interference reports every ~1 second. IMO, storing them somewhere and adding a VTY command makes more sense. In any case, I just want to suspend frequent "Received unknown PCU msg type" messages. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24721 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I88e5c53131ee94bc3f3ff3f095077feb4ff272a7 Gerrit-Change-Number: 24721 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 16:33:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 17:19:59 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 21 Jun 2021 17:19:59 +0000 Subject: Change in osmo-pcu[master]: gprs_rlcmac_sched: fix incorrect length for CTR_RLC_DL_BYTES In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24723 ) Change subject: gprs_rlcmac_sched: fix incorrect length for CTR_RLC_DL_BYTES ...................................................................... gprs_rlcmac_sched: fix incorrect length for CTR_RLC_DL_BYTES msg->data_len is the total number of bytes available in the buffer, while for CTR_RLC_DL_BYTES we need to count size of the actual payload within the buffer. A consequence of this bug: osmo-pcu was counting more Downlink bytes than it's actually transmitted. Change-Id: I6884d220f3d06a79b16c18ccc2d2a6cd047b8251 --- M src/gprs_rlcmac_sched.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, but someone else must approve dexter: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 4c1a6ab..2adf1f3 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -506,7 +506,7 @@ } /* msg is now available */ - bts_do_rate_ctr_add(bts, CTR_RLC_DL_BYTES, msg->data_len); + bts_do_rate_ctr_add(bts, CTR_RLC_DL_BYTES, msgb_length(msg)); /* set USF */ OSMO_ASSERT(msgb_length(msg) > 0); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24723 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6884d220f3d06a79b16c18ccc2d2a6cd047b8251 Gerrit-Change-Number: 24723 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 18:06:36 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 21 Jun 2021 18:06:36 +0000 Subject: Change in osmo-bsc[master]: VTY: fix typo in a command description: s/send/sent/ References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24738 ) Change subject: VTY: fix typo in a command description: s/send/sent/ ...................................................................... VTY: fix typo in a command description: s/send/sent/ Change-Id: Idb2fda4c2bd8a4e7ee6c4d7c7dc08a7d4f20d00d --- M src/osmo-bsc/bsc_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/38/24738/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 071e828..1ec34bc 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -5099,7 +5099,7 @@ cfg_power_ctrl_bs_power_cmd, X(BSC_VTY_ATTR_NEW_LCHAN), "bs-power (static|dyn-max) <0-30>", - "BS Power IE value to be send to the BTS\n" + "BS Power IE value to be sent to the BTS\n" "Fixed BS Power reduction value (for static mode)\n" "Maximum BS Power reduction value (for dynamic mode)\n" "BS Power reduction value (in dB, even numbers only)\n") -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24738 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Idb2fda4c2bd8a4e7ee6c4d7c7dc08a7d4f20d00d Gerrit-Change-Number: 24738 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 Jun 21 18:06:36 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 21 Jun 2021 18:06:36 +0000 Subject: Change in osmo-bsc[master]: power_control: add separate 'bs-power-c0' command for C0 References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24739 ) Change subject: power_control: add separate 'bs-power-c0' command for C0 ...................................................................... power_control: add separate 'bs-power-c0' command for C0 The BCCH carrier (sometimes called C0) of a BTS shall maintain discontinuous Downlink transmission at full power in order to stay 'visible' for 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. Introduce a new 'bs-power-c0' configuration command, complementing the existing 'bs-power' command, in order to allow constrained BS power reduction on the BCCH carriers. Change-Id: Id7c2cf80309532f57621342826acc0e9639733cd Related: SYS#4919 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lchan_fsm.c M tests/power_ctrl.vty 5 files changed, 72 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/39/24739/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 1755b92..379a5d2 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1452,10 +1452,14 @@ /* Power Control mode to be used by the BTS */ enum gsm_power_ctrl_mode mode; - /* BS Power reduction value / maximum (in dB) */ + /* BS Power reduction value / maximum (in dB) for Cx */ uint8_t bs_power_val_db; /* for static mode */ uint8_t bs_power_max_db; /* for dynamic mode */ + /* BS Power reduction value / maximum (in dB) for C0 */ + uint8_t bs_power_c0_val_db; /* for static mode */ + uint8_t bs_power_c0_max_db; /* for dynamic mode */ + /* Power change step size (dynamic mode only) */ uint8_t inc_step_size_db; /* increasing direction */ uint8_t red_step_size_db; /* reducing direction */ diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 1ec34bc..c26b15b 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -987,12 +987,16 @@ cfg_out(" mode static%s", VTY_NEWLINE); if (cp->dir == GSM_PWR_CTRL_DIR_DL && cp->bs_power_val_db != 0) cfg_out(" bs-power static %u%s", cp->bs_power_val_db, VTY_NEWLINE); + if (cp->dir == GSM_PWR_CTRL_DIR_DL && cp->bs_power_c0_val_db != 0) + cfg_out(" bs-power-c0 static %u%s", cp->bs_power_c0_val_db, VTY_NEWLINE); break; case GSM_PWR_CTRL_MODE_DYN_BTS: cfg_out("%s%s", node_name, VTY_NEWLINE); cfg_out(" mode dyn-bts%s", VTY_NEWLINE); - if (cp->dir == GSM_PWR_CTRL_DIR_DL) + if (cp->dir == GSM_PWR_CTRL_DIR_DL) { cfg_out(" bs-power dyn-max %u%s", cp->bs_power_max_db, VTY_NEWLINE); + cfg_out(" bs-power-c0 dyn-max %u%s", cp->bs_power_c0_max_db, VTY_NEWLINE); + } if (cp->ctrl_interval > 0) cfg_out(" ctrl-interval %u%s", cp->ctrl_interval, VTY_NEWLINE); @@ -5120,14 +5124,33 @@ return CMD_WARNING; } - if (dynamic) /* maximum value */ - params->bs_power_max_db = value; - else /* static (fixed) value */ - params->bs_power_val_db = value; + if (!strncmp(self->string, "bs-power-c0", 11)) { + if (dynamic) /* maximum value for C0 */ + params->bs_power_c0_max_db = value; + else /* static (fixed) value for C0 */ + params->bs_power_c0_val_db = value; + } else { + if (dynamic) /* maximum value for Cx */ + params->bs_power_max_db = value; + else /* static (fixed) value for Cx */ + params->bs_power_val_db = value; + } return CMD_SUCCESS; } +DEFUN_USRATTR(cfg_power_ctrl_bs_power_c0, + cfg_power_ctrl_bs_power_c0_cmd, + X(BSC_VTY_ATTR_NEW_LCHAN), + "bs-power-c0 (static|dyn-max) <0-6>", + "BS Power IE value to be sent to the C0 (BCCH carrier) of the BTS\n" + "Fixed BS Power reduction value (for static mode)\n" + "Maximum BS Power reduction value (for dynamic mode)\n" + "BS Power reduction value (in dB, even numbers only)\n") +{ + return cfg_power_ctrl_bs_power(self, vty, argc, argv); +} + DEFUN_USRATTR(cfg_power_ctrl_ctrl_interval, cfg_power_ctrl_ctrl_interval_cmd, X(BSC_VTY_ATTR_VENDOR_SPECIFIC) | @@ -8132,6 +8155,7 @@ install_node(&power_ctrl_node, dummy_config_write); install_element(POWER_CTRL_NODE, &cfg_power_ctrl_mode_cmd); install_element(POWER_CTRL_NODE, &cfg_power_ctrl_bs_power_cmd); + install_element(POWER_CTRL_NODE, &cfg_power_ctrl_bs_power_c0_cmd); install_element(POWER_CTRL_NODE, &cfg_power_ctrl_ctrl_interval_cmd); install_element(POWER_CTRL_NODE, &cfg_power_ctrl_step_size_cmd); install_element(POWER_CTRL_NODE, &cfg_power_ctrl_rxlev_thresh_cmd); diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 0d1395c..31e00a9 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -1136,10 +1136,14 @@ /* Static Power Control is the safe default */ .mode = GSM_PWR_CTRL_MODE_STATIC, - /* BS Power reduction value / maximum (in dB) */ + /* BS Power reduction value / maximum (in dB) for Cx */ .bs_power_val_db = 0, /* no attenuation in static mode */ .bs_power_max_db = 12, /* up to 12 dB in dynamic mode */ + /* BS Power reduction value / maximum (in dB) for C0 */ + .bs_power_c0_val_db = 0, /* no attenuation in static mode */ + .bs_power_c0_max_db = 0, /* no attenuation in dynamic mode */ + /* Power increasing/reducing step size */ .inc_step_size_db = 4, /* 2, 4, or 6 dB */ .red_step_size_db = 2, /* 2 or 4 dB */ diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 03ccec0..6b30205 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -669,10 +669,17 @@ * - TA is still zero, to be determined by RACH. */ /* Default BS Power reduction value (in 2 dB steps) */ - if (bts->bs_power_ctrl.mode == GSM_PWR_CTRL_MODE_DYN_BTS) - lchan->bs_power_db = bts->bs_power_ctrl.bs_power_max_db; - else - lchan->bs_power_db = bts->bs_power_ctrl.bs_power_val_db; + if (bts->bs_power_ctrl.mode == GSM_PWR_CTRL_MODE_DYN_BTS) { + if (lchan->trx == bts->c0) + lchan->bs_power_db = bts->bs_power_ctrl.bs_power_c0_max_db; + else + lchan->bs_power_db = bts->bs_power_ctrl.bs_power_max_db; + } else { + if (lchan->trx == bts->c0) + lchan->bs_power_db = bts->bs_power_ctrl.bs_power_c0_val_db; + else + lchan->bs_power_db = bts->bs_power_ctrl.bs_power_val_db; + } } if (lchan_activate_set_ch_mode_rate_and_mr_config(lchan)) diff --git a/tests/power_ctrl.vty b/tests/power_ctrl.vty index ff387ce..d268725 100644 --- a/tests/power_ctrl.vty +++ b/tests/power_ctrl.vty @@ -29,6 +29,7 @@ ... . l. mode (static|dyn-bts) [reset] . l. bs-power (static|dyn-max) <0-30> + . l. bs-power-c0 (static|dyn-max) <0-6> . lv ctrl-interval <0-31> . lv step-size inc <2-6> red <2-4> . lv rxlev-thresh lower <0-63> upper <0-63> @@ -40,19 +41,36 @@ . lv (rxlev-avg|rxqual-avg) algo (unweighted|weighted|mod-median) . lv (rxlev-avg|rxqual-avg) algo osmo-ewma beta <1-99> +OsmoBSC(config-bs-power-ctrl)# bs-power? + bs-power BS Power IE value to be sent to the BTS +OsmoBSC(config-bs-power-ctrl)# bs-power-c0? + bs-power-c0 BS Power IE value to be sent to the C0 (BCCH carrier) of the BTS + OsmoBSC(config-bs-power-ctrl)# bs-power ? static Fixed BS Power reduction value (for static mode) dyn-max Maximum BS Power reduction value (for dynamic mode) +OsmoBSC(config-bs-power-ctrl)# bs-power-c0 ? + static Fixed BS Power reduction value (for static mode) + dyn-max Maximum BS Power reduction value (for dynamic mode) + OsmoBSC(config-bs-power-ctrl)# bs-power static ? <0-30> BS Power reduction value (in dB, even numbers only) +OsmoBSC(config-bs-power-ctrl)# bs-power-c0 static ? + <0-6> BS Power reduction value (in dB, even numbers only) + OsmoBSC(config-bs-power-ctrl)# bs-power static 3 % Incorrect BS Power reduction value, an even number is expected +OsmoBSC(config-bs-power-ctrl)# bs-power-c0 static 30 +% Unknown command. + OsmoBSC(config-bs-power-ctrl)# bs-power static 6 +OsmoBSC(config-bs-power-ctrl)# bs-power-c0 static 4 OsmoBSC(config-bs-power-ctrl)# show running-config ... bs-power-control mode static bs-power static 6 + bs-power-c0 static 4 ms-power-control mode dyn-bts ... !bs-power @@ -64,6 +82,7 @@ bs-power-control mode dyn-bts bs-power dyn-max 12 + bs-power-c0 dyn-max 0 step-size inc 4 red 2 rxlev-thresh lower 32 upper 38 rxlev-thresh-comp lower 10 12 upper 19 20 @@ -74,11 +93,13 @@ ... OsmoBSC(config-bs-power-ctrl)# bs-power dyn-max 30 +OsmoBSC(config-bs-power-ctrl)# bs-power-c0 dyn-max 6 OsmoBSC(config-bs-power-ctrl)# show running-config ... bs-power-control mode dyn-bts bs-power dyn-max 30 + bs-power-c0 dyn-max 6 ... !bs-power ms-power-control mode dyn-bts @@ -100,6 +121,7 @@ ... . l. mode (static|dyn-bts) [reset] . l. bs-power (static|dyn-max) <0-30> + . l. bs-power-c0 (static|dyn-max) <0-6> . lv ctrl-interval <0-31> . lv step-size inc <2-6> red <2-4> . lv rxlev-thresh lower <0-63> upper <0-63> -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24739 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id7c2cf80309532f57621342826acc0e9639733cd Gerrit-Change-Number: 24739 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 Jun 21 18:26:55 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 21 Jun 2021 18:26:55 +0000 Subject: Change in osmo-bsc[master]: power_control: implement BCCH carrier power reduction operation 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/+/24739 to look at the new patch set (#2). 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, 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. Introduce a new 'bs-power-c0' configuration command, complementing the existing 'bs-power' command, in order to allow constrained BS power reduction on *active channels* of the BCCH carriers. In lchan_fsm_wait_ts_ready_onenter(), distinguish between the BCCH and non-BCCH carriers, apply the appropriate default value. Change-Id: Id7c2cf80309532f57621342826acc0e9639733cd Related: SYS#4919 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lchan_fsm.c M tests/power_ctrl.vty 5 files changed, 72 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/39/24739/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24739 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id7c2cf80309532f57621342826acc0e9639733cd Gerrit-Change-Number: 24739 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 18:27:11 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 21 Jun 2021 18:27:11 +0000 Subject: Change in osmo-bsc[master]: power_control: omit BS Power Parameters IE if the maximum is 0 dB In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/22165 ) Change subject: power_control: omit BS Power Parameters IE if the maximum is 0 dB ...................................................................... Patch Set 5: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/22165 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If8507992dfd90ade1edda99b72bf2420a702ccd5 Gerrit-Change-Number: 22165 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 21 Jun 2021 18:27: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 Mon Jun 21 20:18:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 20:18:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: [VAMOS] BTS: call f_shutdown() in f_TC_vamos_exec_async() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24734 ) Change subject: [VAMOS] BTS: call f_shutdown() in f_TC_vamos_exec_async() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24734 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I690412a29b24571109415d32b09543de459076d1 Gerrit-Change-Number: 24734 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 20:18: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 Jun 21 20:18:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 20:18:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: [VAMOS] BTS: call f_shutdown() in f_TC_vamos_exec_async() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24734 ) Change subject: [VAMOS] BTS: call f_shutdown() in f_TC_vamos_exec_async() ...................................................................... [VAMOS] BTS: call f_shutdown() in f_TC_vamos_exec_async() Sometimes, VAMOS related test cases fail due to a DTE: Dynamic test case error: Sending data on the connection of port CCHAN_PT to 1:RSL_CCHAN failed. (Broken pipe) Call f_shutdown() to ensure that all components are properly terminated, so there will be no race conditions like this. Change-Id: I690412a29b24571109415d32b09543de459076d1 Related: SYS#4895 --- M bts/BTS_Tests_VAMOS.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bts/BTS_Tests_VAMOS.ttcn b/bts/BTS_Tests_VAMOS.ttcn index 413892d..3498c61 100644 --- a/bts/BTS_Tests_VAMOS.ttcn +++ b/bts/BTS_Tests_VAMOS.ttcn @@ -182,6 +182,8 @@ vc_conn[ch].done; } } + + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } private function f_TC_vamos_chan_act(charstring id) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24734 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I690412a29b24571109415d32b09543de459076d1 Gerrit-Change-Number: 24734 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria 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 Mon Jun 21 20:18:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 20:18:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: also allow empty key for A5/0 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24732 ) Change subject: bsc: also allow empty key for A5/0 ...................................................................... bsc: also allow empty key for A5/0 Change-Id: Id54abc09dd62d7247a970a03ed8c2209b641f511 --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 8 insertions(+), 1 deletion(-) Approvals: neels: Looks good to me, approved dexter: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 12712db..9b6f8b1 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -718,7 +718,7 @@ var PDU_BSSAP bssap; var RSL_Message rsl; var RSL_AlgId alg_rsl; - var octetstring expect_kc; + var template octetstring expect_kc; if (isvalue(enc.enc_kc128)) { BSSAP.send(ts_BSSMAP_CipherModeCmdKc128(enc.enc_alg, enc.enc_key, valueof(enc.enc_kc128))); @@ -732,6 +732,13 @@ if (alg_rsl == RSL_ALG_ID_A5_4 and ispresent(enc.enc_kc128)) { expect_kc := enc.enc_kc128; + } else if (alg_rsl == RSL_ALG_ID_A5_0) { + /* When A5/0 is chosen, no encryption is active, so technically, no key is needed. However, 3GPP TS + * 48.058 9.3.7 Encryption Information stays quite silent about presence or absence of a key for A5/0. + * The only thing specified is how to indicate the length of the key; the possibility that the key may + * be zero length is not explicitly mentioned. So it seems that we should always send the key along, + * even for A5/0. Still, let's also allow a zero length key for A5/0. */ + expect_kc := (enc.enc_key, ''O); } else { expect_kc := enc.enc_key; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24732 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id54abc09dd62d7247a970a03ed8c2209b641f511 Gerrit-Change-Number: 24732 Gerrit-PatchSet: 4 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 Mon Jun 21 20:18:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 20:18:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: split f_verify_encr_info() from f_cipher_mode() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24727 ) Change subject: bsc: split f_verify_encr_info() from f_cipher_mode() ...................................................................... bsc: split f_verify_encr_info() from f_cipher_mode() The verification of correct encryption information so far is part of f_cipher_mode(); put it in a separate new function f_verify_encr_info() so that it can be re-used for handover channel activation. Related: SYS#5324 Change-Id: I11602d23670f436a22b891fc744fe07e470f2b79 --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 59 insertions(+), 30 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 9b6f8b1..2d0bd27 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -713,12 +713,65 @@ } } +function f_verify_encr_info(RSL_Message rsl) runs on MSC_ConnHdlr { + var RSL_IE_Body encr_info; + var RSL_AlgId alg_rsl; + var template octetstring expect_kc; + + /* If no encryption is enabled, then make sure there is no RSL_IE_ENCR_INFO */ + if (not ispresent(g_pars.encr)) { + if (f_rsl_find_ie(rsl, RSL_IE_ENCR_INFO, encr_info)) { + setverdict(fail, "Found Encryption IE, but expected no encryption in ", rsl.msg_type); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); + return; + } + setverdict(pass); + return; + } + + /* 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); + + if (alg_rsl == RSL_ALG_ID_A5_4 and ispresent(g_pars.encr.enc_kc128)) { + expect_kc := g_pars.encr.enc_kc128; + } else if (alg_rsl == RSL_ALG_ID_A5_0) { + /* When A5/0 is chosen, no encryption is active, so technically, no key is needed. However, 3GPP TS + * 48.058 9.3.7 Encryption Information stays quite silent about presence or absence of a key for A5/0. + * The only thing specified is how to indicate the length of the key; the possibility that the key may + * be zero length is not explicitly mentioned. So it seems that we should always send the key along, + * even for A5/0. Still, let's also allow a zero length key for A5/0. */ + expect_kc := (g_pars.encr.enc_key, ''O); + } else { + expect_kc := g_pars.encr.enc_key; + } + log("for encryption algo ", alg_rsl, " expect kc = ", expect_kc); + + if (not f_rsl_find_ie(rsl, RSL_IE_ENCR_INFO, encr_info)) { + if (alg_rsl == RSL_ALG_ID_A5_0) { + /* For A5/0, encryption is not active. It is fine to omit the Encryption Information in this + * case. Note that the first channel may see an RSL Encryption Command with A5/0 indicated, and + * a subsequent handover may activate a new channel without any Encryption Information. */ + setverdict(pass); + return; + } + setverdict(fail, "Missing Encryption Information IE in ", rsl.msg_type); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); + return; + } + + if (not match(encr_info, tr_EncrInfo(alg_rsl, expect_kc))) { + setverdict(fail, "Unexpected Kc in Encryption Information IE in ", rsl.msg_type); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); + return; + } + setverdict(pass); +} + function f_cipher_mode(TestHdlrEncrParams enc, boolean exp_fail := false) runs on MSC_ConnHdlr { var PDU_BSSAP bssap; var RSL_Message rsl; - var RSL_AlgId alg_rsl; - var template octetstring expect_kc; if (isvalue(enc.enc_kc128)) { BSSAP.send(ts_BSSMAP_CipherModeCmdKc128(enc.enc_alg, enc.enc_key, valueof(enc.enc_kc128))); @@ -726,39 +779,14 @@ BSSAP.send(ts_BSSMAP_CipherModeCmd(enc.enc_alg, enc.enc_key)); } - /* RSL uses a different representation of the encryption algorithm, - * so we need to convert first */ - alg_rsl := f_chipher_mode_bssmap_to_rsl(enc.enc_alg); - - if (alg_rsl == RSL_ALG_ID_A5_4 and ispresent(enc.enc_kc128)) { - expect_kc := enc.enc_kc128; - } else if (alg_rsl == RSL_ALG_ID_A5_0) { - /* When A5/0 is chosen, no encryption is active, so technically, no key is needed. However, 3GPP TS - * 48.058 9.3.7 Encryption Information stays quite silent about presence or absence of a key for A5/0. - * The only thing specified is how to indicate the length of the key; the possibility that the key may - * be zero length is not explicitly mentioned. So it seems that we should always send the key along, - * even for A5/0. Still, let's also allow a zero length key for A5/0. */ - expect_kc := (enc.enc_key, ''O); - } else { - expect_kc := enc.enc_key; - } - log("for encryption algo ", alg_rsl, " expect kc = ", expect_kc); - alt { /* RSL/UE Side */ - [] RSL.receive(tr_RSL_ENCR_CMD(g_chan_nr, ?, alg_rsl, ?)) -> value rsl { + [] RSL.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); - var RSL_IE_Body encr_info; - if (not f_rsl_find_ie(rsl, RSL_IE_ENCR_INFO, encr_info)) { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Missing Encryption IE in RSL ENCR CMD"); - } else { - if (not match(encr_info, tr_EncrInfo(alg_rsl, expect_kc))) { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, - "Unexpected Kc in Encryption IE in RSL ENCR CMD"); - } - } + f_verify_encr_info(rsl); + if (ischosen(l3.msgs.rrm.cipheringModeCommand)) { f_rsl_reply(ts_RRM_CiphModeCompl, rsl); } @@ -769,6 +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); if (oct2int(bssap.pdu.bssmap.cipherModeComplete.chosenEncryptionAlgorithm.algorithmIdentifier) != enum2int(alg_rsl)) { setverdict(fail, "Unexpected Encryption Algorithm ID in BSSMAP Cipher Mode Complete"); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24727 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I11602d23670f436a22b891fc744fe07e470f2b79 Gerrit-Change-Number: 24727 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 Mon Jun 21 20:18:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 20:18:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add intra-BSC handover tests with encryption In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24728 ) Change subject: bsc: add intra-BSC handover tests with encryption ...................................................................... bsc: add intra-BSC handover tests with encryption In f_tc_ho_int(), verify encryption information for the handover target's chan act. Add test cases calling f_tc_ho_int() with various A5/n encryption modes. Related: SYS#5324 Change-Id: Iaab26c708c106a61b762234d42ed9a52cdc2998c --- M bsc/BSC_Tests.ttcn 1 file changed, 50 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 a008bb8..2908ac8 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -4715,6 +4715,11 @@ /* Check the amount of MGCP transactions is still consistant with the * test expectation */ f_check_mgcp_expectations() + + /* Ensure the Channel Activation for the new channel contained the right encryption params. as_handover() set + * g_chan_nr to the new lchan that was handed over to. It lives in bts 1, so look it up at RSL1_PROC. */ + f_verify_encr_info(f_rslem_get_last_act(RSL1_PROC, 0, g_chan_nr)); + f_sleep(0.5); } @@ -4741,6 +4746,47 @@ f_shutdown_helper(); } +function f_tc_ho_int_a5(OCT1 encr_alg) 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_sleep(1.0); + + f_ctrs_bsc_and_bts_init(); + + vc_conn := f_start_handler(refers(f_tc_ho_int), pars); + vc_conn.done; + + /* from f_establish_fully() */ + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + /* from handover */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:completed"); + 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_shutdown_helper(); +} + +testcase TC_ho_int_a5_0() runs on test_CT { + f_tc_ho_int_a5('01'O); +} + +testcase TC_ho_int_a5_1() runs on test_CT { + f_tc_ho_int_a5('02'O); +} + +testcase TC_ho_int_a5_3() runs on test_CT { + f_tc_ho_int_a5('08'O); +} + +testcase TC_ho_int_a5_4() runs on test_CT { + f_tc_ho_int_a5('10'O); +} + /* intra-BSC hand-over with CONNection FAILure and cause Radio Link Failure: check RR release cause */ private function f_tc_ho_int_radio_link_failure(charstring id) runs on MSC_ConnHdlr { g_pars := f_gen_test_hdlr_pars(); @@ -9059,6 +9105,10 @@ execute( TC_err_84_unknown_msg() ); execute( TC_ho_int() ); + execute( TC_ho_int_a5_0() ); + execute( TC_ho_int_a5_1() ); + execute( TC_ho_int_a5_3() ); + execute( TC_ho_int_a5_4() ); execute( TC_ho_int_radio_link_failure() ); execute( TC_ho_out_of_this_bsc() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24728 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iaab26c708c106a61b762234d42ed9a52cdc2998c Gerrit-Change-Number: 24728 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 Mon Jun 21 20:18:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 20:18:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSSMAP: add encr params to ts_BSSMAP_HandoverRequest In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24730 ) Change subject: BSSMAP: add encr params to ts_BSSMAP_HandoverRequest ...................................................................... BSSMAP: add encr params to ts_BSSMAP_HandoverRequest Related: SYS#5324 Change-Id: Idadc0e0a7a960a0ef88b3dca97c4fbaa16975b61 --- M library/BSSMAP_Templates.ttcn 1 file changed, 15 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved dexter: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index c6698b1..1dcbef1 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -477,7 +477,15 @@ key := kc } +template BSSMAP_IE_ChosenEncryptionAlgorithm ts_BSSMAP_IE_ChosenEncryptionAlgorithm(OCT1 algorithmIdentifier) := { + elementIdentifier := '2C'O, + algorithmIdentifier := algorithmIdentifier +} +template BSSMAP_IE_ChosenEncryptionAlgorithm tr_BSSMAP_IE_ChosenEncryptionAlgorithm(template OCT1 algorithmIdentifier := ?) := { + elementIdentifier := '2C'O, + algorithmIdentifier := algorithmIdentifier +} template (value) BSSMAP_IE_CircuitIdentityCode ts_BSSMAP_IE_CIC(uint11_t span, uint5_t ts) := { elementIdentifier := '01'O, /* overwritten */ @@ -956,7 +964,10 @@ template BSSMAP_IE_AoIP_TransportLayerAddress aoip_tla := omit, template BSSMAP_IE_CellIdentifier cell_id_target := ts_CellID_LAC_CI(1, 0), template BSSMAP_IE_CellIdentifier cell_id_source := ts_CellID_LAC_CI(1, 1), - template (omit) BSSMAP_oldToNewBSSIEs oldToNewBSSIEs := omit + template (omit) BSSMAP_oldToNewBSSIEs oldToNewBSSIEs := omit, + template BSSMAP_IE_EncryptionInformation encryptionInformation := ts_BSSMAP_IE_EncrInfo('0000000000000000'O,'01'O), + template (omit) BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm := omit, + template (omit) BSSMAP_IE_KC128 kC128 := omit ) modifies ts_BSSAP_BSSMAP := { pdu := { @@ -964,8 +975,7 @@ handoverRequest := { messageType := '10'O, channelType := ts_BSSMAP_IE_ChannelType, - encryptionInformation := - ts_BSSMAP_IE_EncrInfo('0000000000000000'O,'01'O), + encryptionInformation := encryptionInformation, classmarkInformationType := { classmarkInformationType1 := { elementIdentifier := '1D'O, @@ -989,7 +999,7 @@ groupCallReference := omit, talkerFlag := omit, configurationEvolutionIndication := omit, - chosenEncryptionAlgorithm := omit, + chosenEncryptionAlgorithm := chosenEncryptionAlgorithm, oldToNewBSSInfo := f_ts_BSSMAP_IE_OldToNewBSSInfo(oldToNewBSSIEs), lSAInformation := omit, lSAAccessControlSuppression := omit, @@ -1002,7 +1012,7 @@ aoIPTransportLayer := aoip_tla, codecList := omit, callIdentifier := omit, - kC128 := omit, + kC128 := kC128, globalCallReference := omit, lCLS_Configuration := omit, connectionStatusControl := omit -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24730 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idadc0e0a7a960a0ef88b3dca97c4fbaa16975b61 Gerrit-Change-Number: 24730 Gerrit-PatchSet: 5 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 Mon Jun 21 20:18:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 20:18:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add tests for inter-BSC HO with encryption A5/{0, 1, 3, 4} In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24731 ) Change subject: bsc: add tests for inter-BSC HO with encryption A5/{0,1,3,4} ...................................................................... bsc: add tests for inter-BSC HO with encryption A5/{0,1,3,4} Only ho-into-this-bsc tests are required, since the out-of-this-bsc message (Handover Required) does not involve any encryption information. Related: SYS#5324 Change-Id: I8de65eb9a5bd9a58add55e821f2a559c9a81edc1 --- M bsc/BSC_Tests.ttcn 1 file changed, 58 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved dexter: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 2908ac8..a4b2391 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1507,15 +1507,38 @@ } function f_gen_handover_req(integer bssap_idx := 0, charstring aoip_tla := "1.2.3.4", - template (omit) BSSMAP_oldToNewBSSIEs oldToNewBSSIEs := omit) return PDU_BSSAP { + template (omit) BSSMAP_oldToNewBSSIEs oldToNewBSSIEs := omit, + template (omit) TestHdlrEncrParams enc := omit) return PDU_BSSAP { var PDU_BSSAP ho_req; + + var BSSMAP_IE_EncryptionInformation encryptionInformation := + valueof(ts_BSSMAP_IE_EncrInfo('0000000000000000'O,'01'O)); + var template BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm := omit; + var template BSSMAP_IE_KC128 kc128 := omit; + if (ispresent(enc)) { + var TestHdlrEncrParams v_enc := valueof(enc); + 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))); + if (ispresent(v_enc.enc_kc128)) { + kc128 := ts_BSSMAP_IE_Kc128(v_enc.enc_kc128); + } + } + if (mp_bssap_cfg[bssap_idx].transport == BSSAP_TRANSPORT_AoIP) { var BSSMAP_IE_AoIP_TransportLayerAddress tla := valueof(f_ts_BSSMAP_IE_AoIP_TLA(aoip_tla, 2342)); - ho_req := valueof(ts_BSSMAP_HandoverRequest(omit, tla, oldToNewBSSIEs := oldToNewBSSIEs)); + ho_req := valueof(ts_BSSMAP_HandoverRequest(omit, tla, oldToNewBSSIEs := oldToNewBSSIEs, + encryptionInformation := encryptionInformation, + chosenEncryptionAlgorithm := chosenEncryptionAlgorithm, + kC128 := kc128)); } else { var BSSMAP_IE_CircuitIdentityCode cic := valueof(ts_BSSMAP_IE_CIC(0,1)); - ho_req := valueof(ts_BSSMAP_HandoverRequest(cic, omit, oldToNewBSSIEs := oldToNewBSSIEs)); + ho_req := valueof(ts_BSSMAP_HandoverRequest(cic, omit, oldToNewBSSIEs := oldToNewBSSIEs, + encryptionInformation := encryptionInformation, + chosenEncryptionAlgorithm := chosenEncryptionAlgorithm, + kC128 := kc128)); } return ho_req; } @@ -5285,7 +5308,8 @@ BSSAP.send(ts_BSSAP_Conn_Req(g_pars.sccp_addr_bsc, g_pars.sccp_addr_msc, f_gen_handover_req(aoip_tla := g_pars.host_aoip_tla, - oldToNewBSSIEs := oldToNewBSSIEs))); + oldToNewBSSIEs := oldToNewBSSIEs, + enc := g_pars.encr))); BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_CONF_IND); /* The RSL Emulation magically accepts the Chan Activ behind the scenes. */ @@ -5295,6 +5319,9 @@ BSSAP.receive(tr_BSSMAP_HandoverRequestAcknowledge(?)) -> value rx_bssap; + /* we're sure that the channel activation is done now, verify the encryption parameters in it */ + f_verify_encr_info(f_rslem_get_last_act(RSL_PROC, 0, g_chan_nr)); + ho_command_str := rx_bssap.pdu.bssmap.handoverRequestAck.layer3Information.layer3info; log("Received L3 Info in HO Request Ack: ", ho_command_str); var PDU_ML3_NW_MS ho_command := dec_PDU_ML3_NW_MS(ho_command_str); @@ -5375,6 +5402,29 @@ f_shutdown_helper(); } +function f_tc_ho_into_this_bsc_a5(OCT1 encr_alg) runs on test_CT { + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + pars.encr := valueof(t_EncrParams(encr_alg, f_rnd_octstring(8), f_rnd_octstring(16))); + f_tc_ho_into_this_bsc_main(pars); + f_shutdown_helper(); +} + +testcase TC_ho_into_this_bsc_a5_0() runs on test_CT { + f_tc_ho_into_this_bsc_a5('01'O); +} + +testcase TC_ho_into_this_bsc_a5_1() runs on test_CT { + f_tc_ho_into_this_bsc_a5('02'O); +} + +testcase TC_ho_into_this_bsc_a5_3() runs on test_CT { + f_tc_ho_into_this_bsc_a5('08'O); +} + +testcase TC_ho_into_this_bsc_a5_4() runs on test_CT { + f_tc_ho_into_this_bsc_a5('10'O); +} + testcase TC_ho_into_this_bsc_tla_v6() runs on test_CT { var TestHdlrParams pars := f_gen_test_hdlr_pars(); pars.host_aoip_tla := "::6"; @@ -9117,6 +9167,10 @@ execute( TC_ho_out_fail_no_result_after_ho_cmd() ); execute( TC_ho_into_this_bsc() ); + execute( TC_ho_into_this_bsc_a5_0() ); + execute( TC_ho_into_this_bsc_a5_1() ); + execute( TC_ho_into_this_bsc_a5_3() ); + execute( TC_ho_into_this_bsc_a5_4() ); if (mp_bssap_cfg[0].transport == BSSAP_TRANSPORT_AoIP) { execute( TC_ho_into_this_bsc_tla_v6() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24731 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8de65eb9a5bd9a58add55e821f2a559c9a81edc1 Gerrit-Change-Number: 24731 Gerrit-PatchSet: 5 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 Mon Jun 21 20:18:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 20:18:45 +0000 Subject: Change in osmo-bsc[master]: VTY: fix typo in a command description: s/send/sent/ In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24738 ) Change subject: VTY: fix typo in a command description: s/send/sent/ ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24738 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Idb2fda4c2bd8a4e7ee6c4d7c7dc08a7d4f20d00d Gerrit-Change-Number: 24738 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 21 Jun 2021 20:18: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 Jun 21 20:18:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 20:18:54 +0000 Subject: Change in osmo-bsc[master]: VTY: fix typo in a command description: s/send/sent/ In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24738 ) Change subject: VTY: fix typo in a command description: s/send/sent/ ...................................................................... VTY: fix typo in a command description: s/send/sent/ Change-Id: Idb2fda4c2bd8a4e7ee6c4d7c7dc08a7d4f20d00d --- M src/osmo-bsc/bsc_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 071e828..1ec34bc 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -5099,7 +5099,7 @@ cfg_power_ctrl_bs_power_cmd, X(BSC_VTY_ATTR_NEW_LCHAN), "bs-power (static|dyn-max) <0-30>", - "BS Power IE value to be send to the BTS\n" + "BS Power IE value to be sent to the BTS\n" "Fixed BS Power reduction value (for static mode)\n" "Maximum BS Power reduction value (for dynamic mode)\n" "BS Power reduction value (in dB, even numbers only)\n") -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24738 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Idb2fda4c2bd8a4e7ee6c4d7c7dc08a7d4f20d00d Gerrit-Change-Number: 24738 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 21 20:19:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 20:19:36 +0000 Subject: Change in osmo-bsc[master]: power_control: omit BS Power Parameters IE if the maximum is 0 dB In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/22165 ) Change subject: power_control: omit BS Power Parameters IE if the maximum is 0 dB ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/22165 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If8507992dfd90ade1edda99b72bf2420a702ccd5 Gerrit-Change-Number: 22165 Gerrit-PatchSet: 6 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 21 Jun 2021 20:19: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 Jun 21 20:22:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Jun 2021 20:22:05 +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 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24658/4/src/common/paging.c File src/common/paging.c: https://gerrit.osmocom.org/c/osmo-bts/+/24658/4/src/common/paging.c at 89 PS4, Line 89: execeeed did you mean 'exceed'? but even then the sentence doesn't make s ense, IMHO. You need an adjective... -- 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: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Jun 2021 20:22: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 Mon Jun 21 21:47:04 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 21 Jun 2021 21:47:04 +0000 Subject: Change in simtrace2[master]: cardem: free the buf References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24740 ) Change subject: cardem: free the buf ...................................................................... cardem: free the buf This leak was probably hard to notice since config commands are usually rarely sent. Change-Id: I21411ef78a32a5258a7008272774cdb83119b413 --- M firmware/libcommon/source/mode_cardemu.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/40/24740/1 diff --git a/firmware/libcommon/source/mode_cardemu.c b/firmware/libcommon/source/mode_cardemu.c index a357f15..b9971ed 100644 --- a/firmware/libcommon/source/mode_cardemu.c +++ b/firmware/libcommon/source/mode_cardemu.c @@ -705,6 +705,7 @@ case SIMTRACE_MSGT_BD_CEMU_CONFIG: cfg = (struct cardemu_usb_msg_config *) msg->l2h; card_emu_set_config(ci->ch, cfg, msgb_l2len(msg)); + usb_buf_free(msg); break; case SIMTRACE_MSGT_BD_CEMU_STATS: default: -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24740 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I21411ef78a32a5258a7008272774cdb83119b413 Gerrit-Change-Number: 24740 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 Mon Jun 21 23:49:12 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 21 Jun 2021 23:49:12 +0000 Subject: Change in osmo-bts[master]: a5/4 support In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24631 ) Change subject: a5/4 support ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24631/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/24631/1/src/common/scheduler.c at 1203 PS1, Line 1203: 16 > MAX_A5_KEY_LEN? should be else if (lchan->encr.key_len != 8 && lchan->encr.key_len != 16) { it's either the 8 octet Kc or the 16 octet Kc128 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib8e04fe79f30b443a54c38f395a7a3626ff97c45 Gerrit-Change-Number: 24631 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: neels Gerrit-Comment-Date: Mon, 21 Jun 2021 23:49:12 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 22 05:56:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Jun 2021 05:56:06 +0000 Subject: Change in osmo-bsc[master]: support A5/4 in inter-BSC Handover In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24729 ) Change subject: support A5/4 in inter-BSC Handover ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24729 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7e9590e8c96aa50086148863ad9a2741b978e614 Gerrit-Change-Number: 24729 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 22 Jun 2021 05:56:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 22 05:56:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Jun 2021 05:56:09 +0000 Subject: Change in osmo-bsc[master]: support A5/4 in inter-BSC Handover In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24729 ) Change subject: support A5/4 in inter-BSC Handover ...................................................................... support A5/4 in inter-BSC Handover inter-BSC into this BSC: from BSSMAP Handover Request, parse and store Kc128. All else is already implemented: depending on the chosen encryption algorithm, Kc128 will end up in the Channel Activation. inter-BSC out of this BSC: nothing is needed to support A5/4, the BSSMAP Handover Required message does not contain any encryption related information. The MSC already knows the chosen algorithm. Related: SYS#5324 Change-Id: I7e9590e8c96aa50086148863ad9a2741b978e614 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/handover_fsm.c 2 files changed, 21 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/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 1755b92..c5d2b86 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -241,6 +241,8 @@ struct gsm0808_channel_type ct; struct gsm0808_speech_codec_list scl; struct gsm0808_encrypt_info ei; + bool kc128_present; + uint8_t kc128[16]; struct gsm_classmark classmark; /* chosen_encr_alg reflects the encoded value as in RSL_ENC_ALG_A5(a5_numer): * chosen_encr_alg == 1 means A5/0 i.e. no encryption, chosen_encr_alg == 4 means A5/3. diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index cae5167..5f4b892 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -454,6 +454,7 @@ int payload_length; bool aoip = gscon_is_aoip(conn); bool sccplite = gscon_is_sccplite(conn); + bool has_a54 = false; if ((aoip && sccplite) || !(aoip || sccplite)) { LOG_HO(conn, LOGL_ERROR, "Received BSSMAP Handover Request, but conn is not" @@ -485,6 +486,15 @@ return false; } + if ((e = TLVP_GET(tp, GSM0808_IE_KC_128))) { + if (e->len != 16) { + LOG_HO(conn, LOGL_ERROR, "Invalid length in Kc128 IE: %u bytes (expected 16)\n", e->len); + return false; + } + memcpy(req->kc128, e->val, 16); + req->kc128_present = true; + } + if ((e = TLVP_GET(tp, GSM0808_IE_CLASSMARK_INFORMATION_TYPE_1))) { if (e->len != sizeof(req->classmark.classmark1)) { LOG_HO(conn, LOGL_ERROR, "Classmark Information 1 has wrong size\n"); @@ -513,9 +523,10 @@ req->chosen_encr_alg); } - LOG_HO(conn, LOGL_DEBUG, "Handover Request encryption info: chosen=A5/%u key=%s\n", - (req->chosen_encr_alg ? : 1) - 1, req->ei.key_len? - osmo_hexdump_nospc(req->ei.key, req->ei.key_len) : "none"); + LOG_HO(conn, LOGL_DEBUG, "Handover Request encryption info: chosen=A5/%u key=%s kc128=%s\n", + (req->chosen_encr_alg ? : 1) - 1, + req->ei.key_len ? osmo_hexdump_nospc(req->ei.key, req->ei.key_len) : "none", + has_a54 ? osmo_hexdump_nospc(req->kc128, 16) : "none"); if (TLVP_PRESENT(tp, GSM0808_IE_AOIP_TRASP_ADDR)) { int rc; @@ -720,6 +731,11 @@ info.encr.key_len = req->ei.key_len; } + if (req->kc128_present) { + memcpy(info.encr.kc128, req->kc128, 16); + info.encr.kc128_present = true; + } + if (req->last_eutran_plmn_valid) { conn->fast_return.allowed = ho->new_bts->srvcc_fast_return_allowed; conn->fast_return.last_eutran_plmn_valid = true; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24729 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7e9590e8c96aa50086148863ad9a2741b978e614 Gerrit-Change-Number: 24729 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 Jun 22 05:57:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Jun 2021 05:57:32 +0000 Subject: Change in libosmocore[master]: add Kc128 to gsm0808 Create Ciphering Command In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24722 ) Change subject: add Kc128 to gsm0808 Create Ciphering Command ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24722 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib3906085e0c6e5a496a9f755f0f786238a86ca34 Gerrit-Change-Number: 24722 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 22 Jun 2021 05: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 Jun 22 05:58:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Jun 2021 05:58:10 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: ignore PDCH interference reports, do not log errors In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24721 ) Change subject: pcu_l1_if: ignore PDCH interference reports, do not log errors ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24721 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I88e5c53131ee94bc3f3ff3f095077feb4ff272a7 Gerrit-Change-Number: 24721 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 22 Jun 2021 05:58: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 Jun 22 05:58:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Jun 2021 05:58:19 +0000 Subject: Change in osmo-pcu[master]: PCUIF protocol: add message definition for interference report In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24720 ) Change subject: PCUIF protocol: add message definition for interference report ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24720 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4b5a4c25e984f9262f0afd30f9671f150edee20f Gerrit-Change-Number: 24720 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 22 Jun 2021 05:58: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 Jun 22 05:58:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Jun 2021 05:58:23 +0000 Subject: Change in osmo-pcu[master]: PCUIF protocol: add message definition for interference report In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24720 ) Change subject: PCUIF protocol: add message definition for interference report ...................................................................... PCUIF protocol: add message definition for interference report Change-Id: I4b5a4c25e984f9262f0afd30f9671f150edee20f Related: SYS#5313, OS#1569 --- M include/osmocom/pcu/pcuif_proto.h 1 file changed, 10 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/pcu/pcuif_proto.h b/include/osmocom/pcu/pcuif_proto.h index cdd73d9..0c46c52 100644 --- a/include/osmocom/pcu/pcuif_proto.h +++ b/include/osmocom/pcu/pcuif_proto.h @@ -21,6 +21,7 @@ #define PCU_IF_MSG_INFO_IND 0x32 /* retrieve BTS info */ #define PCU_IF_MSG_ACT_REQ 0x40 /* activate/deactivate PDCH */ #define PCU_IF_MSG_TIME_IND 0x52 /* GSM time indication */ +#define PCU_IF_MSG_INTERF_IND 0x53 /* interference report */ #define PCU_IF_MSG_PAG_REQ 0x60 /* paging request */ #define PCU_IF_MSG_TXT_IND 0x70 /* Text indication for BTS */ @@ -210,6 +211,14 @@ uint8_t cause; } __attribute__ ((packed)); +/* Interference measurements on PDCH timeslots */ +struct gsm_pcu_if_interf_ind { + uint8_t trx_nr; + uint8_t spare[3]; + uint32_t fn; + uint8_t interf[8]; +} __attribute__ ((packed)); + struct gsm_pcu_if { /* context based information */ uint8_t msg_type; /* message type */ @@ -230,6 +239,7 @@ struct gsm_pcu_if_time_ind time_ind; struct gsm_pcu_if_pag_req pag_req; struct gsm_pcu_if_app_info_req app_info_req; + struct gsm_pcu_if_interf_ind interf_ind; } u; } __attribute__ ((packed)); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24720 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4b5a4c25e984f9262f0afd30f9671f150edee20f Gerrit-Change-Number: 24720 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 22 05:58:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Jun 2021 05:58:23 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: ignore PDCH interference reports, do not log errors In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24721 ) Change subject: pcu_l1_if: ignore PDCH interference reports, do not log errors ...................................................................... pcu_l1_if: ignore PDCH interference reports, do not log errors Change-Id: I88e5c53131ee94bc3f3ff3f095077feb4ff272a7 Related: SYS#5313, OS#1569 --- M src/pcu_l1_if.cpp 1 file changed, 3 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/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 818cb1a..b35c990 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -992,6 +992,9 @@ case PCU_IF_MSG_APP_INFO_REQ: rc = pcu_rx_app_info_req(bts, &pcu_prim->u.app_info_req); break; + case PCU_IF_MSG_INTERF_IND: + /* TODO: handle interference reports */ + break; default: LOGP(DL1IF, LOGL_ERROR, "Received unknown PCU msg type %d\n", msg_type); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24721 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I88e5c53131ee94bc3f3ff3f095077feb4ff272a7 Gerrit-Change-Number: 24721 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 22 09:18:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 22 Jun 2021 09:18:36 +0000 Subject: Change in osmo-bsc[master]: power_control: omit BS Power Parameters IE if the maximum is 0 dB In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/22165 ) Change subject: power_control: omit BS Power Parameters IE if the maximum is 0 dB ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/22165 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If8507992dfd90ade1edda99b72bf2420a702ccd5 Gerrit-Change-Number: 22165 Gerrit-PatchSet: 6 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 22 Jun 2021 09:18:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 22 09:26:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 22 Jun 2021 09:26:29 +0000 Subject: Change in libosmocore[master]: add Kc128 to gsm0808 Create Ciphering Command In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24722 ) Change subject: add Kc128 to gsm0808 Create Ciphering Command ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24722/3/include/osmocom/gsm/gsm0808.h File include/osmocom/gsm/gsm0808.h: https://gerrit.osmocom.org/c/libosmocore/+/24722/3/include/osmocom/gsm/gsm0808.h at 73 PS3, Line 73: bool more_items; /*< always set this to false */ FYI, in case you envision to have several versions of the struct, a usual way (see for instance Windows APIs) to do so is to have a "size" field in the struct which needs to be set to sizeof(struct type) before passing it to the API. This way the API implementation can find out how far in the struct it can go (or simply which version of the struct was passed to it). -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24722 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib3906085e0c6e5a496a9f755f0f786238a86ca34 Gerrit-Change-Number: 24722 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 22 Jun 2021 09:26:29 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 22 12:01:29 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 22 Jun 2021 12:01:29 +0000 Subject: Change in osmo-bsc[master]: assignment: special mixed desc/alloc conditions In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24646 ) Change subject: assignment: special mixed desc/alloc conditions ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24646/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/24646/2//COMMIT_MSG at 12 PS2, Line 12: This is a hack that should not be merged. Its probably best to put it in WIP state then, or even abandon it? -- 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: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: dexter Gerrit-Comment-Date: Tue, 22 Jun 2021 12:01: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 Jun 22 12:03:58 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 22 Jun 2021 12:03:58 +0000 Subject: Change in simtrace2[master]: cardem: free the buf In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24740 ) Change subject: cardem: free the buf ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24740 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I21411ef78a32a5258a7008272774cdb83119b413 Gerrit-Change-Number: 24740 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Tue, 22 Jun 2021 12:03:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 22 12:08:11 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 22 Jun 2021 12:08:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: add a test case for RF RESource INDication In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24567 ) Change subject: BTS: add a test case for RF RESource INDication ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I78b6d8beffa5228a28231b75728e7aebdd3cb23c Gerrit-Change-Number: 24567 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 22 Jun 2021 12:08:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 22 14:09:00 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 22 Jun 2021 14:09:00 +0000 Subject: Change in osmo-bts[master]: paging: prioritize CS related paging over PS related pagings. In-Reply-To: References: Message-ID: Hello Jenkins Builder, neels, laforge, pespin, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24658 to look at the new patch set (#5). 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/paging.h M src/common/paging.c M src/common/pcu_sock.c 3 files changed, 47 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/58/24658/5 -- 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: 5 Gerrit-Owner: dexter 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 Tue Jun 22 15:00:06 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 22 Jun 2021 15:00:06 +0000 Subject: Change in osmo-bsc[master]: PCUIF protocol: add message definition for interference report References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24741 ) Change subject: PCUIF protocol: add message definition for interference report ...................................................................... PCUIF protocol: add message definition for interference report Change-Id: I4bd5d4de695a1f9f202870cfd7e43caac9ce6d48 Related: SYS#5313, OS#1569 --- M include/osmocom/bsc/pcuif_proto.h 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/41/24741/1 diff --git a/include/osmocom/bsc/pcuif_proto.h b/include/osmocom/bsc/pcuif_proto.h index 8f72602..38ca4b6 100644 --- a/include/osmocom/bsc/pcuif_proto.h +++ b/include/osmocom/bsc/pcuif_proto.h @@ -21,6 +21,7 @@ #define PCU_IF_MSG_INFO_IND 0x32 /* retrieve BTS info */ #define PCU_IF_MSG_ACT_REQ 0x40 /* activate/deactivate PDCH */ #define PCU_IF_MSG_TIME_IND 0x52 /* GSM time indication */ +#define PCU_IF_MSG_INTERF_IND 0x53 /* interference report */ #define PCU_IF_MSG_PAG_REQ 0x60 /* paging request */ #define PCU_IF_MSG_TXT_IND 0x70 /* Text indication for BTS */ @@ -208,6 +209,14 @@ uint8_t cause; } __attribute__ ((packed)); +/* Interference measurements on PDCH timeslots */ +struct gsm_pcu_if_interf_ind { + uint8_t trx_nr; + uint8_t spare[3]; + uint32_t fn; + uint8_t interf[8]; +} __attribute__ ((packed)); + struct gsm_pcu_if { /* context based information */ uint8_t msg_type; /* message type */ @@ -228,6 +237,7 @@ struct gsm_pcu_if_time_ind time_ind; struct gsm_pcu_if_pag_req pag_req; struct gsm_pcu_if_app_info_req app_info_req; + struct gsm_pcu_if_interf_ind interf_ind; } u; } __attribute__ ((packed)); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24741 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4bd5d4de695a1f9f202870cfd7e43caac9ce6d48 Gerrit-Change-Number: 24741 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 Jun 22 15:00:38 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 22 Jun 2021 15:00:38 +0000 Subject: Change in simtrace2[master]: cardem: free the buf In-Reply-To: References: Message-ID: Hoernchen has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24740 ) Change subject: cardem: free the buf ...................................................................... cardem: free the buf This leak was probably hard to notice since config commands are usually rarely sent. Change-Id: I21411ef78a32a5258a7008272774cdb83119b413 --- M firmware/libcommon/source/mode_cardemu.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, approved diff --git a/firmware/libcommon/source/mode_cardemu.c b/firmware/libcommon/source/mode_cardemu.c index a357f15..b9971ed 100644 --- a/firmware/libcommon/source/mode_cardemu.c +++ b/firmware/libcommon/source/mode_cardemu.c @@ -705,6 +705,7 @@ case SIMTRACE_MSGT_BD_CEMU_CONFIG: cfg = (struct cardemu_usb_msg_config *) msg->l2h; card_emu_set_config(ci->ch, cfg, msgb_l2len(msg)); + usb_buf_free(msg); break; case SIMTRACE_MSGT_BD_CEMU_STATS: default: -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24740 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I21411ef78a32a5258a7008272774cdb83119b413 Gerrit-Change-Number: 24740 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 22 15:02:26 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 22 Jun 2021 15:02:26 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vc_fsm: rename state UNCONFIGURED -> DISABLED In-Reply-To: References: Message-ID: dexter 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: Code-Review+1 The commit message suggests that the before FR the state couldn't be reached again, but now with FR it is frequently reached again. Thats how I read it. -- 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-Comment-Date: Tue, 22 Jun 2021 15:02:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 22 15:05:13 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 22 Jun 2021 15:05:13 +0000 Subject: Change in osmo-bsc[master]: use osmo_select_shutdown to get rid of SIGTERM sleep In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24675 ) Change subject: use osmo_select_shutdown to get rid of SIGTERM sleep ...................................................................... Patch Set 1: Code-Review+2 Thats why osmo-bsc always needs some time to terminate after pressing CTRL+C ;-) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24675 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9a4a629805c49240b8be412e9def298cdf5bc996 Gerrit-Change-Number: 24675 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 22 Jun 2021 15:05:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 22 15:32:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 22 Jun 2021 15:32:34 +0000 Subject: Change in osmo-bsc[master]: PCUIF protocol: add message definition for interference report In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24741 ) Change subject: PCUIF protocol: add message definition for interference report ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24741 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4bd5d4de695a1f9f202870cfd7e43caac9ce6d48 Gerrit-Change-Number: 24741 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 22 Jun 2021 15: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 Tue Jun 22 15:42:28 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 22 Jun 2021 15:42:28 +0000 Subject: Change in osmo-remsim[master]: etc_default: change bankd, client ip to 127.0.0.1 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/24742 ) Change subject: etc_default: change bankd, client ip to 127.0.0.1 ...................................................................... etc_default: change bankd, client ip to 127.0.0.1 Related: OS#5187 Change-Id: I8dffe950b0f041a231708521d11b027bfbd304e3 --- M contrib/etc_default/osmo-remsim-bankd M contrib/etc_default/osmo-remsim-client 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/42/24742/1 diff --git a/contrib/etc_default/osmo-remsim-bankd b/contrib/etc_default/osmo-remsim-bankd index 9f8a9a9..34c1821 100644 --- a/contrib/etc_default/osmo-remsim-bankd +++ b/contrib/etc_default/osmo-remsim-bankd @@ -1,5 +1,5 @@ # Default settings for osmo-remsim-bankd This file is sourced by systemd # Options to pass to osmo-remsim-bankd -BANKD_OPTS="-i 10.9.99.1 -n 5" +BANKD_OPTS="-i 127.0.0.1 -n 5" diff --git a/contrib/etc_default/osmo-remsim-client b/contrib/etc_default/osmo-remsim-client index 6c977f1..d4f5514 100644 --- a/contrib/etc_default/osmo-remsim-client +++ b/contrib/etc_default/osmo-remsim-client @@ -1,4 +1,4 @@ # Default settings for osmo-remsim-client This file is sourced by systemd # Options to pass to osmo-remsim-client -GLOBAL_CLIENT_OPTS="-i 10.9.99.10 -V 1d50 -P 4004 -C 1" +GLOBAL_CLIENT_OPTS="-i 127.0.0.1 -V 1d50 -P 4004 -C 1" -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/24742 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I8dffe950b0f041a231708521d11b027bfbd304e3 Gerrit-Change-Number: 24742 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 Jun 22 15:42:28 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 22 Jun 2021 15:42:28 +0000 Subject: Change in osmo-remsim[master]: doc/examples: install bankd_pcsc_slots.csv References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/24743 ) Change subject: doc/examples: install bankd_pcsc_slots.csv ...................................................................... doc/examples: install bankd_pcsc_slots.csv Related: SYS#5187 Change-Id: Iba0b98729ae2a830e05d1b337b33259dcae25d15 --- M configure.ac M contrib/osmo-remsim.spec.in M debian/osmo-remsim-bankd.install M doc/Makefile.am A doc/examples/Makefile.am 5 files changed, 33 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/43/24743/1 diff --git a/configure.ac b/configure.ac index 8592dd4..400578b 100644 --- a/configure.ac +++ b/configure.ac @@ -199,6 +199,7 @@ contrib/systemd/Makefile contrib/osmo-remsim.spec doc/Makefile + doc/examples/Makefile doc/manuals/Makefile src/Makefile src/rspro/Makefile diff --git a/contrib/osmo-remsim.spec.in b/contrib/osmo-remsim.spec.in index e11e93f..6d44b82 100644 --- a/contrib/osmo-remsim.spec.in +++ b/contrib/osmo-remsim.spec.in @@ -194,6 +194,7 @@ %{_bindir}/osmo-remsim-bankd %{_unitdir}/osmo-remsim-bankd.service %config(noreplace) %{_sysconfdir}/default/osmo-remsim-bankd +%config(noreplace) %{_sysconfdir}/osmocom/bankd_pcsc_slots.csv %files -n osmo-remsim-client-shell %{_bindir}/osmo-remsim-client-shell diff --git a/debian/osmo-remsim-bankd.install b/debian/osmo-remsim-bankd.install index 4e1d6a5..a4afa70 100644 --- a/debian/osmo-remsim-bankd.install +++ b/debian/osmo-remsim-bankd.install @@ -1,3 +1,4 @@ usr/bin/osmo-remsim-bankd lib/systemd/system/osmo-remsim-bankd.service etc/default/osmo-remsim-bankd +etc/osmocom/bankd_pcsc_slots.csv diff --git a/doc/Makefile.am b/doc/Makefile.am index dd4a573..f561ed8 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,4 +1,5 @@ SUBDIRS = \ + examples \ manuals \ $(NULL) diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am new file mode 100644 index 0000000..4a8fcbd --- /dev/null +++ b/doc/examples/Makefile.am @@ -0,0 +1,29 @@ +OSMOCONF_FILES = \ + bankd_pcsc_slots.csv \ + $(NULL) + +osmoconfdir = $(sysconfdir)/osmocom +osmoconf_DATA = $(OSMOCONF_FILES) + +EXTRA_DIST = $(OSMOCONF_FILES) + +CFG_FILES = find $(srcdir) -name '*.cfg*' -o -name '*.csv' | sed -e 's,^$(srcdir),,' + +dist-hook: + for f in $$($(CFG_FILES)); do \ + j="$(distdir)/$$f" && \ + $(INSTALL_DATA) -D $(srcdir)/$$f $$j; \ + done + +install-data-hook: + for f in $$($(CFG_FILES)); do \ + j="$(DESTDIR)$(docdir)/examples/$$f" && \ + $(INSTALL_DATA) -D $(srcdir)/$$f $$j; \ + done + +uninstall-hook: + @$(PRE_UNINSTALL) + for f in $$($(CFG_FILES)); do \ + j="$(DESTDIR)$(docdir)/examples/$$f" && \ + $(RM) $$j; \ + done -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/24743 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Iba0b98729ae2a830e05d1b337b33259dcae25d15 Gerrit-Change-Number: 24743 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 Jun 22 15:42:28 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 22 Jun 2021 15:42:28 +0000 Subject: Change in osmo-remsim[master]: gitignore: add osmo-remsim-client-reader_conf References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/24744 ) Change subject: gitignore: add osmo-remsim-client-reader_conf ...................................................................... gitignore: add osmo-remsim-client-reader_conf Change-Id: I1064aaf523ae368122a5fcc56ea1aa303ff0842e --- M .gitignore 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/44/24744/1 diff --git a/.gitignore b/.gitignore index a1cec37..1ceb8d7 100644 --- a/.gitignore +++ b/.gitignore @@ -30,6 +30,7 @@ m4 gen_rspro.stamp +src/client/osmo-remsim-client-reader_conf src/client/osmo-remsim-client-shell src/client/osmo-remsim-client-st2 src/bankd/pcsc_test -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/24744 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I1064aaf523ae368122a5fcc56ea1aa303ff0842e Gerrit-Change-Number: 24744 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 Jun 22 17:04:38 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 22 Jun 2021 17:04:38 +0000 Subject: Change in osmo-bts[master]: scheduler: fix wrong union field in trx_sched_tch_req() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24745 ) Change subject: scheduler: fix wrong union field in trx_sched_tch_req() ...................................................................... scheduler: fix wrong union field in trx_sched_tch_req() I introduced this regression in [1] during a massive refactoring. Basically, I copy-pasted a chunk from trx_sched_ph_data_req(), but forgot to change the union field. This broke voice calls, because all TCH.req primitives would be enqueued to wrong timeslot. Change-Id: If841e6ac40a3c6344c304ab970755d6a2d292156 Fixes: [1] I7c4379e43a25e9d858d582a99bf6c4b65c9af481 --- M src/common/scheduler.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/45/24745/1 diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 3dd7693..ea4aee4 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -868,7 +868,7 @@ int trx_sched_tch_req(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap) { - uint8_t tn = L1SAP_CHAN2TS(l1sap->u.data.chan_nr); + uint8_t tn = L1SAP_CHAN2TS(l1sap->u.tch.chan_nr); struct l1sched_ts *l1ts = trx->ts[tn].priv; LOGL1S(DL1P, LOGL_DEBUG, l1ts, -1, l1sap->u.tch.fn, -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24745 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If841e6ac40a3c6344c304ab970755d6a2d292156 Gerrit-Change-Number: 24745 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 Jun 22 17:04:38 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 22 Jun 2021 17:04:38 +0000 Subject: Change in osmo-bts[master]: scheduler: fix: use ts_pchan() in trx_sched_set_cipher() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24746 ) Change subject: scheduler: fix: use ts_pchan() in trx_sched_set_cipher() ...................................................................... scheduler: fix: use ts_pchan() in trx_sched_set_cipher() Properly handle dynamic timeslots, do not access 'pchan' directly. Change-Id: Iccb8794253face54164af1ba344204eadab8f98b Fixes: [1] I7c4379e43a25e9d858d582a99bf6c4b65c9af481 --- M src/common/scheduler.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/46/24746/1 diff --git a/src/common/scheduler.c b/src/common/scheduler.c index ea4aee4..93c1e85 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -1190,7 +1190,7 @@ int i, rc = -EINVAL; /* no cipher for PDCH */ - if (lchan->ts->pchan == GSM_PCHAN_PDCH) + if (ts_pchan(lchan->ts) == GSM_PCHAN_PDCH) return 0; /* VAMOS: convert Osmocom specific channel number to a generic one, -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24746 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iccb8794253face54164af1ba344204eadab8f98b Gerrit-Change-Number: 24746 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 Jun 22 18:04:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Jun 2021 18:04:07 +0000 Subject: Change in osmo-bts[master]: scheduler: fix wrong union field in trx_sched_tch_req() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24745 ) Change subject: scheduler: fix wrong union field in trx_sched_tch_req() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24745 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If841e6ac40a3c6344c304ab970755d6a2d292156 Gerrit-Change-Number: 24745 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 22 Jun 2021 18:04:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 22 18:04:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Jun 2021 18:04:14 +0000 Subject: Change in osmo-bts[master]: scheduler: fix: use ts_pchan() in trx_sched_set_cipher() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24746 ) Change subject: scheduler: fix: use ts_pchan() in trx_sched_set_cipher() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24746 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iccb8794253face54164af1ba344204eadab8f98b Gerrit-Change-Number: 24746 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 22 Jun 2021 18:04: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 Jun 22 18:04:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Jun 2021 18:04:16 +0000 Subject: Change in osmo-bts[master]: scheduler: fix wrong union field in trx_sched_tch_req() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24745 ) Change subject: scheduler: fix wrong union field in trx_sched_tch_req() ...................................................................... scheduler: fix wrong union field in trx_sched_tch_req() I introduced this regression in [1] during a massive refactoring. Basically, I copy-pasted a chunk from trx_sched_ph_data_req(), but forgot to change the union field. This broke voice calls, because all TCH.req primitives would be enqueued to wrong timeslot. Change-Id: If841e6ac40a3c6344c304ab970755d6a2d292156 Fixes: [1] I7c4379e43a25e9d858d582a99bf6c4b65c9af481 --- M src/common/scheduler.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 3dd7693..ea4aee4 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -868,7 +868,7 @@ int trx_sched_tch_req(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap) { - uint8_t tn = L1SAP_CHAN2TS(l1sap->u.data.chan_nr); + uint8_t tn = L1SAP_CHAN2TS(l1sap->u.tch.chan_nr); struct l1sched_ts *l1ts = trx->ts[tn].priv; LOGL1S(DL1P, LOGL_DEBUG, l1ts, -1, l1sap->u.tch.fn, -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24745 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If841e6ac40a3c6344c304ab970755d6a2d292156 Gerrit-Change-Number: 24745 Gerrit-PatchSet: 1 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 Jun 22 18:04:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Jun 2021 18:04:17 +0000 Subject: Change in osmo-bts[master]: scheduler: fix: use ts_pchan() in trx_sched_set_cipher() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24746 ) Change subject: scheduler: fix: use ts_pchan() in trx_sched_set_cipher() ...................................................................... scheduler: fix: use ts_pchan() in trx_sched_set_cipher() Properly handle dynamic timeslots, do not access 'pchan' directly. Change-Id: Iccb8794253face54164af1ba344204eadab8f98b Fixes: [1] I7c4379e43a25e9d858d582a99bf6c4b65c9af481 --- M src/common/scheduler.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/common/scheduler.c b/src/common/scheduler.c index ea4aee4..93c1e85 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -1190,7 +1190,7 @@ int i, rc = -EINVAL; /* no cipher for PDCH */ - if (lchan->ts->pchan == GSM_PCHAN_PDCH) + if (ts_pchan(lchan->ts) == GSM_PCHAN_PDCH) return 0; /* VAMOS: convert Osmocom specific channel number to a generic one, -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24746 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iccb8794253face54164af1ba344204eadab8f98b Gerrit-Change-Number: 24746 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 22 18:04:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Jun 2021 18:04:31 +0000 Subject: Change in osmo-remsim[master]: etc_default: change bankd, client ip to 127.0.0.1 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/24742 ) Change subject: etc_default: change bankd, client ip to 127.0.0.1 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/24742 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I8dffe950b0f041a231708521d11b027bfbd304e3 Gerrit-Change-Number: 24742 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 22 Jun 2021 18:04:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 22 18:05:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Jun 2021 18:05:26 +0000 Subject: Change in osmo-remsim[master]: doc/examples: install bankd_pcsc_slots.csv In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/24743 ) Change subject: doc/examples: install bankd_pcsc_slots.csv ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/24743 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Iba0b98729ae2a830e05d1b337b33259dcae25d15 Gerrit-Change-Number: 24743 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 22 Jun 2021 18: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 Tue Jun 22 18:05:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Jun 2021 18:05:36 +0000 Subject: Change in osmo-remsim[master]: gitignore: add osmo-remsim-client-reader_conf In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/24744 ) Change subject: gitignore: add osmo-remsim-client-reader_conf ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/24744 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I1064aaf523ae368122a5fcc56ea1aa303ff0842e Gerrit-Change-Number: 24744 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 22 Jun 2021 18:05: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 Jun 22 18:05:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Jun 2021 18:05:37 +0000 Subject: Change in osmo-remsim[master]: etc_default: change bankd, client ip to 127.0.0.1 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/24742 ) Change subject: etc_default: change bankd, client ip to 127.0.0.1 ...................................................................... etc_default: change bankd, client ip to 127.0.0.1 Related: OS#5187 Change-Id: I8dffe950b0f041a231708521d11b027bfbd304e3 --- M contrib/etc_default/osmo-remsim-bankd M contrib/etc_default/osmo-remsim-client 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/etc_default/osmo-remsim-bankd b/contrib/etc_default/osmo-remsim-bankd index 9f8a9a9..34c1821 100644 --- a/contrib/etc_default/osmo-remsim-bankd +++ b/contrib/etc_default/osmo-remsim-bankd @@ -1,5 +1,5 @@ # Default settings for osmo-remsim-bankd This file is sourced by systemd # Options to pass to osmo-remsim-bankd -BANKD_OPTS="-i 10.9.99.1 -n 5" +BANKD_OPTS="-i 127.0.0.1 -n 5" diff --git a/contrib/etc_default/osmo-remsim-client b/contrib/etc_default/osmo-remsim-client index 6c977f1..d4f5514 100644 --- a/contrib/etc_default/osmo-remsim-client +++ b/contrib/etc_default/osmo-remsim-client @@ -1,4 +1,4 @@ # Default settings for osmo-remsim-client This file is sourced by systemd # Options to pass to osmo-remsim-client -GLOBAL_CLIENT_OPTS="-i 10.9.99.10 -V 1d50 -P 4004 -C 1" +GLOBAL_CLIENT_OPTS="-i 127.0.0.1 -V 1d50 -P 4004 -C 1" -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/24742 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I8dffe950b0f041a231708521d11b027bfbd304e3 Gerrit-Change-Number: 24742 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 22 18:05:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Jun 2021 18:05:38 +0000 Subject: Change in osmo-remsim[master]: doc/examples: install bankd_pcsc_slots.csv In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/24743 ) Change subject: doc/examples: install bankd_pcsc_slots.csv ...................................................................... doc/examples: install bankd_pcsc_slots.csv Related: SYS#5187 Change-Id: Iba0b98729ae2a830e05d1b337b33259dcae25d15 --- M configure.ac M contrib/osmo-remsim.spec.in M debian/osmo-remsim-bankd.install M doc/Makefile.am A doc/examples/Makefile.am 5 files changed, 33 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 8592dd4..400578b 100644 --- a/configure.ac +++ b/configure.ac @@ -199,6 +199,7 @@ contrib/systemd/Makefile contrib/osmo-remsim.spec doc/Makefile + doc/examples/Makefile doc/manuals/Makefile src/Makefile src/rspro/Makefile diff --git a/contrib/osmo-remsim.spec.in b/contrib/osmo-remsim.spec.in index e11e93f..6d44b82 100644 --- a/contrib/osmo-remsim.spec.in +++ b/contrib/osmo-remsim.spec.in @@ -194,6 +194,7 @@ %{_bindir}/osmo-remsim-bankd %{_unitdir}/osmo-remsim-bankd.service %config(noreplace) %{_sysconfdir}/default/osmo-remsim-bankd +%config(noreplace) %{_sysconfdir}/osmocom/bankd_pcsc_slots.csv %files -n osmo-remsim-client-shell %{_bindir}/osmo-remsim-client-shell diff --git a/debian/osmo-remsim-bankd.install b/debian/osmo-remsim-bankd.install index 4e1d6a5..a4afa70 100644 --- a/debian/osmo-remsim-bankd.install +++ b/debian/osmo-remsim-bankd.install @@ -1,3 +1,4 @@ usr/bin/osmo-remsim-bankd lib/systemd/system/osmo-remsim-bankd.service etc/default/osmo-remsim-bankd +etc/osmocom/bankd_pcsc_slots.csv diff --git a/doc/Makefile.am b/doc/Makefile.am index dd4a573..f561ed8 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,4 +1,5 @@ SUBDIRS = \ + examples \ manuals \ $(NULL) diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am new file mode 100644 index 0000000..4a8fcbd --- /dev/null +++ b/doc/examples/Makefile.am @@ -0,0 +1,29 @@ +OSMOCONF_FILES = \ + bankd_pcsc_slots.csv \ + $(NULL) + +osmoconfdir = $(sysconfdir)/osmocom +osmoconf_DATA = $(OSMOCONF_FILES) + +EXTRA_DIST = $(OSMOCONF_FILES) + +CFG_FILES = find $(srcdir) -name '*.cfg*' -o -name '*.csv' | sed -e 's,^$(srcdir),,' + +dist-hook: + for f in $$($(CFG_FILES)); do \ + j="$(distdir)/$$f" && \ + $(INSTALL_DATA) -D $(srcdir)/$$f $$j; \ + done + +install-data-hook: + for f in $$($(CFG_FILES)); do \ + j="$(DESTDIR)$(docdir)/examples/$$f" && \ + $(INSTALL_DATA) -D $(srcdir)/$$f $$j; \ + done + +uninstall-hook: + @$(PRE_UNINSTALL) + for f in $$($(CFG_FILES)); do \ + j="$(DESTDIR)$(docdir)/examples/$$f" && \ + $(RM) $$j; \ + done -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/24743 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Iba0b98729ae2a830e05d1b337b33259dcae25d15 Gerrit-Change-Number: 24743 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 22 18:05:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Jun 2021 18:05:39 +0000 Subject: Change in osmo-remsim[master]: gitignore: add osmo-remsim-client-reader_conf In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/24744 ) Change subject: gitignore: add osmo-remsim-client-reader_conf ...................................................................... gitignore: add osmo-remsim-client-reader_conf Change-Id: I1064aaf523ae368122a5fcc56ea1aa303ff0842e --- M .gitignore 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/.gitignore b/.gitignore index a1cec37..1ceb8d7 100644 --- a/.gitignore +++ b/.gitignore @@ -30,6 +30,7 @@ m4 gen_rspro.stamp +src/client/osmo-remsim-client-reader_conf src/client/osmo-remsim-client-shell src/client/osmo-remsim-client-st2 src/bankd/pcsc_test -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/24744 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I1064aaf523ae368122a5fcc56ea1aa303ff0842e Gerrit-Change-Number: 24744 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 22 18:06:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Jun 2021 18:06:15 +0000 Subject: Change in osmo-bsc[master]: PCUIF protocol: add message definition for interference report In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24741 ) Change subject: PCUIF protocol: add message definition for interference report ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24741 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4bd5d4de695a1f9f202870cfd7e43caac9ce6d48 Gerrit-Change-Number: 24741 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 22 Jun 2021 18:06: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 Jun 22 18:06:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Jun 2021 18:06:19 +0000 Subject: Change in osmo-bsc[master]: PCUIF protocol: add message definition for interference report In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24741 ) Change subject: PCUIF protocol: add message definition for interference report ...................................................................... PCUIF protocol: add message definition for interference report Change-Id: I4bd5d4de695a1f9f202870cfd7e43caac9ce6d48 Related: SYS#5313, OS#1569 --- M include/osmocom/bsc/pcuif_proto.h 1 file changed, 10 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/include/osmocom/bsc/pcuif_proto.h b/include/osmocom/bsc/pcuif_proto.h index 8f72602..38ca4b6 100644 --- a/include/osmocom/bsc/pcuif_proto.h +++ b/include/osmocom/bsc/pcuif_proto.h @@ -21,6 +21,7 @@ #define PCU_IF_MSG_INFO_IND 0x32 /* retrieve BTS info */ #define PCU_IF_MSG_ACT_REQ 0x40 /* activate/deactivate PDCH */ #define PCU_IF_MSG_TIME_IND 0x52 /* GSM time indication */ +#define PCU_IF_MSG_INTERF_IND 0x53 /* interference report */ #define PCU_IF_MSG_PAG_REQ 0x60 /* paging request */ #define PCU_IF_MSG_TXT_IND 0x70 /* Text indication for BTS */ @@ -208,6 +209,14 @@ uint8_t cause; } __attribute__ ((packed)); +/* Interference measurements on PDCH timeslots */ +struct gsm_pcu_if_interf_ind { + uint8_t trx_nr; + uint8_t spare[3]; + uint32_t fn; + uint8_t interf[8]; +} __attribute__ ((packed)); + struct gsm_pcu_if { /* context based information */ uint8_t msg_type; /* message type */ @@ -228,6 +237,7 @@ struct gsm_pcu_if_time_ind time_ind; struct gsm_pcu_if_pag_req pag_req; struct gsm_pcu_if_app_info_req app_info_req; + struct gsm_pcu_if_interf_ind interf_ind; } u; } __attribute__ ((packed)); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24741 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4bd5d4de695a1f9f202870cfd7e43caac9ce6d48 Gerrit-Change-Number: 24741 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 22 18:47:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Jun 2021 18:47:33 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vc_fsm: rename state UNCONFIGURED -> DISABLED In-Reply-To: References: Message-ID: laforge 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: 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? -- 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: Tue, 22 Jun 2021 18:47: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 Jun 22 18:48:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Jun 2021 18:48:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: add a test case for RF RESource INDication In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24567 ) Change subject: BTS: add a test case for RF RESource INDication ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I78b6d8beffa5228a28231b75728e7aebdd3cb23c Gerrit-Change-Number: 24567 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 22 Jun 2021 18:48:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 22 18:48:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Jun 2021 18:48:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: add definition for PCU_IF_MSG_INTERF_IND In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24716 ) Change subject: library/PCUIF_Types: add definition for PCU_IF_MSG_INTERF_IND ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24716 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I07d25d694c2f39a79295c2948ab6155f46e5c639 Gerrit-Change-Number: 24716 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 22 Jun 2021 18: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 Tue Jun 22 18:49:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Jun 2021 18:49:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: add a testcase for PDCH interference reports In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24717 ) Change subject: BTS: add a testcase for PDCH interference reports ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24717 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I39e70524ad3d2ee51b537c8f786b7754a02949b1 Gerrit-Change-Number: 24717 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 22 Jun 2021 18: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 Tue Jun 22 18:49:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Jun 2021 18:49:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: add a test case for RF RESource INDication In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24567 ) Change subject: BTS: add a test case for RF RESource INDication ...................................................................... BTS: add a test case for RF RESource INDication Change-Id: I78b6d8beffa5228a28231b75728e7aebdd3cb23c Related: SYS#5313, OS#1569, OS#1866 --- M bts/BTS_Tests.ttcn 1 file changed, 67 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve dexter: Looks good to me, but someone else must approve diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index a6ccf30..c9553a3 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -119,6 +119,17 @@ TrxPars mp_trx_pars; /* see BTS_Tests.default */ /* default Training Sequence Code */ GsmTsc mp_tsc_def := 7; + /* Default interference boundaries in osmo-bsc (in dBm): + * 0(-85) X1(-91) X2(-97) X3(-103) X4(-109) X5(-115) + * Default interference level reported by fake_trx.py: + * 0: -109 >= -85 dBm (no) + * X1: -109 >= -91 dBm (no) + * X2: -109 >= -97 dBm (no) + * X3: -109 >= -103 dBm (no) + * X4: -109 >= -109 dBm (yes) + * X5: -109 >= -115 dBm (no) + * So all channels should be in band 4. */ + uint3_t mp_interf_band := 4; } type record of RslChannelNr ChannelNrs; @@ -6776,6 +6787,61 @@ f_testmatrix_each_chan(pars, refers(f_TC_rsl_modify_encr)); } +/* Verify RF RESource INDication messages (periodically sent over the RSL) */ +private function f_TC_rsl_rf_resource_ind(template RSL_ResourceInfo info) +runs on test_CT { + const IpaStreamId sid := IPAC_PROTO_RSL_TRX0; + var ASP_RSL_Unitdata ud; + timer T; + + /* Intave is 6 SACCH periods by default */ + var float Tval := int2float(6 * 480) / 1000.0 + 0.5; + + T.start(Tval); + alt { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_RF_RES_IND(info), sid)) { + setverdict(pass); + } + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_RF_RES_IND(?), sid)) -> value ud { + setverdict(fail, "RF RESource INDication mismatch: ", ud.rsl); + } + [] RSL_CCHAN.receive { repeat; } + [] T.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Timeout waiting for RF RESource INDication"); + } + } +} +testcase TC_rsl_rf_resource_ind() runs on test_CT { + var RSL_ResourceInfo info := { }; + + f_init(trx_nr := 0); + + f_init_l1ctl(); + f_l1_tune(L1CTL); + + /* g_AllChannels contains all logical channels */ + for (var integer i := 0; i < lengthof(g_AllChannels); i := i + 1) { + var RslChannelNr chan_nr := g_AllChannels[i]; + + /* FIXME: osmo-bts does not report for Osmocom style dynamic timeslots */ + if (mp_trx_pars[0].ts[chan_nr.tn].config == GSM_PCHAN_TCHH_TCHF_PDCH) + { continue; } + + info := info & { valueof(ts_RSL_ResourceInfoItem(chan_nr, mp_interf_band)) }; + } + + /* Align to the first interference report */ + f_TC_rsl_rf_resource_ind(?); + + /* Test 4 consecutive messages */ + for (var integer i := 0; i < 4; i := i + 1) { + f_TC_rsl_rf_resource_ind(info); + } + + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + /* Test unencrypted channel activation followed by explicit ENCR CMD later */ private function f_TC_encr_cmd(charstring id) runs on ConnHdlr { /* L3 payload doesn't matter, as it is passed transparently */ @@ -7356,6 +7422,7 @@ execute( TC_rsl_chan_initial_ms_pwr() ); execute( TC_rsl_chan_initial_ta() ); execute( TC_rsl_modify_encr() ); + execute( TC_rsl_rf_resource_ind() ); execute( TC_conn_fail_crit() ); execute( TC_paging_imsi_80percent() ); execute( TC_paging_tmsi_80percent() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I78b6d8beffa5228a28231b75728e7aebdd3cb23c Gerrit-Change-Number: 24567 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 22 18:49:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Jun 2021 18:49:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: add definition for PCU_IF_MSG_INTERF_IND In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24716 ) Change subject: library/PCUIF_Types: add definition for PCU_IF_MSG_INTERF_IND ...................................................................... library/PCUIF_Types: add definition for PCU_IF_MSG_INTERF_IND Change-Id: I07d25d694c2f39a79295c2948ab6155f46e5c639 Related: SYS#5313, OS#1569, OS#1866 --- M library/PCUIF_Types.ttcn 1 file changed, 46 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/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 9d6b023..6cfe410 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -35,6 +35,7 @@ PCU_IF_MSG_INFO_IND ('32'O), PCU_IF_MSG_ACT_REQ ('40'O), PCU_IF_MSG_TIME_IND ('52'O), + PCU_IF_MSG_INTERF_IND ('53'O), PCU_IF_MSG_PAG_REQ ('60'O), PCU_IF_MSG_TXT_IND ('70'O) } with { variant "FIELDLENGTH(8)" }; @@ -222,6 +223,14 @@ uint32_t fn } with { variant "" }; +type record length(8) of uint8_t PCUIF_interf; +type record PCUIF_interf_ind { + uint8_t trx_nr, + OCT3 spare, + uint32_t fn, + PCUIF_interf interf +} with { variant "" }; + type record PCUIF_pag_req { PCUIF_Sapi sapi, uint8_t chan_needed, @@ -257,6 +266,7 @@ PCUIF_info_ind info_ind, PCUIF_act_req act_req, PCUIF_time_ind time_ind, + PCUIF_interf_ind interf_ind, PCUIF_pag_req pag_req, PCUIF_app_info_req app_info_req } with { variant "" }; @@ -278,6 +288,7 @@ info_ind, msg_type = PCU_IF_MSG_INFO_IND; act_req, msg_type = PCU_IF_MSG_ACT_REQ; time_ind, msg_type = PCU_IF_MSG_TIME_IND; + interf_ind, msg_type = PCU_IF_MSG_INTERF_IND; pag_req, msg_type = PCU_IF_MSG_PAG_REQ; app_info_req, msg_type = PCU_IF_MSG_APP_INFO_REQ)" /* PCUIFv10: 1006 * 8 = 8048 bits */ @@ -877,6 +888,41 @@ } } +template (value) PCUIF_Message +ts_PCUIF_INTERF_IND(template (value) uint8_t bts_nr, + template (value) uint8_t trx_nr, + template (value) uint32_t fn, + template (value) PCUIF_interf interf) := { + msg_type := PCU_IF_MSG_INTERF_IND, + bts_nr := bts_nr, + spare := '0000'O, + u := { + interf_ind := { + trx_nr := trx_nr, + spare := '000000'O, + fn := fn, + interf := interf + } + } +} +template PCUIF_Message +tr_PCUIF_INTERF_IND(template (present) uint8_t bts_nr := ?, + template (present) uint8_t trx_nr := ?, + template (present) uint32_t fn := ?, + template (present) PCUIF_interf interf := ?) := { + msg_type := PCU_IF_MSG_INTERF_IND, + bts_nr := bts_nr, + spare := ?, + u := { + interf_ind := { + trx_nr := trx_nr, + spare := ?, + fn := fn, + interf := interf + } + } +} + template (value) PCUIF_Message ts_PCUIF_SUSP_REQ(template (value) uint8_t bts_nr, template (value) OCT4 tlli, template (value) OCT6 ra_id, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24716 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I07d25d694c2f39a79295c2948ab6155f46e5c639 Gerrit-Change-Number: 24716 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 22 18:49:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Jun 2021 18:49:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: add a testcase for PDCH interference reports In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24717 ) Change subject: BTS: add a testcase for PDCH interference reports ...................................................................... BTS: add a testcase for PDCH interference reports Change-Id: I39e70524ad3d2ee51b537c8f786b7754a02949b1 Related: SYS#5313, OS#1569, OS#1866 --- M bts/BTS_Tests.ttcn 1 file changed, 56 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/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index c9553a3..e855405 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -5838,6 +5838,61 @@ setverdict(pass); } +/* Verify periodic interference reports on PDCH */ +testcase TC_pcu_interf_ind() runs on test_CT { + var template PCUIF_Message tr_interf_ind; + var template PCUIF_interf ts_interf; + var integer interf_ind_num := 0; + var PCUIF_send_data sd; + timer T; + + f_init_with_pcuif(); + f_TC_pcu_act_req(0, 0, 7, true); + + /* We need trxcon for NOPE indications */ + f_init_l1ctl(); + f_l1_tune(L1CTL); + + /* Expect -120 .. -90 dBm on TS7 of BTS0/TRX0 */ + ts_interf := { 0, 0, 0, 0, 0, 0, 0, (90..120) }; + tr_interf_ind := tr_PCUIF_INTERF_IND( + bts_nr := 0, + trx_nr := 0, + fn := ?, + interf := ts_interf + ); + + /* 4 SACCH periods => 4 reports (plus some guard time) */ + var float Tval := int2float(4 * 480) / 1000.0 + 0.5; + + /* Let it some time to stabilize */ + f_sleep(0.5); + PCU.clear; + + T.start(Tval); + alt { + [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_interf_ind)) -> value sd { + /* Check TDMA frame number period */ + if (sd.data.u.interf_ind.fn mod 104 != 0) { + setverdict(fail, "Odd TDMA frame number := ", + sd.data.u.interf_ind.fn); + } + interf_ind_num := interf_ind_num + 1; + if (interf_ind_num < 4) + { repeat; } + } + [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_INTERF_IND(0, 0))) -> value sd { + setverdict(fail, "Received unexpected interference report: ", sd.data); + } + [] PCU.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for interference reports"); + } + } + + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + /*********************************************************************** * Osmocom Style Dynamic Timeslot Support ***********************************************************************/ @@ -7492,6 +7547,7 @@ execute( TC_pcu_socket_nsvc_ipv4() ); execute( TC_pcu_socket_nsvc_ipv6() ); execute( TC_pcu_socket_two_nsvc() ); + execute( TC_pcu_interf_ind() ); } else { log("PCU socket path not available, skipping PCU tests"); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24717 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I39e70524ad3d2ee51b537c8f786b7754a02949b1 Gerrit-Change-Number: 24717 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 22 20:27:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 22 Jun 2021 20:27:27 +0000 Subject: Change in osmo-pcu[master]: pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24747 ) Change subject: pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack ...................................................................... pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack If bts_ms_by_tlli() at the start of the function fails, ms could be NULL. As a result "ms->nacc" access at the end of the function would crash. Solution: In the function, we get the related expected TBF from pdch_ulc, and we only continue if a TBF is found. Since tbf objects are always expected to have a GprsMs, simply gather it from there. Change-Id: I666ed5d157f42e74956fa49fc9eea85d27e63d44 --- M src/pdch.cpp 1 file changed, 6 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/47/24747/1 diff --git a/src/pdch.cpp b/src/pdch.cpp index 8e0a24a..2b5159b 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -304,7 +304,7 @@ { struct gprs_rlcmac_tbf *tbf, *new_tbf; uint32_t tlli = packet->TLLI; - GprsMs *ms = bts_ms_by_tlli(bts(), tlli, GSM_RESERVED_TMSI); + GprsMs *ms; gprs_rlcmac_ul_tbf *ul_tbf; enum pdch_ulc_tbf_poll_reason reason; struct pdch_ulc_node *poll; @@ -314,6 +314,7 @@ LOGPDCH(this, DRLCMAC, LOGL_NOTICE, "PACKET CONTROL ACK with " "unknown FN=%u TLLI=0x%08x (TRX %d TS %d)\n", fn, tlli, trx_no(), ts_no); + ms = bts_ms_by_tlli(bts(), tlli, GSM_RESERVED_TMSI); if (ms) LOGPDCH(this, DRLCMAC, LOGL_NOTICE, "PACKET CONTROL ACK with " "unknown TBF corresponds to MS with IMSI %s, TA %d, " @@ -332,6 +333,8 @@ tbf->n_reset(N3101); tbf->update_ms(tlli, GPRS_RLCMAC_UL_TBF); + /* Gather MS from TBF, since it may be NULL or may have been merged during update_ms */ + ms = tbf->ms(); LOGPTBF(tbf, LOGL_DEBUG, "FN=%" PRIu32 " Rx Packet Control Ack (reason=%s)\n", fn, get_value_string(pdch_ulc_tbf_poll_reason_names, reason)); @@ -353,7 +356,7 @@ tbf->n_reset(N3105); TBF_SET_ASS_STATE_DL(tbf, GPRS_RLCMAC_DL_ASS_NONE); - new_tbf = tbf->ms() ? ms_dl_tbf(tbf->ms()) : NULL; + new_tbf = ms_dl_tbf(tbf->ms()); if (!new_tbf) { LOGPDCH(this, DRLCMAC, LOGL_ERROR, "Got ACK, but DL " "TBF is gone TLLI=0x%08x\n", tlli); @@ -385,7 +388,7 @@ tbf->n_reset(N3105); TBF_SET_ASS_STATE_UL(tbf, GPRS_RLCMAC_UL_ASS_NONE); - new_tbf = tbf->ms() ? ms_ul_tbf(tbf->ms()) : NULL; + new_tbf = ms_ul_tbf(tbf->ms()); if (!new_tbf) { LOGPDCH(this, DRLCMAC, LOGL_ERROR, "Got ACK, but UL " "TBF is gone TLLI=0x%08x\n", tlli); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24747 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I666ed5d157f42e74956fa49fc9eea85d27e63d44 Gerrit-Change-Number: 24747 Gerrit-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 Jun 22 21:31:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 22 Jun 2021 21:31:48 +0000 Subject: Change in osmo-pcu[master]: pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24747 ) Change subject: pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24747 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I666ed5d157f42e74956fa49fc9eea85d27e63d44 Gerrit-Change-Number: 24747 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 22 Jun 2021 21:31:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Wed Jun 23 00:33:30 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 00:33:30 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <60d2816669897_299d2ae14076c5f42436bd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/openSUSE_Tumbleweed/i586 Package network:osmocom:nightly/osmo-remsim failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 58s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 58s] Requires(pre): /bin/sh [ 58s] Requires(post): /bin/sh [ 58s] Requires(preun): /bin/sh [ 58s] Requires(postun): /bin/sh [ 58s] Requires: libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.3.4) libc.so.6(GLIBC_2.4) libosmo-rspro.so.1 libosmo-simtrace2.so.0 libosmoabis.so.10 libosmocore.so.17 libosmogsm.so.16 libosmogsm.so.16(LIBOSMOGSM_1.0) libosmousb.so.0 libtalloc.so.2 libtalloc.so.2(TALLOC_2.0.2) libusb-1.0.so.0 [ 58s] Processing files: osmo-remsim-client-shell-0.2.2.110.90b4.202106230026-1.1.i586 [ 58s] Provides: osmo-remsim-client-shell = 0.2.2.110.90b4.202106230026-1.1 osmo-remsim-client-shell(x86-32) = 0.2.2.110.90b4.202106230026-1.1 [ 58s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 58s] Requires: libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.3.4) libc.so.6(GLIBC_2.4) libosmo-rspro.so.1 libosmoabis.so.10 libosmocore.so.17 libosmogsm.so.16 libosmogsm.so.16(LIBOSMOGSM_1.0) libtalloc.so.2 libtalloc.so.2(TALLOC_2.0.2) [ 58s] Processing files: libifd-osmo-remsim-client0-0.2.2.110.90b4.202106230026-1.1.i586 [ 58s] Provides: config(libifd-osmo-remsim-client0) = 0.2.2.110.90b4.202106230026-1.1 libifd-osmo-remsim-client0 = 0.2.2.110.90b4.202106230026-1.1 libifd-osmo-remsim-client0(x86-32) = 0.2.2.110.90b4.202106230026-1.1 libifd_remsim_client.so.0 [ 58s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 58s] Requires: ld-linux.so.2 ld-linux.so.2(GLIBC_2.3) libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.3.4) libc.so.6(GLIBC_2.4) libosmo-rspro.so.1 libosmoabis.so.10 libosmocore.so.17 libosmogsm.so.16 libosmogsm.so.16(LIBOSMOGSM_1.0) libpthread.so.0 libpthread.so.0(GLIBC_2.0) libpthread.so.0(GLIBC_2.1) libpthread.so.0(GLIBC_2.3.3) libtalloc.so.2 libtalloc.so.2(TALLOC_2.0.2) [ 58s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.110.90b4.202106230026-1.1.i386 [ 58s] error: Installed (but unpackaged) file(s) found: [ 58s] /usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv [ 58s] [ 58s] [ 58s] RPM build errors: [ 58s] Installed (but unpackaged) file(s) found: [ 58s] /usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv [ 58s] ### VM INTERACTION START ### [ 61s] [ 54.451837] sysrq: Power Off [ 61s] [ 54.455025] reboot: Power down [ 61s] ### VM INTERACTION END ### [ 61s] [ 61s] sheep88 failed "build osmo-remsim.spec" at Wed Jun 23 00:33:19 UTC 2021. [ 61s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Jun 23 00:45:59 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 00:45:59 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in Debian_9.0/i586 In-Reply-To: References: Message-ID: <60d28452cf4b9_299d2ae14076c5f424778b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/Debian_9.0/i586 Package network:osmocom:nightly/osmo-remsim failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 287s] make[4]: Entering directory '/usr/src/packages/BUILD/doc' [ 287s] make[5]: Entering directory '/usr/src/packages/BUILD/doc' [ 287s] make[5]: Nothing to be done for 'install-exec-am'. [ 287s] make[5]: Nothing to be done for 'install-data-am'. [ 287s] make[5]: Leaving directory '/usr/src/packages/BUILD/doc' [ 287s] make[4]: Leaving directory '/usr/src/packages/BUILD/doc' [ 287s] make[3]: Leaving directory '/usr/src/packages/BUILD/doc' [ 287s] make[3]: Entering directory '/usr/src/packages/BUILD' [ 287s] make[4]: Entering directory '/usr/src/packages/BUILD' [ 287s] make[4]: Nothing to be done for 'install-exec-am'. [ 287s] /bin/mkdir -p '/usr/src/packages/BUILD/debian/tmp/usr/lib/i386-linux-gnu/pkgconfig' [ 287s] /usr/bin/install -c -m 644 libosmo-rspro.pc '/usr/src/packages/BUILD/debian/tmp/usr/lib/i386-linux-gnu/pkgconfig' [ 287s] make[4]: Leaving directory '/usr/src/packages/BUILD' [ 287s] make[3]: Leaving directory '/usr/src/packages/BUILD' [ 287s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 287s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 287s] dh_install -O--fail-missing [ 287s] dh_install: usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv exists in debian/tmp but is not installed to anywhere [ 287s] dh_install: missing files, aborting [ 287s] debian/rules:14: recipe for target 'binary' failed [ 287s] make: *** [binary] Error 2 [ 287s] dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 [ 287s] ### VM INTERACTION START ### [ 290s] [ 279.045080] sysrq: Power Off [ 290s] [ 279.048646] reboot: Power down [ 290s] ### VM INTERACTION END ### [ 290s] [ 290s] sheep85 failed "build osmo-remsim_0.2.2.110.90b4.202106230026.dsc" at Wed Jun 23 00:45:45 UTC 2021. [ 290s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Jun 23 00:46:33 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 00:46:33 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in openSUSE_Leap_15.2/x86_64 In-Reply-To: References: Message-ID: <60d284726f99e_299d2ae14076c5f4247918@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/openSUSE_Leap_15.2/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in openSUSE_Leap_15.2/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 73s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 73s] Requires(pre): /bin/sh [ 73s] Requires(post): /bin/sh [ 73s] Requires(preun): /bin/sh [ 73s] Requires(postun): /bin/sh [ 73s] Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libosmo-rspro.so.1()(64bit) libosmo-simtrace2.so.0()(64bit) libosmoabis.so.10()(64bit) libosmocore.so.17()(64bit) libosmogsm.so.16()(64bit) libosmogsm.so.16(LIBOSMOGSM_1.0)(64bit) libosmousb.so.0()(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) libusb-1.0.so.0()(64bit) [ 73s] Processing files: osmo-remsim-client-shell-0.2.2.110.90b4.202106230026-lp152.1.1.x86_64 [ 73s] Provides: osmo-remsim-client-shell = 0.2.2.110.90b4.202106230026-lp152.1.1 osmo-remsim-client-shell(x86-64) = 0.2.2.110.90b4.202106230026-lp152.1.1 [ 73s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 73s] Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libosmo-rspro.so.1()(64bit) libosmoabis.so.10()(64bit) libosmocore.so.17()(64bit) libosmogsm.so.16()(64bit) libosmogsm.so.16(LIBOSMOGSM_1.0)(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) [ 73s] Processing files: libifd-osmo-remsim-client0-0.2.2.110.90b4.202106230026-lp152.1.1.x86_64 [ 73s] Provides: config(libifd-osmo-remsim-client0) = 0.2.2.110.90b4.202106230026-lp152.1.1 libifd-osmo-remsim-client0 = 0.2.2.110.90b4.202106230026-lp152.1.1 libifd-osmo-remsim-client0(x86-64) = 0.2.2.110.90b4.202106230026-lp152.1.1 libifd_remsim_client.so.0()(64bit) [ 73s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 73s] Requires: ld-linux-x86-64.so.2()(64bit) ld-linux-x86-64.so.2(GLIBC_2.3)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libosmo-rspro.so.1()(64bit) libosmoabis.so.10()(64bit) libosmocore.so.17()(64bit) libosmogsm.so.16()(64bit) libosmogsm.so.16(LIBOSMOGSM_1.0)(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libpthread.so.0(GLIBC_2.3.3)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) [ 73s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.110.90b4.202106230026-lp152.1.1.x86_64 [ 73s] error: Installed (but unpackaged) file(s) found: [ 73s] /usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv [ 73s] [ 73s] [ 73s] RPM build errors: [ 73s] Installed (but unpackaged) file(s) found: [ 73s] /usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv [ 73s] ### VM INTERACTION START ### [ 76s] [ 67.376676] sysrq: Power Off [ 76s] [ 67.401131] reboot: Power down [ 76s] ### VM INTERACTION END ### [ 76s] [ 76s] goat11 failed "build osmo-remsim.spec" at Wed Jun 23 00:46:25 UTC 2021. [ 76s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Jun 23 00:48:32 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 00:48:32 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in openSUSE_Leap_15.1/x86_64 In-Reply-To: References: Message-ID: <60d284eb97451_299d2ae14076c5f424853a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/openSUSE_Leap_15.1/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in openSUSE_Leap_15.1/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 182s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 182s] Requires(pre): /bin/sh [ 182s] Requires(post): /bin/sh [ 182s] Requires(preun): /bin/sh [ 182s] Requires(postun): /bin/sh [ 182s] Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libosmo-rspro.so.1()(64bit) libosmo-simtrace2.so.0()(64bit) libosmoabis.so.10()(64bit) libosmocore.so.17()(64bit) libosmogsm.so.16()(64bit) libosmogsm.so.16(LIBOSMOGSM_1.0)(64bit) libosmousb.so.0()(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) libusb-1.0.so.0()(64bit) [ 182s] Processing files: osmo-remsim-client-shell-0.2.2.110.90b4.202106230026-lp151.1.1.x86_64 [ 182s] Provides: osmo-remsim-client-shell = 0.2.2.110.90b4.202106230026-lp151.1.1 osmo-remsim-client-shell(x86-64) = 0.2.2.110.90b4.202106230026-lp151.1.1 [ 182s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 182s] Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libosmo-rspro.so.1()(64bit) libosmoabis.so.10()(64bit) libosmocore.so.17()(64bit) libosmogsm.so.16()(64bit) libosmogsm.so.16(LIBOSMOGSM_1.0)(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) [ 182s] Processing files: libifd-osmo-remsim-client0-0.2.2.110.90b4.202106230026-lp151.1.1.x86_64 [ 182s] Provides: config(libifd-osmo-remsim-client0) = 0.2.2.110.90b4.202106230026-lp151.1.1 libifd-osmo-remsim-client0 = 0.2.2.110.90b4.202106230026-lp151.1.1 libifd-osmo-remsim-client0(x86-64) = 0.2.2.110.90b4.202106230026-lp151.1.1 libifd_remsim_client.so.0()(64bit) [ 182s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 182s] Requires: ld-linux-x86-64.so.2()(64bit) ld-linux-x86-64.so.2(GLIBC_2.3)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libosmo-rspro.so.1()(64bit) libosmoabis.so.10()(64bit) libosmocore.so.17()(64bit) libosmogsm.so.16()(64bit) libosmogsm.so.16(LIBOSMOGSM_1.0)(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libpthread.so.0(GLIBC_2.3.3)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) [ 182s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.110.90b4.202106230026-lp151.1.1.x86_64 [ 182s] error: Installed (but unpackaged) file(s) found: [ 182s] /usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv [ 182s] [ 182s] [ 182s] RPM build errors: [ 182s] Installed (but unpackaged) file(s) found: [ 182s] /usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv [ 182s] ### VM INTERACTION START ### [ 185s] [ 140.162950] sysrq: SysRq : Power Off [ 185s] [ 140.214851] reboot: Power down [ 185s] ### VM INTERACTION END ### [ 185s] [ 185s] lamb26 failed "build osmo-remsim.spec" at Wed Jun 23 00:48:27 UTC 2021. [ 185s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Jun 23 00:51:05 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 00:51:05 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in Debian_10/i586 In-Reply-To: References: Message-ID: <60d2857fe800e_299d2ae14076c5f4249543@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/Debian_10/i586 Package network:osmocom:nightly/osmo-remsim failed to build in Debian_10/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 473s] /bin/mkdir -p '/usr/src/packages/BUILD/debian/tmp/usr/lib/i386-linux-gnu/pkgconfig' [ 473s] /usr/bin/install -c -m 644 libosmo-rspro.pc '/usr/src/packages/BUILD/debian/tmp/usr/lib/i386-linux-gnu/pkgconfig' [ 473s] make[4]: Leaving directory '/usr/src/packages/BUILD' [ 473s] make[3]: Leaving directory '/usr/src/packages/BUILD' [ 473s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 473s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 473s] dh_install -O--fail-missing [ 474s] dh_install: Please use dh_missing --list-missing/--fail-missing instead [ 474s] dh_install: This feature will be removed in compat 12. [ 474s] dh_missing: usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv exists in debian/tmp but is not installed to anywhere [ 474s] dh_missing: missing files, aborting [ 474s] The following debhelper tools have reported what they installed (with files per package) [ 474s] * dh_install: libifd-osmo-remsim-client0 (2), libosmo-rspro-dev (5), libosmo-rspro1 (2), osmo-remsim-bankd (4), osmo-remsim-client-shell (1), osmo-remsim-client-st2 (7), osmo-remsim-doc (1), osmo-remsim-server (2) [ 474s] If the missing files are installed by another tool, please file a bug against it. [ 474s] When filing the report, if the tool is not part of debhelper itself, please reference the [ 474s] "Logging helpers and dh_missing" section from the "PROGRAMMING" guide for debhelper (10.6.3+). [ 474s] (in the debhelper package: /usr/share/doc/debhelper/PROGRAMMING.gz) [ 474s] Be sure to test with dpkg-buildpackage -A/-B as the results may vary when only a subset is built [ 474s] For a short-term work-around: Add the files to debian/not-installed [ 474s] dh_install: dh_missing --fail-missing returned exit code 2 [ 474s] make: *** [debian/rules:14: binary] Error 25 [ 474s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 474s] ### VM INTERACTION START ### [ 477s] [ 460.898144] sysrq: Power Off [ 477s] [ 460.904270] reboot: Power down [ 477s] ### VM INTERACTION END ### [ 477s] [ 477s] lamb06 failed "build osmo-remsim_0.2.2.110.90b4.202106230026.dsc" at Wed Jun 23 00:50:50 UTC 2021. [ 477s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Jun 23 00:52:13 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 00:52:13 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <60d285d839078_299d2ae14076c5f4249966@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 166s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 166s] Requires(pre): /bin/sh [ 166s] Requires(post): /bin/sh [ 166s] Requires(preun): /bin/sh [ 166s] Requires(postun): /bin/sh [ 166s] Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libosmo-rspro.so.1()(64bit) libosmo-simtrace2.so.0()(64bit) libosmoabis.so.10()(64bit) libosmocore.so.17()(64bit) libosmogsm.so.16()(64bit) libosmogsm.so.16(LIBOSMOGSM_1.0)(64bit) libosmousb.so.0()(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) libusb-1.0.so.0()(64bit) [ 166s] Processing files: osmo-remsim-client-shell-0.2.2.110.90b4.202106230026-1.1.x86_64 [ 166s] Provides: osmo-remsim-client-shell = 0.2.2.110.90b4.202106230026-1.1 osmo-remsim-client-shell(x86-64) = 0.2.2.110.90b4.202106230026-1.1 [ 166s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 166s] Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libosmo-rspro.so.1()(64bit) libosmoabis.so.10()(64bit) libosmocore.so.17()(64bit) libosmogsm.so.16()(64bit) libosmogsm.so.16(LIBOSMOGSM_1.0)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) [ 166s] Processing files: libifd-osmo-remsim-client0-0.2.2.110.90b4.202106230026-1.1.x86_64 [ 166s] Provides: config(libifd-osmo-remsim-client0) = 0.2.2.110.90b4.202106230026-1.1 libifd-osmo-remsim-client0 = 0.2.2.110.90b4.202106230026-1.1 libifd-osmo-remsim-client0(x86-64) = 0.2.2.110.90b4.202106230026-1.1 libifd_remsim_client.so.0()(64bit) [ 166s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 166s] Requires: ld-linux-x86-64.so.2()(64bit) ld-linux-x86-64.so.2(GLIBC_2.3)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libosmo-rspro.so.1()(64bit) libosmoabis.so.10()(64bit) libosmocore.so.17()(64bit) libosmogsm.so.16()(64bit) libosmogsm.so.16(LIBOSMOGSM_1.0)(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libpthread.so.0(GLIBC_2.3.3)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) [ 166s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.110.90b4.202106230026-1.1.x86_64 [ 166s] error: Installed (but unpackaged) file(s) found: [ 166s] /usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv [ 166s] [ 166s] [ 166s] RPM build errors: [ 166s] Installed (but unpackaged) file(s) found: [ 166s] /usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv [ 166s] ### VM INTERACTION START ### [ 169s] [ 141.730007] sysrq: Power Off [ 169s] [ 141.740226] reboot: Power down [ 169s] ### VM INTERACTION END ### [ 169s] [ 169s] lamb52 failed "build osmo-remsim.spec" at Wed Jun 23 00:52:11 UTC 2021. [ 169s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Jun 23 00:54:46 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 00:54:46 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in CentOS_8/x86_64 In-Reply-To: References: Message-ID: <60d2866cd09cb_299d2ae14076c5f42505b4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/CentOS_8/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in CentOS_8/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 180s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 180s] Recommends: osmo-remsim-debugsource(x86-64) = 0.2.2.110.90b4.202106230026-1.1 [ 180s] Processing files: osmo-remsim-client-st2-debuginfo-0.2.2.110.90b4.202106230026-1.1.x86_64 [ 180s] Provides: debuginfo(build-id) = 149ca23a63875fcedff87a4f650ef3555c6627e0 osmo-remsim-client-st2-debuginfo = 0.2.2.110.90b4.202106230026-1.1 osmo-remsim-client-st2-debuginfo(x86-64) = 0.2.2.110.90b4.202106230026-1.1 [ 180s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 180s] Recommends: osmo-remsim-debugsource(x86-64) = 0.2.2.110.90b4.202106230026-1.1 [ 180s] Processing files: osmo-remsim-client-shell-debuginfo-0.2.2.110.90b4.202106230026-1.1.x86_64 [ 180s] Provides: debuginfo(build-id) = f6d06f793db8272b65cb4570963c273001b25b16 osmo-remsim-client-shell-debuginfo = 0.2.2.110.90b4.202106230026-1.1 osmo-remsim-client-shell-debuginfo(x86-64) = 0.2.2.110.90b4.202106230026-1.1 [ 180s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 180s] Recommends: osmo-remsim-debugsource(x86-64) = 0.2.2.110.90b4.202106230026-1.1 [ 180s] Processing files: libifd-osmo-remsim-client0-debuginfo-0.2.2.110.90b4.202106230026-1.1.x86_64 [ 180s] Provides: debuginfo(build-id) = d6276c86e36caaff9cf416e4e2bde8e0980fdfc6 libifd-osmo-remsim-client0-debuginfo = 0.2.2.110.90b4.202106230026-1.1 libifd-osmo-remsim-client0-debuginfo(x86-64) = 0.2.2.110.90b4.202106230026-1.1 [ 180s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 180s] Recommends: osmo-remsim-debugsource(x86-64) = 0.2.2.110.90b4.202106230026-1.1 [ 180s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.110.90b4.202106230026-1.1.x86_64 [ 180s] error: Installed (but unpackaged) file(s) found: [ 180s] /usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv [ 180s] [ 180s] [ 180s] RPM build errors: [ 180s] Installed (but unpackaged) file(s) found: [ 180s] /usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv [ 181s] ### VM INTERACTION START ### [ 182s] Powering off. [ 182s] [ 166.791778] reboot: Power down [ 182s] ### VM INTERACTION END ### [ 182s] [ 182s] lamb20 failed "build osmo-remsim.spec" at Wed Jun 23 00:54:30 UTC 2021. [ 182s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Jun 23 00:59:35 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 00:59:35 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <60d2877e1d161_299d2ae14076c5f4251814@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 285s] /bin/mkdir -p '/usr/src/packages/BUILD/debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig' [ 285s] /usr/bin/install -c -m 644 libosmo-rspro.pc '/usr/src/packages/BUILD/debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig' [ 285s] make[4]: Leaving directory '/usr/src/packages/BUILD' [ 285s] make[3]: Leaving directory '/usr/src/packages/BUILD' [ 285s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 285s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 285s] dh_install -O--fail-missing [ 285s] dh_install: Please use dh_missing --list-missing/--fail-missing instead [ 285s] dh_install: This feature will be removed in compat 12. [ 285s] dh_missing: usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv exists in debian/tmp but is not installed to anywhere [ 285s] dh_missing: missing files, aborting [ 285s] The following debhelper tools have reported what they installed (with files per package) [ 285s] * dh_install: libifd-osmo-remsim-client0 (2), libosmo-rspro-dev (5), libosmo-rspro1 (2), osmo-remsim-bankd (4), osmo-remsim-client-shell (1), osmo-remsim-client-st2 (7), osmo-remsim-doc (1), osmo-remsim-server (2) [ 285s] If the missing files are installed by another tool, please file a bug against it. [ 285s] When filing the report, if the tool is not part of debhelper itself, please reference the [ 285s] "Logging helpers and dh_missing" section from the "PROGRAMMING" guide for debhelper (10.6.3+). [ 285s] (in the debhelper package: /usr/share/doc/debhelper/PROGRAMMING.gz) [ 285s] Be sure to test with dpkg-buildpackage -A/-B as the results may vary when only a subset is built [ 285s] For a short-term work-around: Add the files to debian/not-installed [ 285s] dh_install: dh_missing --fail-missing returned exit code 2 [ 285s] make: *** [debian/rules:14: binary] Error 25 [ 285s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 285s] ### VM INTERACTION START ### [ 288s] [ 277.059023] sysrq: Power Off [ 288s] [ 277.063524] reboot: Power down [ 289s] ### VM INTERACTION END ### [ 289s] [ 289s] sheep87 failed "build osmo-remsim_0.2.2.110.90b4.202106230026.dsc" at Wed Jun 23 00:59:30 UTC 2021. [ 289s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Jun 23 01:04:58 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 01:04:58 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <60d288c549e93_299d2ae14076c5f4253223@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/Debian_9.0/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 177s] make[4]: Entering directory '/usr/src/packages/BUILD/doc' [ 177s] make[5]: Entering directory '/usr/src/packages/BUILD/doc' [ 177s] make[5]: Nothing to be done for 'install-exec-am'. [ 177s] make[5]: Nothing to be done for 'install-data-am'. [ 177s] make[5]: Leaving directory '/usr/src/packages/BUILD/doc' [ 177s] make[4]: Leaving directory '/usr/src/packages/BUILD/doc' [ 177s] make[3]: Leaving directory '/usr/src/packages/BUILD/doc' [ 177s] make[3]: Entering directory '/usr/src/packages/BUILD' [ 177s] make[4]: Entering directory '/usr/src/packages/BUILD' [ 177s] make[4]: Nothing to be done for 'install-exec-am'. [ 177s] /bin/mkdir -p '/usr/src/packages/BUILD/debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig' [ 177s] /usr/bin/install -c -m 644 libosmo-rspro.pc '/usr/src/packages/BUILD/debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig' [ 177s] make[4]: Leaving directory '/usr/src/packages/BUILD' [ 177s] make[3]: Leaving directory '/usr/src/packages/BUILD' [ 177s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 177s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 177s] dh_install -O--fail-missing [ 177s] dh_install: usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv exists in debian/tmp but is not installed to anywhere [ 177s] dh_install: missing files, aborting [ 177s] debian/rules:14: recipe for target 'binary' failed [ 177s] make: *** [binary] Error 2 [ 177s] dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 [ 177s] ### VM INTERACTION START ### [ 181s] [ 172.880677] sysrq: Power Off [ 181s] [ 172.907317] reboot: Power down [ 181s] ### VM INTERACTION END ### [ 181s] [ 181s] goat19 failed "build osmo-remsim_0.2.2.110.90b4.202106230026.dsc" at Wed Jun 23 01:04:54 UTC 2021. [ 181s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Jun 23 01:11:29 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 01:11:29 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in openSUSE_Leap_15.1_ARM/aarch64 In-Reply-To: References: Message-ID: <60d28a4c99b95_299d2ae14076c5f4254343@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/openSUSE_Leap_15.1_ARM/aarch64 Package network:osmocom:nightly/osmo-remsim failed to build in openSUSE_Leap_15.1_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 123s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 123s] Requires(pre): /bin/sh [ 123s] Requires(post): /bin/sh [ 123s] Requires(preun): /bin/sh [ 123s] Requires(postun): /bin/sh [ 123s] Requires: ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libosmo-rspro.so.1()(64bit) libosmo-simtrace2.so.0()(64bit) libosmoabis.so.10()(64bit) libosmocore.so.17()(64bit) libosmogsm.so.16()(64bit) libosmogsm.so.16(LIBOSMOGSM_1.0)(64bit) libosmousb.so.0()(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.17)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) libusb-1.0.so.0()(64bit) [ 123s] Processing files: osmo-remsim-client-shell-0.2.2.110.90b4.202106230026-lp151.1.1.aarch64 [ 123s] Provides: osmo-remsim-client-shell = 0.2.2.110.90b4.202106230026-lp151.1.1 osmo-remsim-client-shell(aarch-64) = 0.2.2.110.90b4.202106230026-lp151.1.1 [ 123s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 123s] Requires: ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libosmo-rspro.so.1()(64bit) libosmoabis.so.10()(64bit) libosmocore.so.17()(64bit) libosmogsm.so.16()(64bit) libosmogsm.so.16(LIBOSMOGSM_1.0)(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.17)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) [ 123s] Processing files: libifd-osmo-remsim-client0-0.2.2.110.90b4.202106230026-lp151.1.1.aarch64 [ 123s] Provides: config(libifd-osmo-remsim-client0) = 0.2.2.110.90b4.202106230026-lp151.1.1 libifd-osmo-remsim-client0 = 0.2.2.110.90b4.202106230026-lp151.1.1 libifd-osmo-remsim-client0(aarch-64) = 0.2.2.110.90b4.202106230026-lp151.1.1 libifd_remsim_client.so.0()(64bit) [ 123s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 123s] Requires: ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libosmo-rspro.so.1()(64bit) libosmoabis.so.10()(64bit) libosmocore.so.17()(64bit) libosmogsm.so.16()(64bit) libosmogsm.so.16(LIBOSMOGSM_1.0)(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.17)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) [ 123s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.110.90b4.202106230026-lp151.1.1.aarch64 [ 123s] error: Installed (but unpackaged) file(s) found: [ 123s] /usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv [ 123s] [ 123s] [ 123s] RPM build errors: [ 123s] Installed (but unpackaged) file(s) found: [ 123s] /usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv [ 123s] ### VM INTERACTION START ### [ 126s] [ 111.524409] sysrq: SysRq : Power Off [ 126s] [ 111.525849] reboot: Power down [ 126s] ### VM INTERACTION END ### [ 126s] [ 126s] obs-arm-8 failed "build osmo-remsim.spec" at Wed Jun 23 01:11:23 UTC 2021. [ 126s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Jun 23 01:11:46 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 01:11:46 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60d28a68a85d9_299d2ae14076c5f425474b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/osmo-remsim failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 150s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 150s] Requires(pre): /bin/sh [ 150s] Requires(post): /bin/sh [ 150s] Requires(preun): /bin/sh [ 150s] Requires(postun): /bin/sh [ 150s] Requires: ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libosmo-rspro.so.1()(64bit) libosmo-simtrace2.so.0()(64bit) libosmoabis.so.10()(64bit) libosmocore.so.17()(64bit) libosmogsm.so.16()(64bit) libosmogsm.so.16(LIBOSMOGSM_1.0)(64bit) libosmousb.so.0()(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) libusb-1.0.so.0()(64bit) [ 150s] Processing files: osmo-remsim-client-shell-0.2.2.110.90b4.202106230026-1.1.aarch64 [ 150s] Provides: osmo-remsim-client-shell = 0.2.2.110.90b4.202106230026-1.1 osmo-remsim-client-shell(aarch-64) = 0.2.2.110.90b4.202106230026-1.1 [ 150s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 150s] Requires: ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libosmo-rspro.so.1()(64bit) libosmoabis.so.10()(64bit) libosmocore.so.17()(64bit) libosmogsm.so.16()(64bit) libosmogsm.so.16(LIBOSMOGSM_1.0)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) [ 150s] Processing files: libifd-osmo-remsim-client0-0.2.2.110.90b4.202106230026-1.1.aarch64 [ 150s] Provides: config(libifd-osmo-remsim-client0) = 0.2.2.110.90b4.202106230026-1.1 libifd-osmo-remsim-client0 = 0.2.2.110.90b4.202106230026-1.1 libifd-osmo-remsim-client0(aarch-64) = 0.2.2.110.90b4.202106230026-1.1 libifd_remsim_client.so.0()(64bit) [ 150s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 150s] Requires: ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libosmo-rspro.so.1()(64bit) libosmoabis.so.10()(64bit) libosmocore.so.17()(64bit) libosmogsm.so.16()(64bit) libosmogsm.so.16(LIBOSMOGSM_1.0)(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.17)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) [ 150s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.110.90b4.202106230026-1.1.aarch64 [ 150s] error: Installed (but unpackaged) file(s) found: [ 150s] /usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv [ 150s] [ 150s] [ 150s] RPM build errors: [ 150s] Installed (but unpackaged) file(s) found: [ 150s] /usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv [ 150s] ### VM INTERACTION START ### [ 153s] [ 134.957824] sysrq: Power Off [ 153s] [ 134.959758] reboot: Power down [ 153s] ### VM INTERACTION END ### [ 153s] [ 153s] obs-arm-9 failed "build osmo-remsim.spec" at Wed Jun 23 01:11:30 UTC 2021. [ 153s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Jun 23 01:15:27 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 01:15:27 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <60d28b3f3859d_299d2ae14076c5f42563e4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 351s] * debian/tmp/etc/osmocom/bankd_pcsc_slots.csv [ 351s] with: [ 351s] * usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv [ 351s] in a file in debian/ or as argument to one of the dh_* tools called from debian/rules. [ 351s] (Note it is possible the paths are not used verbatim but instead directories [ 351s] containing or globs matching them are used instead) [ 351s] [ 351s] Alternatively, add the missing file to debian/not-installed if it cannot and should not [ 351s] be used. [ 351s] [ 351s] The following debhelper tools have reported what they installed (with files per package) [ 351s] * dh_install: libifd-osmo-remsim-client0 (2), libosmo-rspro-dev (5), libosmo-rspro1 (2), osmo-remsim-bankd (4), osmo-remsim-client-shell (1), osmo-remsim-client-st2 (7), osmo-remsim-doc (1), osmo-remsim-server (2) [ 351s] If the missing files are installed by another tool, please file a bug against it. [ 351s] When filing the report, if the tool is not part of debhelper itself, please reference the [ 351s] "Logging helpers and dh_missing" section from the "PROGRAMMING" guide for debhelper (10.6.3+). [ 351s] (in the debhelper package: /usr/share/doc/debhelper/PROGRAMMING.gz) [ 351s] Be sure to test with dpkg-buildpackage -A/-B as the results may vary when only a subset is built [ 351s] If the omission is intentional or no other helper can take care of this consider adding the [ 351s] paths to debian/not-installed. [ 351s] dh_install: error: dh_missing --fail-missing returned exit code 25 [ 351s] make: *** [debian/rules:14: binary] Error 25 [ 351s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 351s] ### VM INTERACTION START ### [ 352s] Powering off. [ 352s] [ 337.249159] reboot: Power down [ 352s] ### VM INTERACTION END ### [ 352s] [ 352s] sheep87 failed "build osmo-remsim_0.2.2.110.90b4.202106230026.dsc" at Wed Jun 23 01:15:12 UTC 2021. [ 352s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Jun 23 01:16:18 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 01:16:18 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in Debian_10/x86_64 In-Reply-To: References: Message-ID: <60d28b7a5c71a_299d2ae14076c5f425669c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/Debian_10/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in Debian_10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 367s] /bin/mkdir -p '/usr/src/packages/BUILD/debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig' [ 367s] /usr/bin/install -c -m 644 libosmo-rspro.pc '/usr/src/packages/BUILD/debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig' [ 367s] make[4]: Leaving directory '/usr/src/packages/BUILD' [ 367s] make[3]: Leaving directory '/usr/src/packages/BUILD' [ 367s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 367s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 367s] dh_install -O--fail-missing [ 367s] dh_install: Please use dh_missing --list-missing/--fail-missing instead [ 367s] dh_install: This feature will be removed in compat 12. [ 368s] dh_missing: usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv exists in debian/tmp but is not installed to anywhere [ 368s] dh_missing: missing files, aborting [ 368s] The following debhelper tools have reported what they installed (with files per package) [ 368s] * dh_install: libifd-osmo-remsim-client0 (2), libosmo-rspro-dev (5), libosmo-rspro1 (2), osmo-remsim-bankd (4), osmo-remsim-client-shell (1), osmo-remsim-client-st2 (7), osmo-remsim-doc (1), osmo-remsim-server (2) [ 368s] If the missing files are installed by another tool, please file a bug against it. [ 368s] When filing the report, if the tool is not part of debhelper itself, please reference the [ 368s] "Logging helpers and dh_missing" section from the "PROGRAMMING" guide for debhelper (10.6.3+). [ 368s] (in the debhelper package: /usr/share/doc/debhelper/PROGRAMMING.gz) [ 368s] Be sure to test with dpkg-buildpackage -A/-B as the results may vary when only a subset is built [ 368s] For a short-term work-around: Add the files to debian/not-installed [ 368s] dh_install: dh_missing --fail-missing returned exit code 2 [ 368s] make: *** [debian/rules:14: binary] Error 25 [ 368s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 368s] ### VM INTERACTION START ### [ 371s] [ 352.840916] sysrq: Power Off [ 371s] [ 352.849640] reboot: Power down [ 371s] ### VM INTERACTION END ### [ 371s] [ 371s] lamb08 failed "build osmo-remsim_0.2.2.110.90b4.202106230026.dsc" at Wed Jun 23 01:16:02 UTC 2021. [ 371s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Jun 23 01:18:00 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 01:18:00 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <60d28bd52ef45_299d2ae14076c5f425758@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 282s] * debian/tmp/etc/osmocom/bankd_pcsc_slots.csv [ 282s] with: [ 282s] * usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv [ 282s] in a file in debian/ or as argument to one of the dh_* tools called from debian/rules. [ 282s] (Note it is possible the paths are not used verbatim but instead directories [ 282s] containing or globs matching them are used instead) [ 282s] [ 282s] Alternatively, add the missing file to debian/not-installed if it cannot and should not [ 282s] be used. [ 282s] [ 282s] The following debhelper tools have reported what they installed (with files per package) [ 282s] * dh_install: libifd-osmo-remsim-client0 (2), libosmo-rspro-dev (5), libosmo-rspro1 (2), osmo-remsim-bankd (4), osmo-remsim-client-shell (1), osmo-remsim-client-st2 (7), osmo-remsim-doc (1), osmo-remsim-server (2) [ 282s] If the missing files are installed by another tool, please file a bug against it. [ 282s] When filing the report, if the tool is not part of debhelper itself, please reference the [ 282s] "Logging helpers and dh_missing" section from the "PROGRAMMING" guide for debhelper (10.6.3+). [ 282s] (in the debhelper package: /usr/share/doc/debhelper/PROGRAMMING.gz) [ 282s] Be sure to test with dpkg-buildpackage -A/-B as the results may vary when only a subset is built [ 282s] If the omission is intentional or no other helper can take care of this consider adding the [ 282s] paths to debian/not-installed. [ 282s] dh_install: error: dh_missing --fail-missing returned exit code 25 [ 282s] make: *** [debian/rules:14: binary] Error 25 [ 282s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 282s] ### VM INTERACTION START ### [ 283s] Powering off. [ 283s] [ 271.492058] reboot: Power down [ 283s] ### VM INTERACTION END ### [ 283s] [ 283s] goat01 failed "build osmo-remsim_0.2.2.110.90b4.202106230026.dsc" at Wed Jun 23 01:17:46 UTC 2021. [ 283s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Jun 23 01:21:24 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 01:21:24 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <60d28ca313d27_299d2ae14076c5f42581fe@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 544s] /usr/bin/install -c -m 644 libosmo-rspro.pc '/usr/src/packages/BUILD/debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig' [ 544s] make[4]: Leaving directory '/usr/src/packages/BUILD' [ 544s] make[3]: Leaving directory '/usr/src/packages/BUILD' [ 544s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 544s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 544s] dh_install -O--fail-missing [ 544s] dh_install: Please use dh_missing --list-missing/--fail-missing instead [ 544s] dh_install: This feature will be removed in compat 12. [ 544s] dh_missing: usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv exists in debian/tmp but is not installed to anywhere [ 544s] dh_missing: missing files, aborting [ 544s] The following debhelper tools have reported what they installed (with files per package) [ 544s] * dh_install: libifd-osmo-remsim-client0 (2), libosmo-rspro-dev (5), libosmo-rspro1 (2), osmo-remsim-bankd (4), osmo-remsim-client-shell (1), osmo-remsim-client-st2 (7), osmo-remsim-doc (1), osmo-remsim-server (2) [ 544s] If the missing files are installed by another tool, please file a bug against it. [ 544s] When filing the report, if the tool is not part of debhelper itself, please reference the [ 544s] "Logging helpers and dh_missing" section from the "PROGRAMMING" guide for debhelper (10.6.3+). [ 544s] (in the debhelper package: /usr/share/doc/debhelper/PROGRAMMING.gz) [ 544s] Be sure to test with dpkg-buildpackage -A/-B as the results may vary when only a subset is built [ 544s] For a short-term work-around: Add the files to debian/not-installed [ 544s] dh_install: dh_missing --fail-missing returned exit code 2 [ 544s] debian/rules:14: recipe for target 'binary' failed [ 544s] make: *** [binary] Error 25 [ 544s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 544s] ### VM INTERACTION START ### [ 547s] [ 491.084506] sysrq: Power Off [ 547s] [ 491.090883] reboot: Power down [ 548s] ### VM INTERACTION END ### [ 548s] [ 548s] lamb60 failed "build osmo-remsim_0.2.2.110.90b4.202106230026.dsc" at Wed Jun 23 01:21:21 UTC 2021. [ 548s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Jun 23 01:23:06 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 01:23:06 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in CentOS_8/aarch64 In-Reply-To: References: Message-ID: <60d28d00ddb7e_299d2ae14076c5f42582b3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/CentOS_8/aarch64 Package network:osmocom:nightly/osmo-remsim failed to build in CentOS_8/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 229s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 229s] Recommends: osmo-remsim-debugsource(aarch-64) = 0.2.2.110.90b4.202106230026-1.1 [ 229s] Processing files: osmo-remsim-client-st2-debuginfo-0.2.2.110.90b4.202106230026-1.1.aarch64 [ 229s] Provides: debuginfo(build-id) = adca26bc0b071f1568310af1a95264b0227045ef osmo-remsim-client-st2-debuginfo = 0.2.2.110.90b4.202106230026-1.1 osmo-remsim-client-st2-debuginfo(aarch-64) = 0.2.2.110.90b4.202106230026-1.1 [ 229s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 229s] Recommends: osmo-remsim-debugsource(aarch-64) = 0.2.2.110.90b4.202106230026-1.1 [ 229s] Processing files: osmo-remsim-client-shell-debuginfo-0.2.2.110.90b4.202106230026-1.1.aarch64 [ 229s] Provides: debuginfo(build-id) = e1a0799f124660d031589c4c8436cb59d0500256 osmo-remsim-client-shell-debuginfo = 0.2.2.110.90b4.202106230026-1.1 osmo-remsim-client-shell-debuginfo(aarch-64) = 0.2.2.110.90b4.202106230026-1.1 [ 229s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 229s] Recommends: osmo-remsim-debugsource(aarch-64) = 0.2.2.110.90b4.202106230026-1.1 [ 229s] Processing files: libifd-osmo-remsim-client0-debuginfo-0.2.2.110.90b4.202106230026-1.1.aarch64 [ 229s] Provides: debuginfo(build-id) = 9c8ab86b6bbd288a22f3d4d0c359aad75f420444 libifd-osmo-remsim-client0-debuginfo = 0.2.2.110.90b4.202106230026-1.1 libifd-osmo-remsim-client0-debuginfo(aarch-64) = 0.2.2.110.90b4.202106230026-1.1 [ 229s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 229s] Recommends: osmo-remsim-debugsource(aarch-64) = 0.2.2.110.90b4.202106230026-1.1 [ 229s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.110.90b4.202106230026-1.1.aarch64 [ 229s] error: Installed (but unpackaged) file(s) found: [ 229s] /usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv [ 229s] [ 229s] [ 229s] RPM build errors: [ 229s] Installed (but unpackaged) file(s) found: [ 229s] /usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv [ 229s] ### VM INTERACTION START ### [ 230s] Powering off. [ 230s] [ 206.855801] reboot: Power down [ 231s] ### VM INTERACTION END ### [ 231s] [ 231s] obs-arm-9 failed "build osmo-remsim.spec" at Wed Jun 23 01:22:49 UTC 2021. [ 231s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Jun 23 01:26:30 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 01:26:30 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <60d28dd379c88_299d2ae14076c5f4259228@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 1020s] /bin/mkdir -p '/usr/src/packages/BUILD/debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig' [ 1020s] /usr/bin/install -c -m 644 libosmo-rspro.pc '/usr/src/packages/BUILD/debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig' [ 1020s] make[4]: Leaving directory '/usr/src/packages/BUILD' [ 1020s] make[3]: Leaving directory '/usr/src/packages/BUILD' [ 1020s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 1020s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 1020s] dh_install -O--fail-missing [ 1020s] dh_install: warning: Please use dh_missing --list-missing/--fail-missing instead [ 1020s] dh_install: warning: This feature will be removed in compat 12. [ 1021s] dh_missing: warning: usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv exists in debian/tmp but is not installed to anywhere [ 1021s] dh_missing: error: missing files, aborting [ 1021s] The following debhelper tools have reported what they installed (with files per package) [ 1021s] * dh_install: libifd-osmo-remsim-client0 (2), libosmo-rspro-dev (5), libosmo-rspro1 (2), osmo-remsim-bankd (4), osmo-remsim-client-shell (1), osmo-remsim-client-st2 (7), osmo-remsim-doc (1), osmo-remsim-server (2) [ 1021s] If the missing files are installed by another tool, please file a bug against it. [ 1021s] When filing the report, if the tool is not part of debhelper itself, please reference the [ 1021s] "Logging helpers and dh_missing" section from the "PROGRAMMING" guide for debhelper (10.6.3+). [ 1021s] (in the debhelper package: /usr/share/doc/debhelper/PROGRAMMING.gz) [ 1021s] Be sure to test with dpkg-buildpackage -A/-B as the results may vary when only a subset is built [ 1021s] For a short-term work-around: Add the files to debian/not-installed [ 1021s] dh_install: error: dh_missing --fail-missing returned exit code 25 [ 1021s] make: *** [debian/rules:14: binary] Error 25 [ 1021s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 1021s] ### VM INTERACTION START ### [ 1024s] [ 963.153423] sysrq: Power Off [ 1024s] [ 963.211765] reboot: Power down [ 1024s] ### VM INTERACTION END ### [ 1024s] [ 1024s] cloud120 failed "build osmo-remsim_0.2.2.110.90b4.202106230026.dsc" at Wed Jun 23 01:26:25 UTC 2021. [ 1024s] -- 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 Jun 23 01:57:06 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Jun 2021 01:57:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: inter-BSC 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/+/24748 ) Change subject: msc: inter-BSC HO test: use CGI cell ID, not LAI ...................................................................... msc: inter-BSC HO test: use CGI cell ID, not LAI In the inter-BSC 'Handover Required', do not send a LAI cell identifier, but a CGI one. 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-BSC 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. This prepares for adding verification of the ciphering in inter-BSC handover, in turn a preparation for adding tests of A5/4. Related: OS#5188 SYS#5324 Change-Id: I48276acf923626db171683dfa03ef43614a71380 --- M msc/MSC_Tests.ttcn 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/48/24748/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index b791782..e37bc52 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -5721,7 +5721,7 @@ f_vty_transceive(MSCVTY, "configure terminal"); f_vty_transceive(MSCVTY, "msc"); f_vty_transceive(MSCVTY, "neighbor a cgi 262 42 23 42 ran-pc 0.24.1"); - f_vty_transceive(MSCVTY, "neighbor a lac 5 ran-pc 0.24.2"); + f_vty_transceive(MSCVTY, "neighbor a cgi 023 42 5 6 ran-pc 0.24.2"); f_vty_transceive(MSCVTY, "exit"); f_vty_transceive(MSCVTY, "exit"); @@ -5736,7 +5736,7 @@ var BssmapCause cause := enum2int(cause_val); var template BSSMAP_FIELD_CellIdentificationList cil; - cil := { cIl_LAI := { ts_BSSMAP_CI_LAI('023'H, '42'H, 5) } }; + cil := { cIl_CGI := { ts_BSSMAP_CI_CGI('023'H, '42'H, 5, 6) } }; /* old BSS sends Handover Required */ BSSAP.send(ts_BSSMAP_HandoverRequired(cause, cil)); @@ -5841,7 +5841,7 @@ var BssmapCause cause := enum2int(cause_val); var template BSSMAP_FIELD_CellIdentificationList cil; - cil := { cIl_LAI := { ts_BSSMAP_CI_LAI('262'H, '42'H, 23) } }; + cil := { cIl_CGI := { ts_BSSMAP_CI_CGI('262'H, '42'H, 23, 42) } }; /* old BSS sends Handover Required */ BSSAP.send(ts_BSSMAP_HandoverRequired(cause, cil)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24748 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I48276acf923626db171683dfa03ef43614a71380 Gerrit-Change-Number: 24748 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Wed Jun 23 02:10:25 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 02:10:25 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <60d298218365b_299d2ae14076c5f427269e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/Debian_9.0/aarch64 Package network:osmocom:nightly/osmo-remsim failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 498s] make[4]: Entering directory '/usr/src/packages/BUILD/doc' [ 498s] make[5]: Entering directory '/usr/src/packages/BUILD/doc' [ 498s] make[5]: Nothing to be done for 'install-exec-am'. [ 498s] make[5]: Nothing to be done for 'install-data-am'. [ 498s] make[5]: Leaving directory '/usr/src/packages/BUILD/doc' [ 498s] make[4]: Leaving directory '/usr/src/packages/BUILD/doc' [ 498s] make[3]: Leaving directory '/usr/src/packages/BUILD/doc' [ 498s] make[3]: Entering directory '/usr/src/packages/BUILD' [ 498s] make[4]: Entering directory '/usr/src/packages/BUILD' [ 498s] make[4]: Nothing to be done for 'install-exec-am'. [ 498s] /bin/mkdir -p '/usr/src/packages/BUILD/debian/tmp/usr/lib/aarch64-linux-gnu/pkgconfig' [ 498s] /usr/bin/install -c -m 644 libosmo-rspro.pc '/usr/src/packages/BUILD/debian/tmp/usr/lib/aarch64-linux-gnu/pkgconfig' [ 498s] make[4]: Leaving directory '/usr/src/packages/BUILD' [ 498s] make[3]: Leaving directory '/usr/src/packages/BUILD' [ 498s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 498s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 498s] dh_install -O--fail-missing [ 499s] dh_install: usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv exists in debian/tmp but is not installed to anywhere [ 499s] dh_install: missing files, aborting [ 499s] debian/rules:14: recipe for target 'binary' failed [ 499s] make: *** [binary] Error 2 [ 499s] dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 [ 499s] ### VM INTERACTION START ### [ 502s] [ 483.834592] sysrq: Power Off [ 502s] [ 483.837984] reboot: Power down [ 502s] ### VM INTERACTION END ### [ 502s] [ 502s] obs-arm-9 failed "build osmo-remsim_0.2.2.110.90b4.202106230026.dsc" at Wed Jun 23 02:10:14 UTC 2021. [ 502s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Jun 23 02:13:15 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 02:13:15 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in Debian_10/aarch64 In-Reply-To: References: Message-ID: <60d298d3f3eb6_299d2ae14076c5f4273559@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/Debian_10/aarch64 Package network:osmocom:nightly/osmo-remsim failed to build in Debian_10/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 522s] /bin/mkdir -p '/usr/src/packages/BUILD/debian/tmp/usr/lib/aarch64-linux-gnu/pkgconfig' [ 522s] /usr/bin/install -c -m 644 libosmo-rspro.pc '/usr/src/packages/BUILD/debian/tmp/usr/lib/aarch64-linux-gnu/pkgconfig' [ 522s] make[4]: Leaving directory '/usr/src/packages/BUILD' [ 522s] make[3]: Leaving directory '/usr/src/packages/BUILD' [ 522s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 522s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 522s] dh_install -O--fail-missing [ 522s] dh_install: Please use dh_missing --list-missing/--fail-missing instead [ 522s] dh_install: This feature will be removed in compat 12. [ 523s] dh_missing: usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv exists in debian/tmp but is not installed to anywhere [ 523s] dh_missing: missing files, aborting [ 523s] The following debhelper tools have reported what they installed (with files per package) [ 523s] * dh_install: libifd-osmo-remsim-client0 (2), libosmo-rspro-dev (5), libosmo-rspro1 (2), osmo-remsim-bankd (4), osmo-remsim-client-shell (1), osmo-remsim-client-st2 (7), osmo-remsim-doc (1), osmo-remsim-server (2) [ 523s] If the missing files are installed by another tool, please file a bug against it. [ 523s] When filing the report, if the tool is not part of debhelper itself, please reference the [ 523s] "Logging helpers and dh_missing" section from the "PROGRAMMING" guide for debhelper (10.6.3+). [ 523s] (in the debhelper package: /usr/share/doc/debhelper/PROGRAMMING.gz) [ 523s] Be sure to test with dpkg-buildpackage -A/-B as the results may vary when only a subset is built [ 523s] For a short-term work-around: Add the files to debian/not-installed [ 523s] dh_install: dh_missing --fail-missing returned exit code 2 [ 523s] make: *** [debian/rules:14: binary] Error 25 [ 523s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 523s] ### VM INTERACTION START ### [ 526s] [ 502.620373] sysrq: Power Off [ 526s] [ 502.661482] reboot: Power down [ 526s] ### VM INTERACTION END ### [ 526s] [ 526s] obs-arm-9 failed "build osmo-remsim_0.2.2.110.90b4.202106230026.dsc" at Wed Jun 23 02:13:04 UTC 2021. [ 526s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Jun 23 03:20:39 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 03:20:39 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in openSUSE_Leap_15.1_ARM/armv7l In-Reply-To: References: Message-ID: <60d2a888aaa5c_299d2ae14076c5f42813a9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/openSUSE_Leap_15.1_ARM/armv7l Package network:osmocom:nightly/osmo-remsim failed to build in openSUSE_Leap_15.1_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 238s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 238s] Requires(pre): /bin/sh [ 238s] Requires(post): /bin/sh [ 238s] Requires(preun): /bin/sh [ 238s] Requires(postun): /bin/sh [ 238s] Requires: ld-linux-armhf.so.3 ld-linux-armhf.so.3(GLIBC_2.4) libc.so.6 libc.so.6(GLIBC_2.4) libgcc_s.so.1 libgcc_s.so.1(GCC_3.5) libosmo-rspro.so.1 libosmo-simtrace2.so.0 libosmoabis.so.10 libosmocore.so.17 libosmogsm.so.16 libosmogsm.so.16(LIBOSMOGSM_1.0) libosmousb.so.0 libpthread.so.0 libpthread.so.0(GLIBC_2.4) libtalloc.so.2 libtalloc.so.2(TALLOC_2.0.2) libusb-1.0.so.0 [ 238s] Processing files: osmo-remsim-client-shell-0.2.2.110.90b4.202106230026-lp151.1.1.armv7hl [ 238s] Provides: osmo-remsim-client-shell = 0.2.2.110.90b4.202106230026-lp151.1.1 osmo-remsim-client-shell(armv7hl-32) = 0.2.2.110.90b4.202106230026-lp151.1.1 [ 238s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 238s] Requires: ld-linux-armhf.so.3 ld-linux-armhf.so.3(GLIBC_2.4) libc.so.6 libc.so.6(GLIBC_2.4) libgcc_s.so.1 libgcc_s.so.1(GCC_3.5) libosmo-rspro.so.1 libosmoabis.so.10 libosmocore.so.17 libosmogsm.so.16 libosmogsm.so.16(LIBOSMOGSM_1.0) libpthread.so.0 libpthread.so.0(GLIBC_2.4) libtalloc.so.2 libtalloc.so.2(TALLOC_2.0.2) [ 238s] Processing files: libifd-osmo-remsim-client0-0.2.2.110.90b4.202106230026-lp151.1.1.armv7hl [ 238s] Provides: config(libifd-osmo-remsim-client0) = 0.2.2.110.90b4.202106230026-lp151.1.1 libifd-osmo-remsim-client0 = 0.2.2.110.90b4.202106230026-lp151.1.1 libifd-osmo-remsim-client0(armv7hl-32) = 0.2.2.110.90b4.202106230026-lp151.1.1 libifd_remsim_client.so.0 [ 238s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 238s] Requires: ld-linux-armhf.so.3 ld-linux-armhf.so.3(GLIBC_2.4) libc.so.6 libc.so.6(GLIBC_2.4) libgcc_s.so.1 libgcc_s.so.1(GCC_3.5) libosmo-rspro.so.1 libosmoabis.so.10 libosmocore.so.17 libosmogsm.so.16 libosmogsm.so.16(LIBOSMOGSM_1.0) libpthread.so.0 libpthread.so.0(GLIBC_2.4) libtalloc.so.2 libtalloc.so.2(TALLOC_2.0.2) [ 238s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.110.90b4.202106230026-lp151.1.1.arm [ 238s] error: Installed (but unpackaged) file(s) found: [ 238s] /usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv [ 238s] [ 238s] [ 238s] RPM build errors: [ 238s] Installed (but unpackaged) file(s) found: [ 238s] /usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv [ 238s] ### VM INTERACTION START ### [ 241s] [ 209.109391] sysrq: SysRq : Power Off [ 241s] [ 209.118707] reboot: Power down [ 241s] ### VM INTERACTION END ### [ 241s] [ 241s] armbuild13 failed "build osmo-remsim.spec" at Wed Jun 23 03:20:21 UTC 2021. [ 241s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Jun 23 03:28:20 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 03:28:20 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <60d2aa6ae96a9_299d2ae14076c5f42873a9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/osmo-remsim failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 161s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 161s] Requires(pre): /bin/sh [ 161s] Requires(post): /bin/sh [ 161s] Requires(preun): /bin/sh [ 161s] Requires(postun): /bin/sh [ 161s] Requires: ld-linux-armhf.so.3 ld-linux-armhf.so.3(GLIBC_2.4) libc.so.6 libc.so.6(GLIBC_2.4) libgcc_s.so.1 libgcc_s.so.1(GCC_3.5) libosmo-rspro.so.1 libosmo-simtrace2.so.0 libosmoabis.so.10 libosmocore.so.17 libosmogsm.so.16 libosmogsm.so.16(LIBOSMOGSM_1.0) libosmousb.so.0 libtalloc.so.2 libtalloc.so.2(TALLOC_2.0.2) libusb-1.0.so.0 [ 161s] Processing files: osmo-remsim-client-shell-0.2.2.110.90b4.202106230026-1.1.armv7hl [ 161s] Provides: osmo-remsim-client-shell = 0.2.2.110.90b4.202106230026-1.1 osmo-remsim-client-shell(armv7hl-32) = 0.2.2.110.90b4.202106230026-1.1 [ 161s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 161s] Requires: ld-linux-armhf.so.3 ld-linux-armhf.so.3(GLIBC_2.4) libc.so.6 libc.so.6(GLIBC_2.4) libgcc_s.so.1 libgcc_s.so.1(GCC_3.5) libosmo-rspro.so.1 libosmoabis.so.10 libosmocore.so.17 libosmogsm.so.16 libosmogsm.so.16(LIBOSMOGSM_1.0) libtalloc.so.2 libtalloc.so.2(TALLOC_2.0.2) [ 161s] Processing files: libifd-osmo-remsim-client0-0.2.2.110.90b4.202106230026-1.1.armv7hl [ 161s] Provides: config(libifd-osmo-remsim-client0) = 0.2.2.110.90b4.202106230026-1.1 libifd-osmo-remsim-client0 = 0.2.2.110.90b4.202106230026-1.1 libifd-osmo-remsim-client0(armv7hl-32) = 0.2.2.110.90b4.202106230026-1.1 libifd_remsim_client.so.0 [ 161s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 161s] Requires: ld-linux-armhf.so.3 ld-linux-armhf.so.3(GLIBC_2.4) libc.so.6 libc.so.6(GLIBC_2.4) libgcc_s.so.1 libgcc_s.so.1(GCC_3.5) libosmo-rspro.so.1 libosmoabis.so.10 libosmocore.so.17 libosmogsm.so.16 libosmogsm.so.16(LIBOSMOGSM_1.0) libpthread.so.0 libpthread.so.0(GLIBC_2.4) libtalloc.so.2 libtalloc.so.2(TALLOC_2.0.2) [ 161s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.110.90b4.202106230026-1.1.arm [ 161s] error: Installed (but unpackaged) file(s) found: [ 161s] /usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv [ 161s] [ 161s] [ 161s] RPM build errors: [ 161s] Installed (but unpackaged) file(s) found: [ 161s] /usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv [ 161s] ### VM INTERACTION START ### [ 164s] [ 149.950180] sysrq: Power Off [ 164s] [ 149.997428] reboot: Power down [ 164s] ### VM INTERACTION END ### [ 164s] [ 164s] armbuild22 failed "build osmo-remsim.spec" at Wed Jun 23 03:28:05 UTC 2021. [ 164s] -- 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 Jun 23 09:37:32 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 23 Jun 2021 09:37:32 +0000 Subject: Change in osmo-remsim[master]: distro packaging: fix missing path for example References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/24749 ) Change subject: distro packaging: fix missing path for example ...................................................................... distro packaging: fix missing path for example The boilerplate code for installing configs used in other Osmocom projects doesn't only install the example configs to /etc/osmocom, but also to /usr/share/doc/. Add the missing path. Fixes: 905bc4d2 ("doc/examples: install bankd_pcsc_slots.csv") Change-Id: I95e4aa34d54bb485ff7ebb5e44d9c1db92ad8fe0 --- M contrib/osmo-remsim.spec.in M debian/osmo-remsim-bankd.install 2 files changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/49/24749/1 diff --git a/contrib/osmo-remsim.spec.in b/contrib/osmo-remsim.spec.in index 6d44b82..df98a1f 100644 --- a/contrib/osmo-remsim.spec.in +++ b/contrib/osmo-remsim.spec.in @@ -195,6 +195,7 @@ %{_unitdir}/osmo-remsim-bankd.service %config(noreplace) %{_sysconfdir}/default/osmo-remsim-bankd %config(noreplace) %{_sysconfdir}/osmocom/bankd_pcsc_slots.csv +%{_docdir}/osmo-remsim/examples/bankd_pcsc_slots.csv %files -n osmo-remsim-client-shell %{_bindir}/osmo-remsim-client-shell diff --git a/debian/osmo-remsim-bankd.install b/debian/osmo-remsim-bankd.install index a4afa70..548490c 100644 --- a/debian/osmo-remsim-bankd.install +++ b/debian/osmo-remsim-bankd.install @@ -2,3 +2,4 @@ lib/systemd/system/osmo-remsim-bankd.service etc/default/osmo-remsim-bankd etc/osmocom/bankd_pcsc_slots.csv +usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/24749 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I95e4aa34d54bb485ff7ebb5e44d9c1db92ad8fe0 Gerrit-Change-Number: 24749 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 Jun 23 09:37:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Jun 2021 09:37:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: inter-BSC HO test: use CGI cell ID, not LAI In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24748 ) Change subject: msc: inter-BSC HO test: use CGI cell ID, not LAI ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24748 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I48276acf923626db171683dfa03ef43614a71380 Gerrit-Change-Number: 24748 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Jun 2021 09:37: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 Jun 23 09:38:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Jun 2021 09:38:39 +0000 Subject: Change in osmo-remsim[master]: distro packaging: fix missing path for example In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/24749 ) Change subject: distro packaging: fix missing path for example ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/24749 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I95e4aa34d54bb485ff7ebb5e44d9c1db92ad8fe0 Gerrit-Change-Number: 24749 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 23 Jun 2021 09: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 Jun 23 09:41:24 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 23 Jun 2021 09:41:24 +0000 Subject: Change in osmo-remsim[master]: distro packaging: fix missing path for example In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/24749 ) Change subject: distro packaging: fix missing path for example ...................................................................... Patch Set 1: Code-Review+2 Verified that rpm and deb build in my own OBS namespace: * https://build.opensuse.org/package/live_build_log/home:osmith42/osmo-remsim/Debian_10/i586 * https://build.opensuse.org/package/live_build_log/home:osmith42/osmo-remsim/CentOS_8/aarch64 This is a trivial fixup -> merging. -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/24749 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I95e4aa34d54bb485ff7ebb5e44d9c1db92ad8fe0 Gerrit-Change-Number: 24749 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Jun 2021 09:41: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 Jun 23 09:41:45 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 23 Jun 2021 09:41:45 +0000 Subject: Change in osmo-remsim[master]: distro packaging: fix missing path for example In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/24749 ) Change subject: distro packaging: fix missing path for example ...................................................................... distro packaging: fix missing path for example The boilerplate code for installing configs used in other Osmocom projects doesn't only install the example configs to /etc/osmocom, but also to /usr/share/doc/. Add the missing path. Fixes: 905bc4d2 ("doc/examples: install bankd_pcsc_slots.csv") Change-Id: I95e4aa34d54bb485ff7ebb5e44d9c1db92ad8fe0 --- M contrib/osmo-remsim.spec.in M debian/osmo-remsim-bankd.install 2 files changed, 2 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/contrib/osmo-remsim.spec.in b/contrib/osmo-remsim.spec.in index 6d44b82..df98a1f 100644 --- a/contrib/osmo-remsim.spec.in +++ b/contrib/osmo-remsim.spec.in @@ -195,6 +195,7 @@ %{_unitdir}/osmo-remsim-bankd.service %config(noreplace) %{_sysconfdir}/default/osmo-remsim-bankd %config(noreplace) %{_sysconfdir}/osmocom/bankd_pcsc_slots.csv +%{_docdir}/osmo-remsim/examples/bankd_pcsc_slots.csv %files -n osmo-remsim-client-shell %{_bindir}/osmo-remsim-client-shell diff --git a/debian/osmo-remsim-bankd.install b/debian/osmo-remsim-bankd.install index a4afa70..548490c 100644 --- a/debian/osmo-remsim-bankd.install +++ b/debian/osmo-remsim-bankd.install @@ -2,3 +2,4 @@ lib/systemd/system/osmo-remsim-bankd.service etc/default/osmo-remsim-bankd etc/osmocom/bankd_pcsc_slots.csv +usr/share/doc/osmo-remsim/examples/bankd_pcsc_slots.csv -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/24749 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I95e4aa34d54bb485ff7ebb5e44d9c1db92ad8fe0 Gerrit-Change-Number: 24749 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 noreply at opensuse.org Wed Jun 23 09:43:38 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 09:43:38 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in openSUSE_Leap_15.1/x86_64 In-Reply-To: References: Message-ID: <60d3024cabb22_299d2ae14076c5f436473f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/openSUSE_Leap_15.1/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in openSUSE_Leap_15.1/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 43s] Requires(post): /sbin/ldconfig [ 43s] Requires(postun): /sbin/ldconfig [ 43s] Requires: ld-linux-x86-64.so.2()(64bit) ld-linux-x86-64.so.2(GLIBC_2.3)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libosmocore.so.17()(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) [ 43s] Processing files: libosmo-rspro-devel-0.2.2.111.d5c9d.202106230026-lp151.1.1.x86_64 [ 43s] Provides: libosmo-rspro-devel = 0.2.2.111.d5c9d.202106230026-lp151.1.1 libosmo-rspro-devel(x86-64) = 0.2.2.111.d5c9d.202106230026-lp151.1.1 pkgconfig(libosmo-rspro) = 0.2.2.111.d5c9d.202106230026 [ 43s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 43s] Requires: /usr/bin/pkg-config [ 43s] Processing files: osmo-remsim-server-0.2.2.111.d5c9d.202106230026-lp151.1.1.x86_64 [ 43s] Provides: osmo-remsim-server = 0.2.2.111.d5c9d.202106230026-lp151.1.1 osmo-remsim-server(x86-64) = 0.2.2.111.d5c9d.202106230026-lp151.1.1 [ 43s] Requires(interp): /bin/sh /bin/sh /bin/sh /bin/sh [ 43s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 43s] Requires(pre): /bin/sh [ 43s] Requires(post): /bin/sh [ 43s] Requires(preun): /bin/sh [ 43s] Requires(postun): /bin/sh [ 43s] Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libc.so.6(GLIBC_2.7)(64bit) libjansson.so.4()(64bit) liborcania.so.2.2()(64bit) libosmo-rspro.so.1()(64bit) libosmoabis.so.10()(64bit) libosmocore.so.17()(64bit) libosmogsm.so.16()(64bit) libosmogsm.so.16(LIBOSMOGSM_1.0)(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) libulfius.so.2.7()(64bit) [ 43s] Processing files: osmo-remsim-bankd-0.2.2.111.d5c9d.202106230026-lp151.1.1.x86_64 [ 43s] error: File not found: /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.111.d5c9d.202106230026-lp151.1.1.x86_64/usr/share/doc/packages/osmo-remsim/examples/bankd_pcsc_slots.csv [ 43s] [ 43s] [ 43s] RPM build errors: [ 43s] File not found: /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.111.d5c9d.202106230026-lp151.1.1.x86_64/usr/share/doc/packages/osmo-remsim/examples/bankd_pcsc_slots.csv [ 43s] ### VM INTERACTION START ### [ 46s] [ 41.555118] sysrq: SysRq : Power Off [ 46s] [ 41.559132] reboot: Power down [ 46s] ### VM INTERACTION END ### [ 46s] [ 46s] goat01 failed "build osmo-remsim.spec" at Wed Jun 23 09:43:33 UTC 2021. [ 46s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Jun 23 09:43:21 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 09:43:21 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <60d3024c5af75_299d2ae14076c5f4364685@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/openSUSE_Tumbleweed/i586 Package network:osmocom:nightly/osmo-remsim failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 38s] Requires(post): /sbin/ldconfig [ 38s] Requires(postun): /sbin/ldconfig [ 38s] Requires: ld-linux.so.2 ld-linux.so.2(GLIBC_2.3) libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.3.4) libc.so.6(GLIBC_2.4) libosmocore.so.17 libpthread.so.0 libpthread.so.0(GLIBC_2.0) libtalloc.so.2 libtalloc.so.2(TALLOC_2.0.2) [ 38s] Processing files: libosmo-rspro-devel-0.2.2.111.d5c9d.202106230026-1.1.i586 [ 38s] Provides: libosmo-rspro-devel = 0.2.2.111.d5c9d.202106230026-1.1 libosmo-rspro-devel(x86-32) = 0.2.2.111.d5c9d.202106230026-1.1 pkgconfig(libosmo-rspro) = 0.2.2.111.d5c9d.202106230026 [ 38s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 38s] Requires: /usr/bin/pkg-config [ 38s] Processing files: osmo-remsim-server-0.2.2.111.d5c9d.202106230026-1.1.i586 [ 38s] Provides: osmo-remsim-server = 0.2.2.111.d5c9d.202106230026-1.1 osmo-remsim-server(x86-32) = 0.2.2.111.d5c9d.202106230026-1.1 [ 38s] Requires(interp): /bin/sh /bin/sh /bin/sh /bin/sh [ 38s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 38s] Requires(pre): /bin/sh [ 38s] Requires(post): /bin/sh [ 38s] Requires(preun): /bin/sh [ 38s] Requires(postun): /bin/sh [ 38s] Requires: libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.3.4) libc.so.6(GLIBC_2.4) libc.so.6(GLIBC_2.7) libjansson.so.4 liborcania.so.2.2 libosmo-rspro.so.1 libosmoabis.so.10 libosmocore.so.17 libosmogsm.so.16 libosmogsm.so.16(LIBOSMOGSM_1.0) libpthread.so.0 libpthread.so.0(GLIBC_2.1) libtalloc.so.2 libtalloc.so.2(TALLOC_2.0.2) libulfius.so.2.7 [ 38s] Processing files: osmo-remsim-bankd-0.2.2.111.d5c9d.202106230026-1.1.i586 [ 38s] error: File not found: /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.111.d5c9d.202106230026-1.1.i386/usr/share/doc/packages/osmo-remsim/examples/bankd_pcsc_slots.csv [ 38s] [ 38s] [ 38s] RPM build errors: [ 38s] File not found: /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.111.d5c9d.202106230026-1.1.i386/usr/share/doc/packages/osmo-remsim/examples/bankd_pcsc_slots.csv [ 38s] ### VM INTERACTION START ### [ 41s] [ 36.962016] sysrq: Power Off [ 41s] [ 36.964889] reboot: Power down [ 41s] ### VM INTERACTION END ### [ 41s] [ 41s] goat15 failed "build osmo-remsim.spec" at Wed Jun 23 09:43:09 UTC 2021. [ 41s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Jun 23 09:43:55 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 09:43:55 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in openSUSE_Leap_15.2/x86_64 In-Reply-To: References: Message-ID: <60d3026b176ae_299d2ae14076c5f436482f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/openSUSE_Leap_15.2/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in openSUSE_Leap_15.2/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 50s] Requires(post): /sbin/ldconfig [ 50s] Requires(postun): /sbin/ldconfig [ 50s] Requires: ld-linux-x86-64.so.2()(64bit) ld-linux-x86-64.so.2(GLIBC_2.3)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libosmocore.so.17()(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) [ 50s] Processing files: libosmo-rspro-devel-0.2.2.111.d5c9d.202106230026-lp152.1.1.x86_64 [ 50s] Provides: libosmo-rspro-devel = 0.2.2.111.d5c9d.202106230026-lp152.1.1 libosmo-rspro-devel(x86-64) = 0.2.2.111.d5c9d.202106230026-lp152.1.1 pkgconfig(libosmo-rspro) = 0.2.2.111.d5c9d.202106230026 [ 50s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 50s] Requires: /usr/bin/pkg-config [ 50s] Processing files: osmo-remsim-server-0.2.2.111.d5c9d.202106230026-lp152.1.1.x86_64 [ 50s] Provides: osmo-remsim-server = 0.2.2.111.d5c9d.202106230026-lp152.1.1 osmo-remsim-server(x86-64) = 0.2.2.111.d5c9d.202106230026-lp152.1.1 [ 50s] Requires(interp): /bin/sh /bin/sh /bin/sh /bin/sh [ 50s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 50s] Requires(pre): /bin/sh [ 50s] Requires(post): /bin/sh [ 50s] Requires(preun): /bin/sh [ 50s] Requires(postun): /bin/sh [ 50s] Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libc.so.6(GLIBC_2.7)(64bit) libjansson.so.4()(64bit) liborcania.so.2.2()(64bit) libosmo-rspro.so.1()(64bit) libosmoabis.so.10()(64bit) libosmocore.so.17()(64bit) libosmogsm.so.16()(64bit) libosmogsm.so.16(LIBOSMOGSM_1.0)(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) libulfius.so.2.7()(64bit) [ 50s] Processing files: osmo-remsim-bankd-0.2.2.111.d5c9d.202106230026-lp152.1.1.x86_64 [ 50s] error: File not found: /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.111.d5c9d.202106230026-lp152.1.1.x86_64/usr/share/doc/packages/osmo-remsim/examples/bankd_pcsc_slots.csv [ 50s] [ 50s] [ 50s] RPM build errors: [ 50s] File not found: /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.111.d5c9d.202106230026-lp152.1.1.x86_64/usr/share/doc/packages/osmo-remsim/examples/bankd_pcsc_slots.csv [ 50s] ### VM INTERACTION START ### [ 53s] [ 47.767139] sysrq: Power Off [ 53s] [ 47.770017] reboot: Power down [ 53s] ### VM INTERACTION END ### [ 53s] [ 53s] goat19 failed "build osmo-remsim.spec" at Wed Jun 23 09:43:41 UTC 2021. [ 53s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Jun 23 09:44:12 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 09:44:12 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <60d3028a35601_299d2ae14076c5f4365022@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 69s] Requires(post): /sbin/ldconfig [ 69s] Requires(postun): /sbin/ldconfig [ 69s] Requires: ld-linux-x86-64.so.2()(64bit) ld-linux-x86-64.so.2(GLIBC_2.3)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libosmocore.so.17()(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) [ 69s] Processing files: libosmo-rspro-devel-0.2.2.111.d5c9d.202106230026-1.1.x86_64 [ 69s] Provides: libosmo-rspro-devel = 0.2.2.111.d5c9d.202106230026-1.1 libosmo-rspro-devel(x86-64) = 0.2.2.111.d5c9d.202106230026-1.1 pkgconfig(libosmo-rspro) = 0.2.2.111.d5c9d.202106230026 [ 69s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 69s] Requires: /usr/bin/pkg-config [ 69s] Processing files: osmo-remsim-server-0.2.2.111.d5c9d.202106230026-1.1.x86_64 [ 69s] Provides: osmo-remsim-server = 0.2.2.111.d5c9d.202106230026-1.1 osmo-remsim-server(x86-64) = 0.2.2.111.d5c9d.202106230026-1.1 [ 69s] Requires(interp): /bin/sh /bin/sh /bin/sh /bin/sh [ 69s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 69s] Requires(pre): /bin/sh [ 69s] Requires(post): /bin/sh [ 69s] Requires(preun): /bin/sh [ 69s] Requires(postun): /bin/sh [ 69s] Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libc.so.6(GLIBC_2.7)(64bit) libjansson.so.4()(64bit) liborcania.so.2.2()(64bit) libosmo-rspro.so.1()(64bit) libosmoabis.so.10()(64bit) libosmocore.so.17()(64bit) libosmogsm.so.16()(64bit) libosmogsm.so.16(LIBOSMOGSM_1.0)(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) libulfius.so.2.7()(64bit) [ 69s] Processing files: osmo-remsim-bankd-0.2.2.111.d5c9d.202106230026-1.1.x86_64 [ 69s] error: File not found: /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.111.d5c9d.202106230026-1.1.x86_64/usr/share/doc/packages/osmo-remsim/examples/bankd_pcsc_slots.csv [ 69s] [ 69s] [ 69s] RPM build errors: [ 69s] File not found: /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.111.d5c9d.202106230026-1.1.x86_64/usr/share/doc/packages/osmo-remsim/examples/bankd_pcsc_slots.csv [ 69s] ### VM INTERACTION START ### [ 72s] [ 64.904899] sysrq: Power Off [ 72s] [ 64.912219] reboot: Power down [ 72s] ### VM INTERACTION END ### [ 72s] [ 72s] lamb55 failed "build osmo-remsim.spec" at Wed Jun 23 09:44:05 UTC 2021. [ 72s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Jun 23 09:44:46 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 09:44:46 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in openSUSE_Leap_15.1_ARM/aarch64 In-Reply-To: References: Message-ID: <60d302a637e77_299d2ae14076c5f43653e5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/openSUSE_Leap_15.1_ARM/aarch64 Package network:osmocom:nightly/osmo-remsim failed to build in openSUSE_Leap_15.1_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 121s] Requires(post): /sbin/ldconfig [ 121s] Requires(postun): /sbin/ldconfig [ 121s] Requires: ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libosmocore.so.17()(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.17)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) [ 121s] Processing files: libosmo-rspro-devel-0.2.2.111.d5c9d.202106230026-lp151.1.1.aarch64 [ 121s] Provides: libosmo-rspro-devel = 0.2.2.111.d5c9d.202106230026-lp151.1.1 libosmo-rspro-devel(aarch-64) = 0.2.2.111.d5c9d.202106230026-lp151.1.1 pkgconfig(libosmo-rspro) = 0.2.2.111.d5c9d.202106230026 [ 121s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 121s] Requires: /usr/bin/pkg-config [ 121s] Processing files: osmo-remsim-server-0.2.2.111.d5c9d.202106230026-lp151.1.1.aarch64 [ 121s] Provides: osmo-remsim-server = 0.2.2.111.d5c9d.202106230026-lp151.1.1 osmo-remsim-server(aarch-64) = 0.2.2.111.d5c9d.202106230026-lp151.1.1 [ 121s] Requires(interp): /bin/sh /bin/sh /bin/sh /bin/sh [ 121s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 121s] Requires(pre): /bin/sh [ 121s] Requires(post): /bin/sh [ 121s] Requires(preun): /bin/sh [ 121s] Requires(postun): /bin/sh [ 121s] Requires: ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libjansson.so.4()(64bit) liborcania.so.2.2()(64bit) libosmo-rspro.so.1()(64bit) libosmoabis.so.10()(64bit) libosmocore.so.17()(64bit) libosmogsm.so.16()(64bit) libosmogsm.so.16(LIBOSMOGSM_1.0)(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.17)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) libulfius.so.2.7()(64bit) [ 121s] Processing files: osmo-remsim-bankd-0.2.2.111.d5c9d.202106230026-lp151.1.1.aarch64 [ 121s] error: File not found: /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.111.d5c9d.202106230026-lp151.1.1.aarch64/usr/share/doc/packages/osmo-remsim/examples/bankd_pcsc_slots.csv [ 121s] [ 121s] [ 121s] RPM build errors: [ 121s] File not found: /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.111.d5c9d.202106230026-lp151.1.1.aarch64/usr/share/doc/packages/osmo-remsim/examples/bankd_pcsc_slots.csv [ 121s] ### VM INTERACTION START ### [ 124s] [ 110.423798] sysrq: SysRq : Power Off [ 124s] [ 110.426024] reboot: Power down [ 124s] ### VM INTERACTION END ### [ 124s] [ 124s] obs-arm-8 failed "build osmo-remsim.spec" at Wed Jun 23 09:44:40 UTC 2021. [ 124s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Jun 23 09:46:28 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 09:46:28 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in openSUSE_Leap_15.1_ARM/armv7l In-Reply-To: References: Message-ID: <60d302ffbfeeb_299d2ae14076c5f43660b5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/openSUSE_Leap_15.1_ARM/armv7l Package network:osmocom:nightly/osmo-remsim failed to build in openSUSE_Leap_15.1_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 228s] Requires(post): /sbin/ldconfig [ 228s] Requires(postun): /sbin/ldconfig [ 228s] Requires: ld-linux-armhf.so.3 ld-linux-armhf.so.3(GLIBC_2.4) libc.so.6 libc.so.6(GLIBC_2.4) libgcc_s.so.1 libgcc_s.so.1(GCC_3.5) libosmocore.so.17 libpthread.so.0 libpthread.so.0(GLIBC_2.4) libtalloc.so.2 libtalloc.so.2(TALLOC_2.0.2) [ 228s] Processing files: libosmo-rspro-devel-0.2.2.111.d5c9d.202106230026-lp151.1.1.armv7hl [ 228s] Provides: libosmo-rspro-devel = 0.2.2.111.d5c9d.202106230026-lp151.1.1 libosmo-rspro-devel(armv7hl-32) = 0.2.2.111.d5c9d.202106230026-lp151.1.1 pkgconfig(libosmo-rspro) = 0.2.2.111.d5c9d.202106230026 [ 228s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 228s] Requires: /usr/bin/pkg-config [ 228s] Processing files: osmo-remsim-server-0.2.2.111.d5c9d.202106230026-lp151.1.1.armv7hl [ 228s] Provides: osmo-remsim-server = 0.2.2.111.d5c9d.202106230026-lp151.1.1 osmo-remsim-server(armv7hl-32) = 0.2.2.111.d5c9d.202106230026-lp151.1.1 [ 228s] Requires(interp): /bin/sh /bin/sh /bin/sh /bin/sh [ 228s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 228s] Requires(pre): /bin/sh [ 228s] Requires(post): /bin/sh [ 228s] Requires(preun): /bin/sh [ 228s] Requires(postun): /bin/sh [ 228s] Requires: ld-linux-armhf.so.3 ld-linux-armhf.so.3(GLIBC_2.4) libc.so.6 libc.so.6(GLIBC_2.4) libc.so.6(GLIBC_2.7) libgcc_s.so.1 libgcc_s.so.1(GCC_3.5) libjansson.so.4 liborcania.so.2.2 libosmo-rspro.so.1 libosmoabis.so.10 libosmocore.so.17 libosmogsm.so.16 libosmogsm.so.16(LIBOSMOGSM_1.0) libpthread.so.0 libpthread.so.0(GLIBC_2.4) libtalloc.so.2 libtalloc.so.2(TALLOC_2.0.2) libulfius.so.2.7 [ 228s] Processing files: osmo-remsim-bankd-0.2.2.111.d5c9d.202106230026-lp151.1.1.armv7hl [ 228s] error: File not found: /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.111.d5c9d.202106230026-lp151.1.1.arm/usr/share/doc/packages/osmo-remsim/examples/bankd_pcsc_slots.csv [ 228s] [ 228s] [ 228s] RPM build errors: [ 228s] File not found: /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.111.d5c9d.202106230026-lp151.1.1.arm/usr/share/doc/packages/osmo-remsim/examples/bankd_pcsc_slots.csv [ 228s] ### VM INTERACTION START ### [ 231s] [ 201.682093] sysrq: SysRq : Power Off [ 231s] [ 201.684127] reboot: Power down [ 232s] ### VM INTERACTION END ### [ 232s] [ 232s] armbuild19 failed "build osmo-remsim.spec" at Wed Jun 23 09:46:18 UTC 2021. [ 232s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Jun 23 09:49:01 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 09:49:01 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60d303987ef2b_299d2ae14076c5f43683ae@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/osmo-remsim failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 368s] Requires(post): /sbin/ldconfig [ 368s] Requires(postun): /sbin/ldconfig [ 368s] Requires: ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libosmocore.so.17()(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.17)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) [ 368s] Processing files: libosmo-rspro-devel-0.2.2.111.d5c9d.202106230026-1.1.aarch64 [ 368s] Provides: libosmo-rspro-devel = 0.2.2.111.d5c9d.202106230026-1.1 libosmo-rspro-devel(aarch-64) = 0.2.2.111.d5c9d.202106230026-1.1 pkgconfig(libosmo-rspro) = 0.2.2.111.d5c9d.202106230026 [ 368s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 368s] Requires: /usr/bin/pkg-config [ 368s] Processing files: osmo-remsim-server-0.2.2.111.d5c9d.202106230026-1.1.aarch64 [ 368s] Provides: osmo-remsim-server = 0.2.2.111.d5c9d.202106230026-1.1 osmo-remsim-server(aarch-64) = 0.2.2.111.d5c9d.202106230026-1.1 [ 368s] Requires(interp): /bin/sh /bin/sh /bin/sh /bin/sh [ 368s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 368s] Requires(pre): /bin/sh [ 368s] Requires(post): /bin/sh [ 368s] Requires(preun): /bin/sh [ 368s] Requires(postun): /bin/sh [ 368s] Requires: ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libjansson.so.4()(64bit) liborcania.so.2.2()(64bit) libosmo-rspro.so.1()(64bit) libosmoabis.so.10()(64bit) libosmocore.so.17()(64bit) libosmogsm.so.16()(64bit) libosmogsm.so.16(LIBOSMOGSM_1.0)(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.17)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) libulfius.so.2.7()(64bit) [ 368s] Processing files: osmo-remsim-bankd-0.2.2.111.d5c9d.202106230026-1.1.aarch64 [ 368s] error: File not found: /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.111.d5c9d.202106230026-1.1.aarch64/usr/share/doc/packages/osmo-remsim/examples/bankd_pcsc_slots.csv [ 368s] [ 368s] [ 368s] RPM build errors: [ 368s] File not found: /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.111.d5c9d.202106230026-1.1.aarch64/usr/share/doc/packages/osmo-remsim/examples/bankd_pcsc_slots.csv [ 368s] ### VM INTERACTION START ### [ 371s] [ 341.220334] sysrq: Power Off [ 371s] [ 341.244560] reboot: Power down [ 372s] ### VM INTERACTION END ### [ 372s] [ 372s] obs-arm-2 failed "build osmo-remsim.spec" at Wed Jun 23 09:48:51 UTC 2021. [ 372s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Jun 23 09:49:18 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 09:49:18 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <60d303b74e169_299d2ae14076c5f436855@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/osmo-remsim failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 344s] Requires(post): /sbin/ldconfig [ 344s] Requires(postun): /sbin/ldconfig [ 344s] Requires: ld-linux-armhf.so.3 ld-linux-armhf.so.3(GLIBC_2.4) libc.so.6 libc.so.6(GLIBC_2.4) libgcc_s.so.1 libgcc_s.so.1(GCC_3.5) libosmocore.so.17 libpthread.so.0 libpthread.so.0(GLIBC_2.4) libtalloc.so.2 libtalloc.so.2(TALLOC_2.0.2) [ 344s] Processing files: libosmo-rspro-devel-0.2.2.111.d5c9d.202106230026-1.1.armv7hl [ 344s] Provides: libosmo-rspro-devel = 0.2.2.111.d5c9d.202106230026-1.1 libosmo-rspro-devel(armv7hl-32) = 0.2.2.111.d5c9d.202106230026-1.1 pkgconfig(libosmo-rspro) = 0.2.2.111.d5c9d.202106230026 [ 344s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 344s] Requires: /usr/bin/pkg-config [ 344s] Processing files: osmo-remsim-server-0.2.2.111.d5c9d.202106230026-1.1.armv7hl [ 344s] Provides: osmo-remsim-server = 0.2.2.111.d5c9d.202106230026-1.1 osmo-remsim-server(armv7hl-32) = 0.2.2.111.d5c9d.202106230026-1.1 [ 344s] Requires(interp): /bin/sh /bin/sh /bin/sh /bin/sh [ 344s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 344s] Requires(pre): /bin/sh [ 344s] Requires(post): /bin/sh [ 344s] Requires(preun): /bin/sh [ 344s] Requires(postun): /bin/sh [ 344s] Requires: ld-linux-armhf.so.3 ld-linux-armhf.so.3(GLIBC_2.4) libc.so.6 libc.so.6(GLIBC_2.4) libc.so.6(GLIBC_2.7) libgcc_s.so.1 libgcc_s.so.1(GCC_3.5) libjansson.so.4 liborcania.so.2.2 libosmo-rspro.so.1 libosmoabis.so.10 libosmocore.so.17 libosmogsm.so.16 libosmogsm.so.16(LIBOSMOGSM_1.0) libpthread.so.0 libpthread.so.0(GLIBC_2.4) libtalloc.so.2 libtalloc.so.2(TALLOC_2.0.2) libulfius.so.2.7 [ 344s] Processing files: osmo-remsim-bankd-0.2.2.111.d5c9d.202106230026-1.1.armv7hl [ 344s] error: File not found: /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.111.d5c9d.202106230026-1.1.arm/usr/share/doc/packages/osmo-remsim/examples/bankd_pcsc_slots.csv [ 344s] [ 344s] [ 344s] RPM build errors: [ 344s] File not found: /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.111.d5c9d.202106230026-1.1.arm/usr/share/doc/packages/osmo-remsim/examples/bankd_pcsc_slots.csv [ 344s] ### VM INTERACTION START ### [ 347s] [ 317.382299] sysrq: Power Off [ 347s] [ 317.384379] reboot: Power down [ 348s] ### VM INTERACTION END ### [ 348s] [ 348s] obs-arm-6 failed "build osmo-remsim.spec" at Wed Jun 23 09:49:17 UTC 2021. [ 348s] -- 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 Jun 23 09:51:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 23 Jun 2021 09:51:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: inter-BSC HO test: use CGI cell ID, not LAI In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24748 ) Change subject: msc: inter-BSC HO test: use CGI cell ID, not LAI ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24748 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I48276acf923626db171683dfa03ef43614a71380 Gerrit-Change-Number: 24748 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Jun 2021 09:51:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 23 11:26:02 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 23 Jun 2021 11:26:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: inter-BSC HO test: use CGI cell ID, not LAI In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24748 ) Change subject: msc: inter-BSC HO test: use CGI cell ID, not LAI ...................................................................... Patch Set 1: Code-Review+2 thanks for the verbose commit message! -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24748 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I48276acf923626db171683dfa03ef43614a71380 Gerrit-Change-Number: 24748 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Jun 2021 11:26: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 Jun 23 11:39:20 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 23 Jun 2021 11:39:20 +0000 Subject: Change in osmo-pcu[master]: pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24747 ) Change subject: pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack ...................................................................... Patch Set 1: Code-Review+1 (3 comments) The patch looks correct to me. I might have overlooked something, but I think it is even possible to get rid of the ms variable completely. https://gerrit.osmocom.org/c/osmo-pcu/+/24747/1/src/pdch.cpp File src/pdch.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/24747/1/src/pdch.cpp at 316 PS1, Line 316: fn, tlli, trx_no(), ts_no); maybe we can get rid of the ms variable completely (see below) if we just do: if (bts_ms_by_tlli(bts(), tlli, GSM_RESERVED_TMSI)) https://gerrit.osmocom.org/c/osmo-pcu/+/24747/1/src/pdch.cpp at 336 PS1, Line 336: /* Gather MS from TBF, since it may be NULL or may have been merged during update_ms */ maybe we can drop this if we use tbf->ms() below (nacc)? https://gerrit.osmocom.org/c/osmo-pcu/+/24747/1/src/pdch.cpp at 413 PS1, Line 413: } We can not just use tbf->ms() here? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24747 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I666ed5d157f42e74956fa49fc9eea85d27e63d44 Gerrit-Change-Number: 24747 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 23 Jun 2021 11:39: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 Wed Jun 23 11:42:38 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 23 Jun 2021 11:42:38 +0000 Subject: Change in osmo-bsc[master]: abis_rsl: fix rsl_rx_ccch_load(): properly check the message length In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24724 ) Change subject: abis_rsl: fix rsl_rx_ccch_load(): properly check the message length ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24724 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I35bf0827ff14e84a755c1aa24a6efc06bc7b9f9b Gerrit-Change-Number: 24724 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Jun 2021 11:42:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 23 11:44:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Jun 2021 11:44:31 +0000 Subject: Change in osmo-pcu[master]: pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24747 ) Change subject: pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/24747/1/src/pdch.cpp File src/pdch.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/24747/1/src/pdch.cpp at 316 PS1, Line 316: fn, tlli, trx_no(), ts_no); > maybe we can get rid of the ms variable completely (see below) if we just do: [?] ms is used lots of times inside the if clause below, so it's not possible to do what you say. https://gerrit.osmocom.org/c/osmo-pcu/+/24747/1/src/pdch.cpp at 336 PS1, Line 336: /* Gather MS from TBF, since it may be NULL or may have been merged during update_ms */ > maybe we can drop this if we use tbf->ms() below (nacc)? Actually I'll do it the other way, remove use of tbf->ms() below. I prefer having ms variable avaialble rather than getting it every time. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24747 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I666ed5d157f42e74956fa49fc9eea85d27e63d44 Gerrit-Change-Number: 24747 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 23 Jun 2021 11:44:31 +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 Jun 23 11:44:43 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 23 Jun 2021 11:44:43 +0000 Subject: Change in osmo-bsc[master]: abis_rsl: fix rsl_rx_ccch_load(): properly check the message length In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24724 ) Change subject: abis_rsl: fix rsl_rx_ccch_load(): properly check the message length ...................................................................... abis_rsl: fix rsl_rx_ccch_load(): properly check the message length msg->data_len is the total number of bytes available in the buffer, not the actual length of the payload. Use msgb_length(). Change-Id: I35bf0827ff14e84a755c1aa24a6efc06bc7b9f9b --- M src/osmo-bsc/abis_rsl.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: dexter: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 86b1790..0d92141 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1987,7 +1987,7 @@ osmo_signal_dispatch(SS_CCCH, S_CCCH_PAGING_LOAD, &sd); break; case RSL_IE_RACH_LOAD: - if (msg->data_len >= 7) { + if (msgb_length(msg) >= 7) { int32_t busy_percent, access_percent; /* build data for signal */ sd.rach_slot_count = rslh->data[2] << 8 | rslh->data[3]; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24724 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I35bf0827ff14e84a755c1aa24a6efc06bc7b9f9b Gerrit-Change-Number: 24724 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 23 11:48:14 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 23 Jun 2021 11:48:14 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vc_fsm: reset the ALIVE response time when stopping test In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24684 ) Change subject: gprs_ns2_vc_fsm: reset the ALIVE response time when stopping test ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24684 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5435077d35ff1ae3d743ea1b1b8ace7f0fb913cf Gerrit-Change-Number: 24684 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Jun 2021 11: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 Wed Jun 23 11:51:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Jun 2021 11:51:51 +0000 Subject: Change in osmo-pcu[master]: pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/24747 to look at the new patch set (#2). Change subject: pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack ...................................................................... pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack If bts_ms_by_tlli() at the start of the function fails, ms could be NULL. As a result "ms->nacc" access at the end of the function would crash. Solution: In the function, we get the related expected TBF from pdch_ulc, and we only continue if a TBF is found. Since tbf objects are always expected to have a GprsMs, simply gather it from there. Change-Id: I666ed5d157f42e74956fa49fc9eea85d27e63d44 --- M src/pdch.cpp 1 file changed, 6 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/47/24747/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24747 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I666ed5d157f42e74956fa49fc9eea85d27e63d44 Gerrit-Change-Number: 24747 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 23 11:53:04 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 23 Jun 2021 11:53:04 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: dump_nsvc: change output depending on NSVCI In-Reply-To: References: Message-ID: dexter 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 1: Code-Review+1 (1 comment) The VTY tests need an update, otherwise looks it good to me. 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... Mismatch: Expect: ' NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496' Got: ' RECOVERING PERSIST sig_weight=1 data_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496' -- 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: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Wed, 23 Jun 2021 11:53: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 Wed Jun 23 11:56:18 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 23 Jun 2021 11:56:18 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix missing notify towards the NSE when NSVC become blocked In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24683 ) Change subject: gprs_ns2: fix missing notify towards the NSE when NSVC become blocked ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24683 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I09634e414e9bb966e6b5809b7de1b59fbabd413d Gerrit-Change-Number: 24683 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Assignee: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-CC: daniel Gerrit-Comment-Date: Wed, 23 Jun 2021 11:56: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 Jun 23 11:56:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Jun 2021 11:56:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: CSN1: Support enc/dec of Packet Measurement related messages References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24750 ) Change subject: CSN1: Support enc/dec of Packet Measurement related messages ...................................................................... CSN1: Support enc/dec of Packet Measurement related messages Related: SYS#5303 Change-Id: I5567a0d86c70d67e2012ba284146952a40c279d7 --- M library/RLCMAC_CSN1_Templates.ttcn M library/RLCMAC_CSN1_Types.ttcn 2 files changed, 210 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/50/24750/1 diff --git a/library/RLCMAC_CSN1_Templates.ttcn b/library/RLCMAC_CSN1_Templates.ttcn index 39f240b..254983a 100644 --- a/library/RLCMAC_CSN1_Templates.ttcn +++ b/library/RLCMAC_CSN1_Templates.ttcn @@ -158,6 +158,106 @@ } }; + /* TS 44.060 sec 11.2.9 */ + template (value) NCMeasurement ts_NCMeasurement(uint6_t frequency_n, BIT6 bsic, uint6_t rxlev) + := { + frequency_n := frequency_n, + bsic_n_presence := '1'B, + bsic_n := bsic, + rxlev_n := rxlev + }; + template (value) NCMeasurementReport ts_NCMeasurementReport(BIT1 nc_mode, + uint6_t rxlev_serving_cell, + template (value) NCMeasurementList nc_meas_list := {}) + := { + nc_mode := nc_mode, + rxlev_serving_cell := rxlev_serving_cell, + zero := '0'B, + num_nc_measurements := 0, /* automatically updated */ + nm_measurements := nc_meas_list + }; + template RlcmacUlCtrlMsg ts_RlcMacUlCtrl_PKT_MEAS_REPORT(template (value) GprsTlli tlli, + template (value) NCMeasurementReport nc_meas_rep) + := { + msg_type := PACKET_MEASUREMENT_REPORT, + u := { + meas_report := { + tlli := tlli, + psi5_change_mark_presence := '0'B, + psi5_change_mark := omit, + additions_99 := '0'B, + nc_meas_report := nc_meas_rep + } + } + }; + + /* TS 44.060 sec 11.2.9b */ + template RepeatedAddFrequencyItem tr_RepeatedAddFrequencyItem(template (present) uint10_t start_frequency := ?, + template (present) uint6_t bsic := ?) + := { + presence := '1'B, + item := { + start_frequency := start_frequency, + bsic := bsic, + cell_sel_par_present := ?, + cell_sel_par := *, + nr_of_frequencies := 0, + freq_diff_length := ? + /* TODO: support Frequency diff list */ + } + }; + template NCFrequencyList tr_NCFrequencyList(template FreqIndexList removed_freq_index := *, template RepeatedAddFrequencyItemList repeated_add_frequency := *) + := { + removed_freq_present := ?, + nr_of_removed_freq := *, + removed_freq_index := removed_freq_index, + repeated_add_frequency := repeated_add_frequency, + repeated_add_frequency_term := '0'B + }; + template NCMeasurementParameters tr_NCMeasurementParameters(template (present) NetworkControlOrder nco := ?, + template uint3_t nc_non_drx_period := *, + template uint3_t nc_reporting_period_i := *, + template uint3_t nc_reporting_period_t := *, + template NCFrequencyList nc_freq_list := *) + := { + nco := nco, + nc_period_present := ?, + nc_non_drx_period := nc_non_drx_period, + nc_reporting_period_i := nc_reporting_period_i, + nc_reporting_period_t := nc_reporting_period_t, + nc_freq_list_present := ?, + nc_freq_list := nc_freq_list + }; + /* This template is used by osmo-pcu to reset the GSM Neighbour Cell List of the MS */ + template (value) NCMeasurementParameters ts_NCMeasurementParametersRESET + := { + nco := NC_RESET, + nc_period_present := '0'B, + nc_non_drx_period := omit, + nc_reporting_period_i := omit, + nc_reporting_period_t := omit, + nc_freq_list_present := '0'B, + nc_freq_list := omit + }; + template RlcmacDlCtrlMsg tr_RlcMacDlCtrl_PKT_MEAS_ORDER(template (present) GlobalTfiOrTlli tfi_or_tlli := ?, + template (present) uint3_t pmo_index := ?, + template (present) uint3_t pmo_count := ?, + template (present) NCMeasurementParameters nc_meas_param := ?) + := { + msg_type := PACKET_MEASUREMENT_ORDER, + u := { + meas_order := { + page_mode := ?, + tfi_or_tlli := tfi_or_tlli, + pmo_index := pmo_index, + pmo_count := pmo_count, + nc_meas_param_present := '1'B, + nc_meas_param := nc_meas_param, + zero := '0'B + } + } + }; + /* TS 44.060 sec 11.2.9e */ template RlcmacDlCtrlMsg tr_RlcMacDlCtrl_PKT_NEIGH_CELL_DATA(template (present) GlobalTfi tfi := ?, template (present) uint5_t container_index := ?) diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn index 0dd8a8b..d9a5662 100644 --- a/library/RLCMAC_CSN1_Types.ttcn +++ b/library/RLCMAC_CSN1_Types.ttcn @@ -163,6 +163,80 @@ variant (tbf_starting_time) "PRESENCE(tbf_starting_time_present = '1'B)" }; + /* 11.2.9b Packet Measurement Order */ + type enumerated NetworkControlOrder { + NC_0 ('00'B), + NC_1 ('01'B), + NC_2 ('10'B), + NC_RESET ('11'B) + } with { variant "FIELDLENGTH(2)" }; + type record CellSelection { + BIT1 cell_barr_access_2, + BIT1 exc_acc, + BIT1 same_ra_as_serving_cell, + BIT1 gprs_rxlev_access_min_present ('0'B), + BIT1 gprs_temporary_offset_present ('0'B), + BIT1 gprs_reselct_offset_present ('0'B), + BIT1 hcs_params_present ('0'B), + BIT1 si13_pbcch_location_present ('0'B) + /* TODO: add optional parameters above^ */ + }; + type record AddFrequency { + uint10_t start_frequency, + uint6_t bsic, + BIT1 cell_sel_par_present, + CellSelection cell_sel_par optional, + uint5_t nr_of_frequencies, + uint3_t freq_diff_length + /* TODO: support Frequency diff list */ + } with { + variant (cell_sel_par) "PRESENCE(cell_sel_par_present = '1'B)" + }; + type record RepeatedAddFrequencyItem { + BIT1 presence, + AddFrequency item + } with { variant "PRESENCE(presence = '1'B)" }; + type record of uint6_t FreqIndexList; + type record of RepeatedAddFrequencyItem RepeatedAddFrequencyItemList; + type record NCFrequencyList { + BIT1 removed_freq_present, + uint5_t nr_of_removed_freq optional, + FreqIndexList removed_freq_index optional, + RepeatedAddFrequencyItemList repeated_add_frequency optional, + BIT1 repeated_add_frequency_term ('0'B) + } with { + variant (nr_of_removed_freq) "PRESENCE(removed_freq_present = '1'B)" + variant (removed_freq_index) "PRESENCE(removed_freq_present = '1'B)" + variant (nr_of_removed_freq) "LENGTHTO(removed_freq_index)-1" + variant (nr_of_removed_freq) "UNIT(elements)" + }; + type record NCMeasurementParameters { + NetworkControlOrder nco, + BIT1 nc_period_present, + uint3_t nc_non_drx_period optional, + uint3_t nc_reporting_period_i optional, + uint3_t nc_reporting_period_t optional, + BIT1 nc_freq_list_present, + NCFrequencyList nc_freq_list optional + } with { + variant (nc_non_drx_period) "PRESENCE(nc_period_present = '1'B)" + variant (nc_reporting_period_i) "PRESENCE(nc_period_present = '1'B)" + variant (nc_reporting_period_t) "PRESENCE(nc_period_present = '1'B)" + variant (nc_freq_list) "PRESENCE(nc_freq_list_present = '1'B)" + }; + type record PacketMeasOrder { + PageMode page_mode, + GlobalTfiOrTlli tfi_or_tlli, + uint3_t pmo_index, + uint3_t pmo_count, + BIT1 nc_meas_param_present, + NCMeasurementParameters nc_meas_param optional, + BIT1 zero('0'B) /* The value '1' was allocated in an earlier version of the protocol and shall not be used. */ + /* TODO: support Additions 98 onwards */ + } with { + variant (nc_meas_param) "PRESENCE(nc_meas_param_present = '1'B)" + }; + private type record PktDlAssRelAdditions { BIT1 rel99_presence, // 0/1 PktDlAssR99Additions rel99 optional @@ -632,6 +706,7 @@ /* 11.2.0.1 */ type union RlcmacDlCtrlUnion { PacketDlAssignment dl_assignment, + PacketMeasOrder meas_order, PacketUlAssignment ul_assignment, PacketPagingReq paging, PacketUlAckNack ul_ack_nack, @@ -647,6 +722,7 @@ RlcmacDlCtrlUnion u } with { variant (u) "CROSSTAG(dl_assignment, msg_type = PACKET_DL_ASSIGNMENT; + meas_order, msg_type = PACKET_MEASUREMENT_ORDER; ul_assignment, msg_type = PACKET_UL_ASSIGNMENT; paging, msg_type = PACKET_PAGING_REQUEST; ul_ack_nack, msg_type = PACKET_UL_ACK_NACK; @@ -759,6 +835,38 @@ variant (tlli) "BYTEORDER(first)" }; + /* 11.2.9 Packet Measurement Report */ + type record NCMeasurement { + uint6_t frequency_n, + BIT1 bsic_n_presence, + BIT6 bsic_n optional, + uint6_t rxlev_n + } with { + variant (bsic_n) "PRESENCE(bsic_n_presence = '1'B)" + }; + type record of NCMeasurement NCMeasurementList; + type record NCMeasurementReport { + BIT1 nc_mode, + uint6_t rxlev_serving_cell, + BIT1 zero ('0'B), /*The value '1' was allocated in an earlier version of the protocol and shall not be used.*/ + uint3_t num_nc_measurements, + NCMeasurementList nm_measurements + } with { + variant (num_nc_measurements) "LENGTHTO(nm_measurements)" + variant (num_nc_measurements) "UNIT(elements)" + }; + type record PacketMeasReport { + GprsTlli tlli, + BIT1 psi5_change_mark_presence, + BIT2 psi5_change_mark optional, + BIT1 additions_99 ('0'B), /* TODO: 1 -> support Additions 99 onwards */ + NCMeasurementReport nc_meas_report optional + } with { + variant (tlli) "BYTEORDER(first)" + variant (psi5_change_mark) "PRESENCE(psi5_change_mark_presence = '1'B)" + variant (nc_meas_report) "PRESENCE(additions_99 = '0'B)" + }; + /* TS 44.060 sec 12.30 MS Radio Access Capability 2 * (for value part, see 3GPP TS 24.008 sec 10.5.5.12a and table 10.5.146) */ type union MSRadioAccCap2 { @@ -844,6 +952,7 @@ PacketDlAckNack dl_ack_nack, EgprsPacketDlAckNack dl_ack_nack_egprs, PacketUlDummy ul_dummy, + PacketMeasReport meas_report, PacketResourceReq resource_req, PacketCellChangeNotification cell_chg_notif, octetstring other @@ -857,6 +966,7 @@ dl_ack_nack, msg_type = PACKET_DL_ACK_NACK; dl_ack_nack_egprs, msg_type = PACKET_EGPRS_DL_ACK_NACK; ul_dummy, msg_type = PACKET_UL_DUMMY_CTRL; + meas_report, msg_type = PACKET_MEASUREMENT_REPORT; resource_req, msg_type = PACKET_RESOURCE_REQUEST; cell_chg_notif, msg_type = PACKET_CELL_CHANGE_NOTIFICATION; other, OTHERWISE -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24750 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5567a0d86c70d67e2012ba284146952a40c279d7 Gerrit-Change-Number: 24750 Gerrit-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 Jun 23 12:37:16 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 23 Jun 2021 12:37:16 +0000 Subject: Change in osmo-remsim[master]: contrib/osmo-remsim.spec.in: fix build on opensuse References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/24751 ) Change subject: contrib/osmo-remsim.spec.in: fix build on opensuse ...................................................................... contrib/osmo-remsim.spec.in: fix build on opensuse It was not enough to verify that the rpm builds on centos. Set --docdir to install examples to /usr/share/doc/packages instead of /usr/share/doc in opensuse. Fix for: File not found: .../usr/share/doc/packages/osmo-remsim/examples/bankd_pcsc_slots.csv Add missing %dir statements to fix: osmo-remsim-bankd-0.2.2.113.f2a1.202106230026-lp151.1.1.x86_64.rpm: directories not owned by a package: - /etc/osmocom - /usr/share/doc/packages/osmo-remsim - /usr/share/doc/packages/osmo-remsim/examples Fixes: 905bc4d2 ("doc/examples: install bankd_pcsc_slots.csv") Change-Id: Ie5bbb25f8aa87edcea8b952d3c29aab29ac31b19 --- M contrib/osmo-remsim.spec.in 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/51/24751/1 diff --git a/contrib/osmo-remsim.spec.in b/contrib/osmo-remsim.spec.in index df98a1f..90ef773 100644 --- a/contrib/osmo-remsim.spec.in +++ b/contrib/osmo-remsim.spec.in @@ -145,6 +145,7 @@ autoreconf -fi %configure \ --disable-static \ + --docdir=%{_docdir}/osmo-remsim \ --with-systemdsystemunitdir=%{_unitdir} make V=1 %{?_smp_mflags} @@ -194,7 +195,10 @@ %{_bindir}/osmo-remsim-bankd %{_unitdir}/osmo-remsim-bankd.service %config(noreplace) %{_sysconfdir}/default/osmo-remsim-bankd +%dir %{_sysconfdir}/osmocom %config(noreplace) %{_sysconfdir}/osmocom/bankd_pcsc_slots.csv +%dir %{_docdir}/osmo-remsim +%dir %{_docdir}/osmo-remsim/examples %{_docdir}/osmo-remsim/examples/bankd_pcsc_slots.csv %files -n osmo-remsim-client-shell -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/24751 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ie5bbb25f8aa87edcea8b952d3c29aab29ac31b19 Gerrit-Change-Number: 24751 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 Jun 23 12:37:57 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 23 Jun 2021 12:37:57 +0000 Subject: Change in osmo-remsim[master]: contrib/osmo-remsim.spec.in: fix build on opensuse In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/24751 ) Change subject: contrib/osmo-remsim.spec.in: fix build on opensuse ...................................................................... Patch Set 1: verified that it works on centos, opensuse, debian: https://build.opensuse.org/package/show/home:osmith42/osmo-remsim -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/24751 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ie5bbb25f8aa87edcea8b952d3c29aab29ac31b19 Gerrit-Change-Number: 24751 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 23 Jun 2021 12:37: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 Jun 23 12:40:20 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 23 Jun 2021 12:40:20 +0000 Subject: Change in osmo-remsim[master]: contrib/osmo-remsim.spec.in: fix build on opensuse In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/24751 ) Change subject: contrib/osmo-remsim.spec.in: fix build on opensuse ...................................................................... Patch Set 1: Code-Review+2 Trivial fixup, and I verified that it works on centos, suse, debian. -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/24751 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ie5bbb25f8aa87edcea8b952d3c29aab29ac31b19 Gerrit-Change-Number: 24751 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 23 Jun 2021 12:40:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 23 12:40:27 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 23 Jun 2021 12:40:27 +0000 Subject: Change in osmo-remsim[master]: contrib/osmo-remsim.spec.in: fix build on opensuse In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/24751 ) Change subject: contrib/osmo-remsim.spec.in: fix build on opensuse ...................................................................... contrib/osmo-remsim.spec.in: fix build on opensuse It was not enough to verify that the rpm builds on centos. Set --docdir to install examples to /usr/share/doc/packages instead of /usr/share/doc in opensuse. Fix for: File not found: .../usr/share/doc/packages/osmo-remsim/examples/bankd_pcsc_slots.csv Add missing %dir statements to fix: osmo-remsim-bankd-0.2.2.113.f2a1.202106230026-lp151.1.1.x86_64.rpm: directories not owned by a package: - /etc/osmocom - /usr/share/doc/packages/osmo-remsim - /usr/share/doc/packages/osmo-remsim/examples Fixes: 905bc4d2 ("doc/examples: install bankd_pcsc_slots.csv") Change-Id: Ie5bbb25f8aa87edcea8b952d3c29aab29ac31b19 --- M contrib/osmo-remsim.spec.in 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, approved diff --git a/contrib/osmo-remsim.spec.in b/contrib/osmo-remsim.spec.in index df98a1f..90ef773 100644 --- a/contrib/osmo-remsim.spec.in +++ b/contrib/osmo-remsim.spec.in @@ -145,6 +145,7 @@ autoreconf -fi %configure \ --disable-static \ + --docdir=%{_docdir}/osmo-remsim \ --with-systemdsystemunitdir=%{_unitdir} make V=1 %{?_smp_mflags} @@ -194,7 +195,10 @@ %{_bindir}/osmo-remsim-bankd %{_unitdir}/osmo-remsim-bankd.service %config(noreplace) %{_sysconfdir}/default/osmo-remsim-bankd +%dir %{_sysconfdir}/osmocom %config(noreplace) %{_sysconfdir}/osmocom/bankd_pcsc_slots.csv +%dir %{_docdir}/osmo-remsim +%dir %{_docdir}/osmo-remsim/examples %{_docdir}/osmo-remsim/examples/bankd_pcsc_slots.csv %files -n osmo-remsim-client-shell -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/24751 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ie5bbb25f8aa87edcea8b952d3c29aab29ac31b19 Gerrit-Change-Number: 24751 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 23 15:23:43 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 23 Jun 2021 15:23:43 +0000 Subject: Change in osmo-bts[master]: paging: prioritize CS related paging over PS related pagings. In-Reply-To: References: Message-ID: Hello Jenkins Builder, neels, laforge, pespin, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24658 to look at the new patch set (#6). 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(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/58/24658/6 -- 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: 6 Gerrit-Owner: dexter 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 Wed Jun 23 15:24:03 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 23 Jun 2021 15:24:03 +0000 Subject: Change in osmo-bts[master]: paging: prioritize CS related paging over PS related pagings. In-Reply-To: References: Message-ID: dexter 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 6: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24658/4/src/common/paging.c File src/common/paging.c: https://gerrit.osmocom.org/c/osmo-bts/+/24658/4/src/common/paging.c at 89 PS4, Line 89: execeeed > did you mean 'exceed'? but even then the sentence doesn't make s ense, IMHO. You need an adjective. [?] Done -- 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: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Jun 2021 15:24:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 23 15:27:03 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 23 Jun 2021 15:27:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: add testcase TC_paging_imsi_200percent_with_ps References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24752 ) Change subject: BTS_Tests: add testcase TC_paging_imsi_200percent_with_ps ...................................................................... BTS_Tests: add testcase TC_paging_imsi_200percent_with_ps The current paging load tests only test what happens when the paging load is introduced from the PS side. However there are no tests that tests what happens when PS pagings are introduced from the PCU side into an already overloaded system. osmo-bts was equipped recently with a mechanism that detects congestive situations. Once a congestion is detcted osmo-bts will drop pagings from the BTS side. The rationale of the new testcase is that the behavior must not change when the PS pagings start since osmo-bts is dropping them. Change-Id: Ie72e788d9ebff6ca4e50314746127a9689948062 Depends: osmo-bts I30f97672d7a0c369c4a656e878ab8cbbd83e31ea Related: SYS#5306 --- M bts/BTS_Tests.ttcn M library/PCUIF_CodecPort.ttcn 2 files changed, 106 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/52/24752/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index e855405..d4bf6fb 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -3550,6 +3550,18 @@ boolean combined_ccch, integer bs_ag_blks_res, float load_factor, + /* Mix in a paging request through the PCU socket for every Nth (ps_load_modulus) + * paging command that is issued via RSL. */ + integer ps_load_modulus, + /* Wait until the paging queue inside the BTS is congested before starting to add + * pagings via the PCU socket (0 = disabled) */ + boolean ps_wait_cong, + /* Maximum time to wait until the paging queue is drained at the end of the test. + * This usually takes about 15s (size: 200, ~ 13 per s -> 15s), it is recommended + * to set this value to 18s, however the draining process may take significantly + * longer when the queue contains paging requests for PS as those are implemented + * as immediate assignments and require an entire MAC block alone. */ + float queue_drain_timeout, boolean exp_load_ind, boolean exp_overload, boolean use_tmsi @@ -3559,20 +3571,34 @@ integer num_paging_sent, integer num_paging_rcv_msgs, integer num_paging_rcv_ids, - integer num_overload + integer num_overload, + /* When free space inside the paging queue reaches more than 2 thirds + * of its capacity cong_detected is set to true. */ + boolean cong_detected } /* Helper function for paging related testing */ private function f_TC_paging(PagingTestCfg cfg) runs on test_CT return PagingTestState { - f_init(); + /* Using the PCU socket affects the timing of the paging processing. We only + * activate the PCU socket if we do paging load tests that include additional + * paging load that is introduced through the PCU socket. */ + if (cfg.ps_load_modulus > 0) { + f_init_with_pcuif(); + } else { + f_init(); + } f_init_l1ctl(); f_l1_tune(L1CTL); + var octetstring imm_ass := f_rnd_octstring(23); + var ASP_RSL_Unitdata load_ind; + var PagingTestState st := { num_paging_sent := 0, num_paging_rcv_msgs := 0, num_paging_rcv_ids := 0, - num_overload := 0 + num_overload := 0, + cong_detected := false }; var float max_pch_blocks_per_sec := f_pch_block_rate_est(cfg.combined_ccch, cfg.bs_ag_blks_res); @@ -3603,8 +3629,18 @@ [not cfg.exp_overload] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND(0))) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Unexpected PCH Overload"); } - [cfg.exp_load_ind] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND)) { + [cfg.exp_load_ind] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND)) -> value load_ind { log("Rx LOAD_IND"); + + /* Detect paging congestion: The logic inside the BTS will diagnose the + * paging queue as congested when the fill state is more than 66% (which + * is two thirds fill state, or approx. 66 of 200 paging slots. When a + * paging congestion is detected pagings that are issued through the PCU + * socket (PS) are dropped in order to prefer the CS related pagings. */ + if (load_ind.rsl.ies[1].body.paging_load < 66) { + st.cong_detected := true; + } + /* FIXME: analyze/verify interval + contents */ repeat; } @@ -3613,6 +3649,8 @@ /* check if paging requests arrive on Um side */ [] as_l1_count_paging(st.num_paging_rcv_msgs, st.num_paging_rcv_ids, cfg); [] L1CTL.receive { repeat; } + /* Only relevant when testing including with PCU sock connected */ + [] PCU.receive { repeat; } [] T_itv.timeout { /* Send paging cmds based on elapsed time */ var integer new_sent := f_min(pkt_total, float2int(T_total.read * pch_blocks_per_sec) + 1); @@ -3629,6 +3667,13 @@ /* Send RSL PAGING COMMAND */ RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_PAGING_CMD(mi, st.num_paging_sent mod 4))); + /* Add additional pagings through the PCU socket interface. */ + if (cfg.ps_load_modulus > 0 and st.num_paging_sent mod cfg.ps_load_modulus == 0) { + if (st.cong_detected == true or cfg.ps_wait_cong == false) { + f_PCUIF_tx_imm_ass_pch(PCU, g_pcu_conn_id, imm_ass, '123459987'H, wait_for_cnf := false); + } + } + st.num_paging_sent := st.num_paging_sent + 1; } if (st.num_paging_sent < pkt_total) { @@ -3649,19 +3694,20 @@ } } - /* wait for max 18s for paging queue to drain (size: 200, ~ 13 per s -> 15s) */ - timer T_wait := 18.0; + timer T_wait := cfg.queue_drain_timeout T_wait.start; alt { [] as_l1_count_paging(st.num_paging_rcv_msgs, st.num_paging_rcv_ids, cfg); [] L1CTL.receive { repeat; } /* 65535 == empty paging queue, we can terminate*/ [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND(65535))) { } - [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND)) { repeat; } + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND)) -> value load_ind { repeat; } /* ignore other RSL messages like RF RESource INDication */ [] RSL_CCHAN.receive { repeat; } + /* Only relevant when testing including with PCU sock connected */ + [] PCU.receive { repeat; } [] T_wait.timeout { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Waiting for empty paging queue"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("Waiting for paging queue, last detected fill state: ", load_ind.rsl.ies[1].body.paging_load)); } } @@ -3680,6 +3726,9 @@ combined_ccch := true, bs_ag_blks_res := si3.payload.si3.ctrl_chan_desc.bs_ag_blks_res, load_factor := 0.8, + ps_load_modulus := 0, + ps_wait_cong := false, + queue_drain_timeout := 18.0, exp_load_ind := true, exp_overload := false, use_tmsi := false @@ -3704,6 +3753,9 @@ combined_ccch := true, bs_ag_blks_res := si3.payload.si3.ctrl_chan_desc.bs_ag_blks_res, load_factor := 0.8, + ps_load_modulus := 0, + ps_wait_cong := false, + queue_drain_timeout := 18.0, exp_load_ind := true, exp_overload := false, use_tmsi := true @@ -3728,6 +3780,9 @@ combined_ccch := true, bs_ag_blks_res := si3.payload.si3.ctrl_chan_desc.bs_ag_blks_res, load_factor := 2.0, + ps_load_modulus := 0, + ps_wait_cong := false, + queue_drain_timeout := 18.0, exp_load_ind := true, exp_overload := true, use_tmsi := false @@ -3754,6 +3809,9 @@ combined_ccch := true, bs_ag_blks_res := si3.payload.si3.ctrl_chan_desc.bs_ag_blks_res, load_factor := 2.0, + ps_load_modulus := 0, + ps_wait_cong := false, + queue_drain_timeout := 18.0, exp_load_ind := true, exp_overload := true, use_tmsi := true @@ -3770,6 +3828,38 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } +/* Same as above, but with additional paging load created by PS pagings that + * are issued through the PCU socket. The additional load is introduced when + * the paging queue is already two thirds full. Since the BTS implements a + * prioritization logic that drops the pagings from the PCU under in those + * congestive sitautions the behaviour on the PS side is expected to be + * unaffected and match the behavior of TC_paging_imsi_200percent() */ +testcase TC_paging_imsi_200percent_with_ps() runs on test_CT { + var SystemInformation si3 := valueof(ts_SI3_default); + var PagingTestCfg cfg := { + combined_ccch := true, + bs_ag_blks_res := si3.payload.si3.ctrl_chan_desc.bs_ag_blks_res, + load_factor := 2.0, + ps_load_modulus := 16, + ps_wait_cong := true, + queue_drain_timeout := 18.0, + exp_load_ind := true, + exp_overload := true, + use_tmsi := false + }; + var PagingTestState st := f_TC_paging(cfg); + /* We expect about 80-85% to pass, given that we can fill the paging buffer of 200 + * slots and will fully drain that buffer before returning */ + var template integer tpl := (st.num_paging_sent*78/100 .. st.num_paging_sent *85/100); + if (not match(st.num_paging_rcv_ids, tpl)) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("Expected ", tpl, " pagings but have ", st.num_paging_rcv_ids)); + } else { + setverdict(pass); + } + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + + /*********************************************************************** * Immediate Assignment / AGCH @@ -7501,6 +7591,7 @@ execute( TC_ipa_crcx_sdcch_not_active() ); if (mp_pcu_socket != "") { + execute( TC_paging_imsi_200percent_with_ps() ); execute( TC_pcu_act_req() ); execute( TC_pcu_act_req_wrong_ts() ); execute( TC_pcu_act_req_wrong_bts() ); diff --git a/library/PCUIF_CodecPort.ttcn b/library/PCUIF_CodecPort.ttcn index 4b2a8ce..f3e4810 100644 --- a/library/PCUIF_CodecPort.ttcn +++ b/library/PCUIF_CodecPort.ttcn @@ -139,7 +139,7 @@ } function f_PCUIF_tx_imm_ass_pch(PCUIF_CODEC_PT pt, integer conn_id, octetstring imm_ass, hexstring imsi, - uint8_t bts_nr := 0) return uint32_t { + uint8_t bts_nr := 0, boolean wait_for_cnf := true) return uint32_t { var PCUIF_send_data sd; timer T := 3.0; /* append 3 last imsi digits so BTS can compute pagng group */ @@ -151,6 +151,12 @@ } pt.send(t_SD_PCUIF(conn_id, ts_PCUIF_DATA_REQ(bts_nr, 0, 0, 0, 0, PCU_IF_SAPI_PCH, prefix & imm_ass))); + + /* Exit early when the caller is not interested in the confirmation message */ + if (wait_for_cnf == false) { + return 0; + } + T.start; alt { [] pt.receive(t_SD_PCUIF(conn_id, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24752 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie72e788d9ebff6ca4e50314746127a9689948062 Gerrit-Change-Number: 24752 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 Jun 23 15:37:36 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 23 Jun 2021 15:37:36 +0000 Subject: Change in osmo-pcu[master]: pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24747 ) Change subject: pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack ...................................................................... Patch Set 2: Code-Review+1 (3 comments) looks like i was wrong. https://gerrit.osmocom.org/c/osmo-pcu/+/24747/1/src/pdch.cpp File src/pdch.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/24747/1/src/pdch.cpp at 316 PS1, Line 316: fn, tlli, trx_no(), ts_no); > ms is used lots of times inside the if clause below, so it's not possible to do what you say. Ack https://gerrit.osmocom.org/c/osmo-pcu/+/24747/1/src/pdch.cpp at 336 PS1, Line 336: /* Gather MS from TBF, since it may be NULL or may have been merged during update_ms */ > Actually I'll do it the other way, remove use of tbf->ms() below. [?] Ack https://gerrit.osmocom.org/c/osmo-pcu/+/24747/1/src/pdch.cpp at 413 PS1, Line 413: } > We can not just use tbf->ms() here? Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24747 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I666ed5d157f42e74956fa49fc9eea85d27e63d44 Gerrit-Change-Number: 24747 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 23 Jun 2021 15:37:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes 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 Jun 23 15:44:35 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 23 Jun 2021 15:44:35 +0000 Subject: Change in libosmocore[master]: add Kc128 to gsm0808 Create Ciphering Command In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24722 ) Change subject: add Kc128 to gsm0808 Create Ciphering Command ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24722 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib3906085e0c6e5a496a9f755f0f786238a86ca34 Gerrit-Change-Number: 24722 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: Wed, 23 Jun 2021 15:44:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 23 15:48:26 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 23 Jun 2021 15:48:26 +0000 Subject: Change in pysim[master]: pySim/commands: Add envelope() method for ENVELOPE command In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24463 ) Change subject: pySim/commands: Add envelope() method for ENVELOPE command ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2b5b6585ecbe00b54919b197428fe09a220757c6 Gerrit-Change-Number: 24463 Gerrit-PatchSet: 7 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Wed, 23 Jun 2021 15:48: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 Jun 23 15:49:41 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 23 Jun 2021 15:49:41 +0000 Subject: Change in osmo-pcu[master]: pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24747 ) Change subject: pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/24747/2/src/pdch.cpp File src/pdch.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/24747/2/src/pdch.cpp at 336 PS2, Line 336: it may be NULL So it may be NULL, but you're unconditionally dereferencing it below by passing to ms_dl_tbf() and ms_ul_tbf(). Am I missing something? Or did you mean that, vice versa, it cannot be NULL? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24747 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I666ed5d157f42e74956fa49fc9eea85d27e63d44 Gerrit-Change-Number: 24747 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 23 Jun 2021 15:49: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 Wed Jun 23 16:05:53 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 23 Jun 2021 16:05:53 +0000 Subject: Change in libosmocore[master]: add Kc128 to gsm0808 Create Ciphering Command In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24722 ) Change subject: add Kc128 to gsm0808 Create Ciphering Command ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24722/3/include/osmocom/gsm/gsm0808.h File include/osmocom/gsm/gsm0808.h: https://gerrit.osmocom.org/c/libosmocore/+/24722/3/include/osmocom/gsm/gsm0808.h at 73 PS3, Line 73: bool more_items; /*< always set this to false */ > FYI, in case you envision to have several versions of the struct, a usual way (see for instance Wind [?] I agree with Pau here. Having one 'special' field containing the size seems to be better than adding more_items2, more_items3, etc. every time we need to extend this structure. But with this approach it's kind of easier to assume which fields are present and which are not. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24722 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib3906085e0c6e5a496a9f755f0f786238a86ca34 Gerrit-Change-Number: 24722 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: Wed, 23 Jun 2021 16:05:53 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 23 16:08:03 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 23 Jun 2021 16:08:03 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7_vty: allow users to inspect routes also in ASP role In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24705 ) Change subject: osmo_ss7_vty: allow users to inspect routes also in ASP role ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ieaef4f0344b5b77ff5047013e9da1e938004e97c Gerrit-Change-Number: 24705 Gerrit-PatchSet: 3 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, 23 Jun 2021 16:08: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 Jun 23 17:11:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Jun 2021 17:11:35 +0000 Subject: Change in osmo-pcu[master]: pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24747 ) Change subject: pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/24747/2/src/pdch.cpp File src/pdch.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/24747/2/src/pdch.cpp at 336 PS2, Line 336: it may be NULL > So it may be NULL, but you're unconditionally dereferencing it below by passing to ms_dl_tbf() and m [?] ms pointer as would have been obtained by bts_ms_by_tlli could be null. On the other hand, since we arrived here, because there was a registered TBF expecting a ctrl ack, we are sure tbf->ms() is nevel null, because a tbf always has an associated ms object. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24747 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I666ed5d157f42e74956fa49fc9eea85d27e63d44 Gerrit-Change-Number: 24747 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 23 Jun 2021 17:11:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 23 17:12:14 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Jun 2021 17:12:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: inter-BSC 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/+/24748 ) Change subject: msc: inter-BSC HO test: use CGI cell ID, not LAI ...................................................................... msc: inter-BSC HO test: use CGI cell ID, not LAI In the inter-BSC 'Handover Required', do not send a LAI cell identifier, but a CGI one. 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-BSC 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. This prepares for adding verification of the ciphering in inter-BSC handover, in turn a preparation for adding tests of A5/4. Related: OS#5188 SYS#5324 Change-Id: I48276acf923626db171683dfa03ef43614a71380 --- M msc/MSC_Tests.ttcn 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve dexter: Looks good to me, approved diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index b791782..e37bc52 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -5721,7 +5721,7 @@ f_vty_transceive(MSCVTY, "configure terminal"); f_vty_transceive(MSCVTY, "msc"); f_vty_transceive(MSCVTY, "neighbor a cgi 262 42 23 42 ran-pc 0.24.1"); - f_vty_transceive(MSCVTY, "neighbor a lac 5 ran-pc 0.24.2"); + f_vty_transceive(MSCVTY, "neighbor a cgi 023 42 5 6 ran-pc 0.24.2"); f_vty_transceive(MSCVTY, "exit"); f_vty_transceive(MSCVTY, "exit"); @@ -5736,7 +5736,7 @@ var BssmapCause cause := enum2int(cause_val); var template BSSMAP_FIELD_CellIdentificationList cil; - cil := { cIl_LAI := { ts_BSSMAP_CI_LAI('023'H, '42'H, 5) } }; + cil := { cIl_CGI := { ts_BSSMAP_CI_CGI('023'H, '42'H, 5, 6) } }; /* old BSS sends Handover Required */ BSSAP.send(ts_BSSMAP_HandoverRequired(cause, cil)); @@ -5841,7 +5841,7 @@ var BssmapCause cause := enum2int(cause_val); var template BSSMAP_FIELD_CellIdentificationList cil; - cil := { cIl_LAI := { ts_BSSMAP_CI_LAI('262'H, '42'H, 23) } }; + cil := { cIl_CGI := { ts_BSSMAP_CI_CGI('262'H, '42'H, 23, 42) } }; /* old BSS sends Handover Required */ BSSAP.send(ts_BSSMAP_HandoverRequired(cause, cil)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24748 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I48276acf923626db171683dfa03ef43614a71380 Gerrit-Change-Number: 24748 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 23 17:23:03 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Jun 2021 17:23:03 +0000 Subject: Change in libosmocore[master]: add Kc128 to gsm0808 Create Ciphering Command In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24722 ) Change subject: add Kc128 to gsm0808 Create Ciphering Command ...................................................................... Patch Set 3: Code-Review+2 (1 comment) (combine votes) https://gerrit.osmocom.org/c/libosmocore/+/24722/3/include/osmocom/gsm/gsm0808.h File include/osmocom/gsm/gsm0808.h: https://gerrit.osmocom.org/c/libosmocore/+/24722/3/include/osmocom/gsm/gsm0808.h at 73 PS3, Line 73: bool more_items; /*< always set this to false */ > I agree with Pau here. [?] so far i was only aware of the 'more_items' method. using sizeof() is interesting, could have done that. but in this file the 'more_items' way is already in use in many places, so i guess i'll stick to that for gsm0808.h -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24722 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib3906085e0c6e5a496a9f755f0f786238a86ca34 Gerrit-Change-Number: 24722 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Jun 2021 17:23:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 23 17:23:13 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Jun 2021 17:23:13 +0000 Subject: Change in libosmocore[master]: add Kc128 to gsm0808 Create Ciphering Command In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24722 ) Change subject: add Kc128 to gsm0808 Create Ciphering Command ...................................................................... add Kc128 to gsm0808 Create Ciphering Command Prepare for A5/4 support in osmo-msc. Add new function gsm0808_create_cipher2() which takes a struct as argument instead of individual fields. This is akin to e.g. gsm0808_create_handover_request() below in the file, and allows backwards compatibly extending the argument list without needing a new function signature every time. Add struct gsm0808_cipher_mode_command, as argument list for gsm0808_create_cipher2(), with kc128 included. Encode the Kc128 IE in gsm0808_create_cipher2(). Implement gsm0808_create_cipher() by calling gsm0808_create_cipher2(). Change-Id: Ib3906085e0c6e5a496a9f755f0f786238a86ca34 --- M include/osmocom/gsm/gsm0808.h M include/osmocom/gsm/gsm0808_utils.h M src/gsm/gsm0808.c M src/gsm/gsm0808_utils.c M src/gsm/libosmogsm.map 5 files changed, 73 insertions(+), 10 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 dexter: Looks good to me, but someone else must approve neels: Looks good to me, approved diff --git a/include/osmocom/gsm/gsm0808.h b/include/osmocom/gsm/gsm0808.h index dc3610f..3e39460 100644 --- a/include/osmocom/gsm/gsm0808.h +++ b/include/osmocom/gsm/gsm0808.h @@ -54,6 +54,26 @@ struct msgb *gsm0808_create_clear_complete(void); struct msgb *gsm0808_create_cipher(const struct gsm0808_encrypt_info *ei, const uint8_t *cipher_response_mode); + +struct gsm0808_cipher_mode_command { + struct gsm0808_encrypt_info ei; + + /*! 3GPP TS 48.008 3.2.2.34 Cipher Response Mode, optional IE */ + bool cipher_response_mode_present; + /*! 3GPP TS 48.008 3.2.2.34 Cipher Response Mode: + * 0 - IMEISV must not be included by the Mobile Station; + * 1 - IMEISV must be included by the Mobile Station. + */ + uint8_t cipher_response_mode; + + bool kc128_present; + uint8_t kc128[16]; + + /* more items are defined in the spec and may be added later */ + bool more_items; /*< always set this to false */ +}; +struct msgb *gsm0808_create_cipher2(const struct gsm0808_cipher_mode_command *cmc); + struct msgb *gsm0808_create_cipher_complete(struct msgb *layer3, uint8_t alg_id); struct msgb *gsm0808_create_cipher_reject(enum gsm0808_cause cause); struct msgb *gsm0808_create_cipher_reject_ext(enum gsm0808_cause_class class, uint8_t ext); diff --git a/include/osmocom/gsm/gsm0808_utils.h b/include/osmocom/gsm/gsm0808_utils.h index 76e9064..60e665b 100644 --- a/include/osmocom/gsm/gsm0808_utils.h +++ b/include/osmocom/gsm/gsm0808_utils.h @@ -125,6 +125,8 @@ const struct gsm0808_encrypt_info *ei); int gsm0808_dec_encrypt_info(struct gsm0808_encrypt_info *ei, const uint8_t *elem, uint8_t len); +int gsm0808_enc_kc128(struct msgb *msg, const uint8_t *kc128); +int gsm0808_dec_kc128(uint8_t *kc128, const uint8_t *elem, uint8_t len); uint8_t gsm0808_enc_cell_id_list2(struct msgb *msg, const struct gsm0808_cell_id_list2 *cil); uint8_t gsm0808_enc_cell_id_list(struct msgb *msg, const struct gsm0808_cell_id_list *cil) diff --git a/src/gsm/gsm0808.c b/src/gsm/gsm0808.c index 3a39fd1..4f072f7 100644 --- a/src/gsm/gsm0808.c +++ b/src/gsm/gsm0808.c @@ -228,22 +228,32 @@ return msg; } -/*! Create BSSMAP Cipher Mode Command message +/*! Superseded by gsm0808_create_cipher2() to include Kc128. + * Create BSSMAP Cipher Mode Command message (without Kc128). * \param[in] ei Mandatory Encryption Information + * \param[in] kc128 optional kc128 key for A5/4 * \param[in] cipher_response_mode optional 1-byte Cipher Response Mode * \returns callee-allocated msgb with BSSMAP Cipher Mode Command message */ struct msgb *gsm0808_create_cipher(const struct gsm0808_encrypt_info *ei, const uint8_t *cipher_response_mode) { + struct gsm0808_cipher_mode_command cmc = { + .ei = *ei, + .cipher_response_mode_present = (cipher_response_mode != NULL), + .cipher_response_mode = (cipher_response_mode ? *cipher_response_mode : 0), + }; + return gsm0808_create_cipher2(&cmc); +} + +/*! Create BSSMAP Cipher Mode Command message. + * \param[in] cmc Information to encode. + * \returns callee-allocated msgb with BSSMAP Cipher Mode Command message */ +struct msgb *gsm0808_create_cipher2(const struct gsm0808_cipher_mode_command *cmc) +{ /* See also: 3GPP TS 48.008 3.2.1.30 CIPHER MODE COMMAND */ struct msgb *msg; - /* Mandatory emelent! */ - OSMO_ASSERT(ei); - - msg = - msgb_alloc_headroom(BSSMAP_MSG_SIZE, BSSMAP_MSG_HEADROOM, - "cipher-mode-command"); + msg = msgb_alloc_headroom(BSSMAP_MSG_SIZE, BSSMAP_MSG_HEADROOM, "cipher-mode-command"); if (!msg) return NULL; @@ -251,12 +261,16 @@ msgb_v_put(msg, BSS_MAP_MSG_CIPHER_MODE_CMD); /* Encryption Information 3.2.2.10 */ - gsm0808_enc_encrypt_info(msg, ei); + gsm0808_enc_encrypt_info(msg, &cmc->ei); /* Cipher Response Mode 3.2.2.34 */ - if (cipher_response_mode) + if (cmc->cipher_response_mode_present) msgb_tv_put(msg, GSM0808_IE_CIPHER_RESPONSE_MODE, - *cipher_response_mode); + cmc->cipher_response_mode); + + /* Kc128 3.2.2.109 */ + if (cmc->kc128_present) + gsm0808_enc_kc128(msg, cmc->kc128); /* pre-pend the header */ msg->l3h = diff --git a/src/gsm/gsm0808_utils.c b/src/gsm/gsm0808_utils.c index 94c9a79..b5b8431 100644 --- a/src/gsm/gsm0808_utils.c +++ b/src/gsm/gsm0808_utils.c @@ -767,6 +767,30 @@ return (int)(elem - old_elem); } +/*! Encode TS 48.008 Kc128 IE. + * \param[out] msg Message Buffer to which IE is to be appended. + * \param[in] kc128 Pointer to 16 bytes of Kc128 key data. + * \returns number of bytes appended to msg */ +int gsm0808_enc_kc128(struct msgb *msg, const uint8_t *kc128) +{ + uint8_t *start = msg->tail; + msgb_tv_fixed_put(msg, GSM0808_IE_KC_128, 16, kc128); + return msg->tail - start; +} + +/*! Decode TS 48.008 Kc128 IE. + * \param[out] kc128 Target buffer for received Kc128 key, 16 bytes long. + * \param[in] elem IE value to be decoded (without IE discriminator). + * \param[in] len Length of elem in bytes. + * \returns number of bytes parsed; negative on error */ +int gsm0808_dec_kc128(uint8_t *kc128, const uint8_t *elem, uint8_t len) +{ + if (len != 16) + return -EINVAL; + memcpy(kc128, elem, 16); + return len; +} + /* Store individual Cell Identifier information in a CGI, without clearing the remaining ones. * This is useful to supplement one CGI with information from more than one Cell Identifier, * which in turn is useful to match Cell Identifiers of differing kinds to each other. diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 437599b..475ec02 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -170,6 +170,7 @@ gsm0808_create_assignment_failure; gsm0808_create_ass_fail; gsm0808_create_cipher; +gsm0808_create_cipher2; gsm0808_create_cipher_complete; gsm0808_create_cipher_reject; gsm0808_create_cipher_reject_ext; @@ -218,6 +219,8 @@ gsm0808_dec_channel_type; gsm0808_enc_encrypt_info; gsm0808_dec_encrypt_info; +gsm0808_enc_kc128; +gsm0808_dec_kc128; gsm0808_enc_cell_id_list; gsm0808_enc_cell_id_list2; gsm0808_dec_cell_id_list; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24722 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib3906085e0c6e5a496a9f755f0f786238a86ca34 Gerrit-Change-Number: 24722 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder 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 Wed Jun 23 17:24:42 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Jun 2021 17:24:42 +0000 Subject: Change in osmo-bsc[master]: use osmo_select_shutdown to get rid of SIGTERM sleep In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24675 ) Change subject: use osmo_select_shutdown to get rid of SIGTERM sleep ...................................................................... Patch Set 1: > Thats why osmo-bsc always needs some time to terminate after pressing CTRL+C ;-) exactly, has been annoying me for years... (osmo-bsc patch also coming up) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24675 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9a4a629805c49240b8be412e9def298cdf5bc996 Gerrit-Change-Number: 24675 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Jun 2021 17:24: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 Jun 23 17:25:03 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Jun 2021 17:25:03 +0000 Subject: Change in osmo-bsc[master]: use osmo_select_shutdown to get rid of SIGTERM sleep In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24675 ) Change subject: use osmo_select_shutdown to get rid of SIGTERM sleep ...................................................................... Patch Set 1: > Patch Set 1: > > > Thats why osmo-bsc always needs some time to terminate after pressing CTRL+C ;-) > > exactly, has been annoying me for years... (osmo-bsc patch also coming up) i meant osmo-msc patch -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24675 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9a4a629805c49240b8be412e9def298cdf5bc996 Gerrit-Change-Number: 24675 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Jun 2021 17:25:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 23 17:29:52 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Jun 2021 17:29:52 +0000 Subject: Change in osmo-msc[master]: osmo-msc main: use osmo_select_shutdown() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/24753 ) Change subject: osmo-msc main: use osmo_select_shutdown() ...................................................................... osmo-msc main: use osmo_select_shutdown() Change-Id: I75f4637c051ed44628e65dab1bdbbf28dcc9626f --- M src/osmo-msc/msc_main.c 1 file changed, 15 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/53/24753/1 diff --git a/src/osmo-msc/msc_main.c b/src/osmo-msc/msc_main.c index fcca101..a0f584d 100644 --- a/src/osmo-msc/msc_main.c +++ b/src/osmo-msc/msc_main.c @@ -776,14 +776,24 @@ } } - while (!quit) { + do { log_reset_context(); osmo_select_main_ctx(0); - } - msc_network_shutdown(msc_network); - osmo_signal_dispatch(SS_L_GLOBAL, S_L_GLOBAL_SHUTDOWN, NULL); - sleep(3); + /* If the user hits Ctrl-C the third time, just terminate immediately. */ + if (quit >= 3) + break; + + /* Has SIGTERM been received (and not yet been handled)? */ + if (quit && !osmo_select_shutdown_requested()) { + msc_network_shutdown(msc_network); + osmo_signal_dispatch(SS_L_GLOBAL, S_L_GLOBAL_SHUTDOWN, NULL); + + /* Request write-only mode in osmo_select_main_ctx() */ + osmo_select_shutdown_request(); + /* continue the main select loop until all write queues are serviced. */ + } + } while (!osmo_select_shutdown_done()); log_fini(); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24753 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I75f4637c051ed44628e65dab1bdbbf28dcc9626f Gerrit-Change-Number: 24753 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 Jun 23 17:52:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Jun 2021 17:52:03 +0000 Subject: Change in osmo-bsc[master]: Introduce ANR support 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/+/24550 to look at the new patch set (#6). Change subject: Introduce ANR support ...................................................................... Introduce ANR support See doc/manuals/chapters/anr.adoc introduced in this commit for a full description. Related: SYS#5303 Change-Id: I21beb4e5c101157cd0977fd9a607c2fe5350befe --- A doc/manuals/chapters/anr.adoc M doc/manuals/osmobsc-usermanual.adoc M include/osmocom/bsc/abis_osmo.h M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_04_08_rr.h M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/neighbor_ident.h M include/osmocom/bsc/pcuif_proto.h M include/osmocom/bsc/vty.h M src/ipaccess/ipaccess-config.c M src/ipaccess/ipaccess-proxy.c M src/osmo-bsc/abis_osmo.c M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/neighbor_ident_vty.c M src/osmo-bsc/osmo_bsc_main.c M src/utils/bs11_config.c M src/utils/meas_json.c M tests/abis/abis_test.c M tests/acc/acc_test.c M tests/nanobts_omlattr/nanobts_omlattr_test.c 23 files changed, 529 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/50/24550/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I21beb4e5c101157cd0977fd9a607c2fe5350befe Gerrit-Change-Number: 24550 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 23 17:52:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Jun 2021 17:52:03 +0000 Subject: Change in osmo-bsc[master]: pcuif_proto.h: Add new container messages References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24754 ) Change subject: pcuif_proto.h: Add new container messages ...................................................................... pcuif_proto.h: Add new container messages Related: SYS#5303 Change-Id: Icc50f903a7fe1464549537a24b2bd2befaf6f7e1 --- M include/osmocom/bsc/pcuif_proto.h 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/54/24754/1 diff --git a/include/osmocom/bsc/pcuif_proto.h b/include/osmocom/bsc/pcuif_proto.h index 38ca4b6..3e6f651 100644 --- a/include/osmocom/bsc/pcuif_proto.h +++ b/include/osmocom/bsc/pcuif_proto.h @@ -24,6 +24,7 @@ #define PCU_IF_MSG_INTERF_IND 0x53 /* interference report */ #define PCU_IF_MSG_PAG_REQ 0x60 /* paging request */ #define PCU_IF_MSG_TXT_IND 0x70 /* Text indication for BTS */ +#define PCU_IF_MSG_CONTAINER 0x80 /* Transparent container message */ /* sapi */ #define PCU_IF_SAPI_RACH 0x01 /* channel request on CCCH */ @@ -217,6 +218,14 @@ uint8_t interf[8]; } __attribute__ ((packed)); +/* Contains messages transmitted BSC<->PCU, potentially forwarded by BTS via IPA/PCU */ +struct gsm_pcu_if_container { + uint8_t msg_type; + uint8_t spare; + uint16_t length; /* network byte order */ + uint8_t data[0]; +} __attribute__ ((packed)); + struct gsm_pcu_if { /* context based information */ uint8_t msg_type; /* message type */ @@ -238,6 +247,7 @@ struct gsm_pcu_if_pag_req pag_req; struct gsm_pcu_if_app_info_req app_info_req; struct gsm_pcu_if_interf_ind interf_ind; + struct gsm_pcu_if_container container; } u; } __attribute__ ((packed)); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24754 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icc50f903a7fe1464549537a24b2bd2befaf6f7e1 Gerrit-Change-Number: 24754 Gerrit-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 Jun 23 17:52:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Jun 2021 17:52:04 +0000 Subject: Change in osmo-bsc[master]: Support proto IPAC_PROTO_EXT_PCU BSC<->PCU References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24755 ) Change subject: Support proto IPAC_PROTO_EXT_PCU BSC<->PCU ...................................................................... Support proto IPAC_PROTO_EXT_PCU BSC<->PCU Related: SYS#5303 Change-Id: I4b3919f3098b9468e5e024db1e45427af24c1ad4 --- M include/osmocom/bsc/Makefile.am A include/osmocom/bsc/abis_osmo.h M include/osmocom/bsc/bts.h M src/ipaccess/Makefile.am M src/osmo-bsc/Makefile.am A src/osmo-bsc/abis_osmo.c M src/osmo-bsc/bts_ipaccess_nanobts.c M src/utils/Makefile.am M tests/abis/Makefile.am M tests/acc/Makefile.am M tests/bsc/Makefile.am M tests/gsm0408/Makefile.am M tests/handover/Makefile.am M tests/nanobts_omlattr/Makefile.am 14 files changed, 220 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/55/24755/1 diff --git a/include/osmocom/bsc/Makefile.am b/include/osmocom/bsc/Makefile.am index be27dae..5e866cc 100644 --- a/include/osmocom/bsc/Makefile.am +++ b/include/osmocom/bsc/Makefile.am @@ -2,6 +2,7 @@ a_reset.h \ abis_nm.h \ abis_om2000.h \ + abis_osmo.h \ abis_rsl.h \ acc.h \ assignment_fsm.h \ diff --git a/include/osmocom/bsc/abis_osmo.h b/include/osmocom/bsc/abis_osmo.h new file mode 100644 index 0000000..97871ac --- /dev/null +++ b/include/osmocom/bsc/abis_osmo.h @@ -0,0 +1,33 @@ +/* GSM Network Management messages on the A-bis interface + * 3GPP TS 12.21 version 8.0.0 Release 1999 / ETSI TS 100 623 V8.0.0 */ + +/* (C) 2008-2009 by Harald Welte + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#pragma once + +#include + +#include + +#include + +struct gsm_bts; + +int abis_osmo_rcvmsg(struct msgb *msg); +int abis_osmo_sendmsg(struct gsm_bts *bts, struct msgb *msg); diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index b6980d1..49691e0 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -291,6 +291,8 @@ /* Connected PCU version (if any) */ char pcu_version[MAX_VERSION_LENGTH]; + /* PCU sign_link, over OML line: */ + struct e1inp_sign_link *osmo_link; /* maximum Tx power that the MS is permitted to use in this cell */ int ms_max_power; diff --git a/src/ipaccess/Makefile.am b/src/ipaccess/Makefile.am index e282c6f..351f618 100644 --- a/src/ipaccess/Makefile.am +++ b/src/ipaccess/Makefile.am @@ -50,6 +50,7 @@ $(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 \ @@ -74,6 +75,7 @@ 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 \ diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am index f91c6bf..df4e0c3 100644 --- a/src/osmo-bsc/Makefile.am +++ b/src/osmo-bsc/Makefile.am @@ -31,6 +31,7 @@ abis_nm_vty.c \ abis_om2000.c \ abis_om2000_vty.c \ + abis_osmo.c \ abis_rsl.c \ acc.c \ assignment_fsm.c \ diff --git a/src/osmo-bsc/abis_osmo.c b/src/osmo-bsc/abis_osmo.c new file mode 100644 index 0000000..39caac6 --- /dev/null +++ b/src/osmo-bsc/abis_osmo.c @@ -0,0 +1,161 @@ +/* Osmocom specific protocols over Abis (IPA) */ + +/* (C) 2021 sysmocom - s.f.m.c. GmbH + * Author: Pau Espin Pedrol + * 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 + +#define OM_HEADROOM_SIZE 128 + +//////////////////////////////////////// +// OSMO ABIS extensions (PCU) +/////////////////////////////////////// +#define PCUIF_HDR_SIZE ( sizeof(struct gsm_pcu_if) - sizeof(((struct gsm_pcu_if *)0)->u) ) + +#if 0 +static struct msgb *abis_osmo_pcu_msgb_alloc(uint8_t msg_type, uint8_t bts_nr, size_t extra_size) +{ + struct msgb *msg; + struct gsm_pcu_if *pcu_prim; + msg = msgb_alloc_headroom(OM_HEADROOM_SIZE + sizeof(struct gsm_pcu_if) + extra_size, + OM_HEADROOM_SIZE, "IPA/ABIS/OSMO"); + /* Only header is filled, caller is responible for reserving + filling + * message type specific contents: */ + msgb_put(msg, PCUIF_HDR_SIZE); + pcu_prim = (struct gsm_pcu_if *) msgb_data(msg); + pcu_prim->msg_type = msg_type; + pcu_prim->bts_nr = bts_nr; + return msg; +} + +/* Send a OML NM Message from BSC to BTS */ +static int abis_osmo_pcu_sendmsg(struct gsm_bts *bts, struct msgb *msg) +{ + ipa_prepend_header_ext(msg, IPAC_PROTO_EXT_PCU); + return abis_osmo_sendmsg(bts, msg); +} +#endif + +static int rcvmsg_pcu_container(struct gsm_bts *bts, struct gsm_pcu_if_container *container, size_t container_len) +{ + int rc; + uint16_t data_length = osmo_load16be(&container->length); + + if (container_len < sizeof(*container) + data_length) { + LOGP(DNM, LOGL_ERROR, "ABIS_OSMO_PCU CONTAINER message inside (%d) too short\n", + container->msg_type); + return -EINVAL; + } + + LOGP(DNM, LOGL_INFO, "(bts=%d) Rx ABIS_OSMO_PCU CONTAINER msg type %u\n", + bts->nr, container->msg_type); + + switch (container->msg_type) { + default: + LOGP(DNM, LOGL_NOTICE, "(bts=%d) Rx ABIS_OSMO_PCU unexpected msg type (%u) inside container!\n", + bts->nr, container->msg_type); + rc = -1; + } + + return rc; +} + +static int rcvmsg_pcu(struct gsm_bts *bts, struct msgb *msg) +{ + struct gsm_pcu_if *pcu_prim; + int rc; + + if (msgb_l2len(msg) < PCUIF_HDR_SIZE) { + LOGP(DNM, LOGL_ERROR, "ABIS_OSMO_PCU message too short\n"); + return -EIO; + } + + pcu_prim = msgb_l2(msg); + LOGP(DNM, LOGL_INFO, "(bts=%d) Rx ABIS_OSMO_PCU msg type %u\n", + pcu_prim->bts_nr, pcu_prim->msg_type); + + switch (pcu_prim->msg_type) { + case PCU_IF_MSG_CONTAINER: + if (msgb_l2len(msg) < PCUIF_HDR_SIZE + sizeof(pcu_prim->u.container)) { + LOGP(DNM, LOGL_ERROR, "ABIS_OSMO_PCU CONTAINER message too short\n"); + rc = -EINVAL; + } else { + rc = rcvmsg_pcu_container(bts, &pcu_prim->u.container, msgb_l2len(msg) - PCUIF_HDR_SIZE); + } + break; + default: + LOGP(DNM, LOGL_NOTICE, "(bts=%d) Rx ABIS_OSMO_PCU unexpected msg type %u!\n", + pcu_prim->bts_nr, pcu_prim->msg_type); + rc = -1; + } + + return rc; +} + +//////////////////////////////////////// +// OSMO ABIS extensions (generic code) +/////////////////////////////////////// + +/* High-Level API */ +/* Entry-point where L2 OSMO from BTS enters the NM code */ +int abis_osmo_rcvmsg(struct msgb *msg) +{ + int rc; + struct e1inp_sign_link *link = msg->dst; + struct gsm_bts *bts = link->trx->bts; + uint8_t *osmo_type = msgb_l2(msg); + msg->l2h = osmo_type + 1; + + switch (*osmo_type) { + case IPAC_PROTO_EXT_PCU: + rc = rcvmsg_pcu(bts, msg); + break; + default: + LOGP(DNM, LOGL_ERROR, "IPAC_PROTO_EXT 0x%x not supported!\n", + *osmo_type); + rc = -EINVAL; + } + + msgb_free(msg); + return rc; +} + + +/* Send a OML NM Message from BSC to BTS */ +int abis_osmo_sendmsg(struct gsm_bts *bts, struct msgb *msg) +{ + msg->dst = bts->osmo_link; + + msg->l2h = msg->data; + + return abis_sendmsg(msg); + +} diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c index b97ae1c..26e2196 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts.c @@ -37,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -557,6 +558,10 @@ bts->uptime = 0; osmo_stat_item_dec(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_OML_CONNECTED), 1); + /* Also drop the associated OSMO link */ + e1inp_sign_link_destroy(bts->osmo_link); + bts->osmo_link = NULL; + /* we have issues reconnecting RSL, drop everything. */ llist_for_each_entry(trx, &bts->trx_list, list) { ipaccess_drop_rsl(trx, "OML link drop"); @@ -713,6 +718,10 @@ sign_link->trx->bts->ip_access.flags |= OML_UP; } osmo_stat_item_inc(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_OML_CONNECTED), 1); + + /* Create link for E1INP_SIGN_OSMO */ + //SAPI must be 0, no IPAC_PROTO_EXT_PCU, see ipaccess_bts_read_cb + bts->osmo_link = e1inp_sign_link_create(sign_ts, E1INP_SIGN_OSMO, bts->c0, IPAC_PROTO_OSMO, 0); break; case E1INP_SIGN_RSL: { struct e1inp_ts *ts; @@ -785,6 +794,9 @@ case E1INP_SIGN_OML: ret = abis_nm_rcvmsg(msg); break; + case E1INP_SIGN_OSMO: + ret = abis_osmo_rcvmsg(msg); + break; default: LOGP(DLINP, LOGL_ERROR, "Unknown signal link type %d\n", link->type); diff --git a/src/utils/Makefile.am b/src/utils/Makefile.am index c180390..39d2417 100644 --- a/src/utils/Makefile.am +++ b/src/utils/Makefile.am @@ -48,6 +48,7 @@ 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 \ @@ -132,6 +133,7 @@ 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 \ diff --git a/tests/abis/Makefile.am b/tests/abis/Makefile.am index cb327fb..0612827 100644 --- a/tests/abis/Makefile.am +++ b/tests/abis/Makefile.am @@ -26,6 +26,7 @@ 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 \ diff --git a/tests/acc/Makefile.am b/tests/acc/Makefile.am index 9351545..e0044d0 100644 --- a/tests/acc/Makefile.am +++ b/tests/acc/Makefile.am @@ -26,6 +26,7 @@ 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 \ diff --git a/tests/bsc/Makefile.am b/tests/bsc/Makefile.am index d08ca18..a0bbb81 100644 --- a/tests/bsc/Makefile.am +++ b/tests/bsc/Makefile.am @@ -35,6 +35,7 @@ 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 \ diff --git a/tests/gsm0408/Makefile.am b/tests/gsm0408/Makefile.am index 271a0fd..186dc39 100644 --- a/tests/gsm0408/Makefile.am +++ b/tests/gsm0408/Makefile.am @@ -25,6 +25,7 @@ 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 \ diff --git a/tests/handover/Makefile.am b/tests/handover/Makefile.am index f0b2e7a..65eb6a8 100644 --- a/tests/handover/Makefile.am +++ b/tests/handover/Makefile.am @@ -45,6 +45,7 @@ $(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 \ diff --git a/tests/nanobts_omlattr/Makefile.am b/tests/nanobts_omlattr/Makefile.am index f2afa2b..e31b8e9 100644 --- a/tests/nanobts_omlattr/Makefile.am +++ b/tests/nanobts_omlattr/Makefile.am @@ -24,6 +24,7 @@ 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 \ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24755 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4b3919f3098b9468e5e024db1e45427af24c1ad4 Gerrit-Change-Number: 24755 Gerrit-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 Jun 23 17:52:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Jun 2021 17:52:13 +0000 Subject: Change in osmo-bts[master]: pcuif_proto.h: Add new container messages In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24618 to look at the new patch set (#4). Change subject: pcuif_proto.h: Add new container messages ...................................................................... pcuif_proto.h: Add new container messages Related: SYS#5303 Change-Id: I8deef11f9ec191475c99133629cd5cd9048c4bcb --- M include/osmo-bts/pcuif_proto.h 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/18/24618/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8deef11f9ec191475c99133629cd5cd9048c4bcb Gerrit-Change-Number: 24618 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 23 17:52:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Jun 2021 17:52:13 +0000 Subject: Change in osmo-bts[master]: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU 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-bts/+/24619 to look at the new patch set (#4). Change subject: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU ...................................................................... Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU This new extension protocol is used to forward Osmocom PCUIF messages BSC<->BTS<->PCU. It will be sent re-using the IPA multiplex of the OML link between BSC and BTS. BTS is responsible for forwarding the message over the unix socket to the PCU. PCUIF existing RX path needs to be reworked in order to accept variable-size messages, in order to be able to transparently forward messages without knowing about them (the new container message is variable-length). Related: SYS#5303 Change-Id: I73fdb17107494ade9263a62d1f729e67303fce87 --- M include/osmo-bts/Makefile.am A include/osmo-bts/abis_osmo.h M include/osmo-bts/bts.h M include/osmo-bts/pcu_if.h M src/common/Makefile.am M src/common/abis.c A src/common/abis_osmo.c M src/common/bts.c M src/common/pcu_sock.c 9 files changed, 200 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/19/24619/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I73fdb17107494ade9263a62d1f729e67303fce87 Gerrit-Change-Number: 24619 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 23 17:52:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Jun 2021 17:52:21 +0000 Subject: Change in osmo-pcu[master]: pcuif_proto.h: Add new container message 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-pcu/+/24620 to look at the new patch set (#3). Change subject: pcuif_proto.h: Add new container message ...................................................................... pcuif_proto.h: Add new container message Related: SYS#5303 Change-Id: Ib6c7bf5ca5a06186a71ec50cfc1a91a5c9b01d9c --- M include/osmocom/pcu/pcuif_proto.h 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/20/24620/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24620 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib6c7bf5ca5a06186a71ec50cfc1a91a5c9b01d9c Gerrit-Change-Number: 24620 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 23 17:52:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Jun 2021 17:52:22 +0000 Subject: Change in osmo-pcu[master]: Support proto IPAC_PROTO_EXT_PCU BSC<->PCU References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24756 ) Change subject: Support proto IPAC_PROTO_EXT_PCU BSC<->PCU ...................................................................... Support proto IPAC_PROTO_EXT_PCU BSC<->PCU Related: SYS#5303 Change-Id: I633db291107883c2e370a9b56606d562a990b714 --- M src/osmobts_sock.c M src/pcu_l1_if.cpp M src/pcu_l1_if.h M tests/app_info/AppInfoTest.cpp 4 files changed, 65 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/56/24756/1 diff --git a/src/osmobts_sock.c b/src/osmobts_sock.c index 4e1171f..5c6415f 100644 --- a/src/osmobts_sock.c +++ b/src/osmobts_sock.c @@ -133,10 +133,12 @@ static int pcu_sock_read(struct osmo_fd *bfd) { - struct gsm_pcu_if pcu_prim; + const size_t max_len = sizeof(struct gsm_pcu_if) + 1000; + uint8_t *buf = alloca(max_len); + struct gsm_pcu_if *pcu_prim = (struct gsm_pcu_if *)buf; int rc; - rc = recv(bfd->fd, &pcu_prim, sizeof(pcu_prim), 0); + rc = recv(bfd->fd, buf, max_len, 0); if (rc < 0 && errno == EAGAIN) return 0; /* Try again later */ if (rc <= 0) { @@ -144,7 +146,13 @@ return -EIO; } - return pcu_rx(pcu_prim.msg_type, &pcu_prim); + if (rc < PCUIF_HDR_SIZE) { + LOGP(DL1IF, LOGL_ERROR, "Received %d bytes on PCU Socket, but primitive " + "hdr size is %zu, discarding\n", rc, PCUIF_HDR_SIZE); + return -EINVAL; + } + + return pcu_rx(pcu_prim, rc); } static int pcu_sock_write(struct osmo_fd *bfd) diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index b35c990..2373f60 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -951,9 +951,32 @@ return 0; } -int pcu_rx(uint8_t msg_type, struct gsm_pcu_if *pcu_prim) +static int pcu_rx_container(struct gprs_rlcmac_bts *bts, struct gsm_pcu_if_container *container) +{ + int rc; + + switch (container->msg_type) { + default: + LOGP(DL1IF, LOGL_NOTICE, "(bts=%d) Rx unexpected msg type (%u) inside container!\n", + bts->nr, container->msg_type); + rc = -1; + } + return rc; +} + +#define CHECK_IF_MSG_SIZE(prim_len, prim_msg) \ + do { \ + size_t _len = PCUIF_HDR_SIZE + sizeof(prim_msg); \ + if (prim_len < _len) { \ + LOGP(DL1IF, LOGL_ERROR, "Received %zu bytes on PCU Socket, but primitive %s " \ + "size is %zu, discarding\n", prim_len, #prim_msg, _len); \ + return -EINVAL; \ + } \ + } while(0); +int pcu_rx(struct gsm_pcu_if *pcu_prim, size_t pcu_prim_length) { int rc = 0; + size_t exp_len; struct gprs_rlcmac_bts *bts = gprs_pcu_get_bts_by_nr(the_pcu, pcu_prim->bts_nr); if (!bts) { LOGP(DL1IF, LOGL_NOTICE, "Received message for new BTS%d\n", pcu_prim->bts_nr); @@ -964,40 +987,59 @@ } } - switch (msg_type) { + switch (pcu_prim->msg_type) { case PCU_IF_MSG_DATA_IND: + CHECK_IF_MSG_SIZE(pcu_prim_length, pcu_prim->u.data_ind); rc = pcu_rx_data_ind(bts, &pcu_prim->u.data_ind); break; case PCU_IF_MSG_DATA_CNF: + CHECK_IF_MSG_SIZE(pcu_prim_length, pcu_prim->u.data_cnf); rc = pcu_rx_data_cnf(bts, &pcu_prim->u.data_cnf); break; case PCU_IF_MSG_RTS_REQ: + CHECK_IF_MSG_SIZE(pcu_prim_length, pcu_prim->u.rts_req); rc = pcu_rx_rts_req(bts, &pcu_prim->u.rts_req); break; case PCU_IF_MSG_RACH_IND: + CHECK_IF_MSG_SIZE(pcu_prim_length, pcu_prim->u.rach_ind); rc = pcu_rx_rach_ind(bts, &pcu_prim->u.rach_ind); break; case PCU_IF_MSG_INFO_IND: + CHECK_IF_MSG_SIZE(pcu_prim_length, pcu_prim->u.info_ind); rc = pcu_rx_info_ind(bts, &pcu_prim->u.info_ind); break; case PCU_IF_MSG_TIME_IND: + CHECK_IF_MSG_SIZE(pcu_prim_length, pcu_prim->u.time_ind); rc = pcu_rx_time_ind(bts, &pcu_prim->u.time_ind); break; case PCU_IF_MSG_PAG_REQ: + CHECK_IF_MSG_SIZE(pcu_prim_length, pcu_prim->u.pag_req); rc = pcu_rx_pag_req(bts, &pcu_prim->u.pag_req); break; case PCU_IF_MSG_SUSP_REQ: + CHECK_IF_MSG_SIZE(pcu_prim_length, pcu_prim->u.susp_req); rc = pcu_rx_susp_req(bts, &pcu_prim->u.susp_req); break; case PCU_IF_MSG_APP_INFO_REQ: + CHECK_IF_MSG_SIZE(pcu_prim_length, pcu_prim->u.app_info_req); rc = pcu_rx_app_info_req(bts, &pcu_prim->u.app_info_req); break; case PCU_IF_MSG_INTERF_IND: /* TODO: handle interference reports */ break; + case PCU_IF_MSG_CONTAINER: + CHECK_IF_MSG_SIZE(pcu_prim_length, pcu_prim->u.container); + /* ^ check if we can access container fields, v check with container data length */ + exp_len = PCUIF_HDR_SIZE + sizeof(pcu_prim->u.container) + osmo_load16be(&pcu_prim->u.container.length); + if (pcu_prim_length < exp_len) { + LOGP(DL1IF, LOGL_ERROR, "Received %zu bytes on PCU Socket, but primitive container size" \ + "is %zu, discarding\n", pcu_prim_length, exp_len); + } + rc = pcu_rx_container(bts, &pcu_prim->u.container); + break; default: LOGP(DL1IF, LOGL_ERROR, "Received unknown PCU msg type %d\n", - msg_type); + pcu_prim->msg_type); rc = -EINVAL; } diff --git a/src/pcu_l1_if.h b/src/pcu_l1_if.h index 246444c..2a4f0ea 100644 --- a/src/pcu_l1_if.h +++ b/src/pcu_l1_if.h @@ -160,7 +160,7 @@ #endif struct gprs_rlcmac_bts; -int pcu_rx(uint8_t msg_type, struct gsm_pcu_if *pcu_prim); +int pcu_rx(struct gsm_pcu_if *pcu_prim, size_t pcu_prim_length); int pcu_l1if_open(void); void pcu_l1if_close(void); int pcu_sock_send(struct msgb *msg); @@ -178,6 +178,9 @@ void pcu_rx_block_time(struct gprs_rlcmac_bts *bts, uint16_t arfcn, uint32_t fn, uint8_t ts_no); uint16_t imsi2paging_group(const char* imsi); + +#define PCUIF_HDR_SIZE ( sizeof(struct gsm_pcu_if) - sizeof(((struct gsm_pcu_if *)0)->u) ) + #ifdef __cplusplus } #endif diff --git a/tests/app_info/AppInfoTest.cpp b/tests/app_info/AppInfoTest.cpp index e89680b..d3a047e 100644 --- a/tests/app_info/AppInfoTest.cpp +++ b/tests/app_info/AppInfoTest.cpp @@ -72,7 +72,7 @@ struct gsm_pcu_if pcu_prim = {PCU_IF_MSG_APP_INFO_REQ, }; fprintf(stderr, "--- %s ---\n", __func__); - pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); + pcu_rx(&pcu_prim, sizeof(struct gsm_pcu_if)); fprintf(stderr, "\n"); } @@ -106,7 +106,7 @@ fprintf(stderr, "--- %s ---\n", __func__); pcu_prim.u.app_info_req = *req; - pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); + pcu_rx(&pcu_prim, sizeof(struct gsm_pcu_if)); msg = sched_app_info(tbf1); assert(msg); @@ -126,7 +126,7 @@ fprintf(stderr, "--- %s ---\n", __func__); pcu_prim.u.app_info_req = *req; - pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); + pcu_rx(&pcu_prim, sizeof(struct gsm_pcu_if)); msgb_free(bts->app_info); bts->app_info = NULL; @@ -142,8 +142,8 @@ fprintf(stderr, "--- %s ---\n", __func__); pcu_prim.u.app_info_req = *req; - pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); - pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); + pcu_rx(&pcu_prim, sizeof(struct gsm_pcu_if)); + pcu_rx(&pcu_prim, sizeof(struct gsm_pcu_if)); fprintf(stderr, "\n"); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24756 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I633db291107883c2e370a9b56606d562a990b714 Gerrit-Change-Number: 24756 Gerrit-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 Jun 23 19:31:08 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 23 Jun 2021 19:31:08 +0000 Subject: Change in osmo-bts[master]: pcuif_proto.h: Add new container messages In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24618 ) Change subject: pcuif_proto.h: Add new container messages ...................................................................... Patch Set 4: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24618/4/include/osmo-bts/pcuif_proto.h File include/osmo-bts/pcuif_proto.h: https://gerrit.osmocom.org/c/osmo-bts/+/24618/4/include/osmo-bts/pcuif_proto.h at 27 PS4, Line 27: #define PCU_IF_MSG_CONTAINER 0x80 /* Transparent container message */ cosmetic: tabs vs spaces -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8deef11f9ec191475c99133629cd5cd9048c4bcb Gerrit-Change-Number: 24618 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 23 Jun 2021 19:31:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 23 20:01:30 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 23 Jun 2021 20:01:30 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: indicate A5/4 support, handle Kc128 In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#2) to the change originally created by Hoernchen. ( https://gerrit.osmocom.org/c/osmo-bts/+/24631 ) Change subject: osmo-bts-trx: indicate A5/4 support, handle Kc128 ...................................................................... osmo-bts-trx: indicate A5/4 support, handle Kc128 Change-Id: Ib8e04fe79f30b443a54c38f395a7a3626ff97c45 Related: SYS#5324 --- M src/common/scheduler.c M src/osmo-bts-trx/main.c M tests/cipher/cipher_test.c 3 files changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/31/24631/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib8e04fe79f30b443a54c38f395a7a3626ff97c45 Gerrit-Change-Number: 24631 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Wed Jun 23 20:03:35 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 23 Jun 2021 20:03:35 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60d393a4951e7_72122afc626106001598bf@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/osmo-remsim failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 152s] Requires(post): /sbin/ldconfig [ 152s] Requires(postun): /sbin/ldconfig [ 152s] Requires: ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libosmocore.so.17()(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.17)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) [ 152s] Processing files: libosmo-rspro-devel-0.2.2.111.d5c9d.202106230026-1.1.aarch64 [ 152s] Provides: libosmo-rspro-devel = 0.2.2.111.d5c9d.202106230026-1.1 libosmo-rspro-devel(aarch-64) = 0.2.2.111.d5c9d.202106230026-1.1 pkgconfig(libosmo-rspro) = 0.2.2.111.d5c9d.202106230026 [ 152s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 152s] Requires: /usr/bin/pkg-config [ 152s] Processing files: osmo-remsim-server-0.2.2.111.d5c9d.202106230026-1.1.aarch64 [ 152s] Provides: osmo-remsim-server = 0.2.2.111.d5c9d.202106230026-1.1 osmo-remsim-server(aarch-64) = 0.2.2.111.d5c9d.202106230026-1.1 [ 152s] Requires(interp): /bin/sh /bin/sh /bin/sh /bin/sh [ 152s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 152s] Requires(pre): /bin/sh [ 152s] Requires(post): /bin/sh [ 152s] Requires(preun): /bin/sh [ 152s] Requires(postun): /bin/sh [ 152s] Requires: ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libjansson.so.4()(64bit) liborcania.so.2.2()(64bit) libosmo-rspro.so.1()(64bit) libosmoabis.so.10()(64bit) libosmocore.so.17()(64bit) libosmogsm.so.16()(64bit) libosmogsm.so.16(LIBOSMOGSM_1.0)(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.17)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) libulfius.so.2.7()(64bit) [ 152s] Processing files: osmo-remsim-bankd-0.2.2.111.d5c9d.202106230026-1.1.aarch64 [ 152s] error: File not found: /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.111.d5c9d.202106230026-1.1.aarch64/usr/share/doc/packages/osmo-remsim/examples/bankd_pcsc_slots.csv [ 152s] [ 152s] [ 152s] RPM build errors: [ 152s] File not found: /home/abuild/rpmbuild/BUILDROOT/osmo-remsim-0.2.2.111.d5c9d.202106230026-1.1.aarch64/usr/share/doc/packages/osmo-remsim/examples/bankd_pcsc_slots.csv [ 152s] ### VM INTERACTION START ### [ 155s] [ 136.657143] sysrq: Power Off [ 155s] [ 136.658677] reboot: Power down [ 155s] ### VM INTERACTION END ### [ 155s] [ 155s] obs-arm-9 failed "build osmo-remsim.spec" at Wed Jun 23 20:03:20 UTC 2021. [ 155s] -- 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 Jun 23 20:17:16 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 23 Jun 2021 20:17:16 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: indicate A5/4 support, handle Kc128 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24631 ) Change subject: osmo-bts-trx: indicate A5/4 support, handle Kc128 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib8e04fe79f30b443a54c38f395a7a3626ff97c45 Gerrit-Change-Number: 24631 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: neels Gerrit-Comment-Date: Wed, 23 Jun 2021 20:17: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 Jun 23 21:53:48 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Jun 2021 21:53:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: f_auth3g_kc(): take vec as argument, drop "runs on" References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24757 ) Change subject: msc: f_auth3g_kc(): take vec as argument, drop "runs on" ...................................................................... msc: f_auth3g_kc(): take vec as argument, drop "runs on" It is more elegant to have one arg and not require a "runs on". Related: SYS#5324 Change-Id: Iec21710edaa6ad3d20e23c7ee055909c642e8220 --- M msc/BSC_ConnectionHandler.ttcn 1 file changed, 5 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/57/24757/1 diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index 8eb3f73..01db3d0 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -435,7 +435,7 @@ g_pars.vec.autn, g_pars.vec.res)); GSUP.send(ts_GSUP_SAI_RES(g_pars.imsi, auth_tuple)); - g_pars.vec.kc := f_auth3g_kc(); + g_pars.vec.kc := f_auth3g_kc(g_pars.vec); } else { g_pars.vec := f_gen_auth_vec_2g(); auth_tuple := valueof(ts_GSUP_IE_AuthTuple2G(g_pars.vec.rand, @@ -548,11 +548,12 @@ } } -function f_auth3g_kc() runs on BSC_ConnHdlr return OCT8 { +/* For UMTS AKA on GERAN, calculate the specific kc from the UMTS AKA ck and ik vectors. */ +function f_auth3g_kc(AuthVector vec) return OCT8 { var integer i; - var octetstring res := g_pars.vec.ck[0] xor4b g_pars.vec.ck[0 + 8] xor4b g_pars.vec.ik[0] xor4b g_pars.vec.ik[0 + 8]; + var octetstring res := vec.ck[0] xor4b vec.ck[0 + 8] xor4b vec.ik[0] xor4b vec.ik[0 + 8]; for (i := 1; i < 8; i := i + 1) { - var octetstring a := g_pars.vec.ck[i] xor4b g_pars.vec.ck[i + 8] xor4b g_pars.vec.ik[i] xor4b g_pars.vec.ik[i + 8]; + var octetstring a := vec.ck[i] xor4b vec.ck[i + 8] xor4b vec.ik[i] xor4b vec.ik[i + 8]; res := res & a; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24757 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iec21710edaa6ad3d20e23c7ee055909c642e8220 Gerrit-Change-Number: 24757 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 Jun 23 21:53:48 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Jun 2021 21:53:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: cipher mode: move cipher expect to new function References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24758 ) Change subject: msc: cipher mode: move cipher expect to new function ...................................................................... msc: cipher mode: move cipher expect to new function Move the ciphering calculations from f_mm_common() to new function f_get_expected_encryption(), so that it can be re-used for ciphering in inter-BSC handover (upcoming patch). Add tr_BSSMAP_CipherModeCmd2() to conveniently use the values returned by f_get_expected_encryption(). To verify the Ciphering Mode Command in f_mm_common(), use the new tr_BSSMAP_CipherModeCmd2(), and rely on template matching instead of checking each IE individually. Related: SYS#5324 Change-Id: I1f775889fb801d441ea6c8b0f0c34718b814c09e --- M library/BSSMAP_Templates.ttcn M msc/BSC_ConnectionHandler.ttcn 2 files changed, 56 insertions(+), 29 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/58/24758/1 diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index 1dcbef1..cde0fb0 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -546,6 +546,11 @@ } } +template BSSMAP_IE_KC128 tr_BSSMAP_IE_Kc128(template OCT16 kc128) := { + elementIdentifier := '83'O, + kC128_Value := kc128 +} + template (value) BSSMAP_IE_KC128 ts_BSSMAP_IE_Kc128(OCT16 kc128) := { elementIdentifier := '83'O, kC128_Value := kc128 @@ -1398,21 +1403,25 @@ } } -template PDU_BSSAP tr_BSSMAP_CipherModeCmd(template OCT1 alg, template OCT8 key) +template PDU_BSSAP tr_BSSMAP_CipherModeCmd2(template BSSMAP_IE_EncryptionInformation encryptionInformation := *, + template BSSMAP_IE_KC128 kC128 := *) modifies tr_BSSAP_BSSMAP := { pdu := { bssmap := { cipherModeCommand := { messageType := '53'O, layer3HeaderInfo := *, - encryptionInformation := tr_BSSMAP_IE_EncrInfo(key, alg), + encryptionInformation := encryptionInformation, cipherResponseMode := *, - kC128 := * + kC128 := kC128 } } } } +template PDU_BSSAP tr_BSSMAP_CipherModeCmd(template OCT1 alg, template OCT8 key, template BSSMAP_IE_KC128 kC128 := omit) + := tr_BSSMAP_CipherModeCmd2(tr_BSSMAP_IE_EncrInfo(key, alg), kC128); + template PDU_BSSAP ts_BSSMAP_CipherModeCompl(OCT1 alg) modifies ts_BSSAP_BSSMAP := { pdu := { diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index 01db3d0..be72399 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -560,44 +560,62 @@ return res; } +function f_get_expected_encryption( + out template BSSMAP_IE_EncryptionInformation encryptionInformation, + out template BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm, + out template BSSMAP_IE_KC128 kC128, + out OCT1 a5_perm_alg) + runs on BSC_ConnHdlr +{ + var OCT1 a5_ms := f_alg_mask_from_cm(g_pars.cm2, g_pars.cm3); + a5_perm_alg := g_pars.net.kc_support and4b a5_ms; + + if (not g_pars.net.expect_ciph) { + encryptionInformation := *; + chosenEncryptionAlgorithm := *; + kC128 := *; + return; + } + + encryptionInformation := tr_BSSMAP_IE_EncrInfo(g_pars.vec.kc, a5_perm_alg); + + var OCT1 chosen_alg := int2oct(f_alg_from_mask(f_best_alg_from_mask(a5_perm_alg)) + 1, 1); + chosenEncryptionAlgorithm := tr_BSSMAP_IE_ChosenEncryptionAlgorithm(chosen_alg); + + if (g_pars.use_umts_aka and f_alg_supported_by_mask(a5_perm_alg, 4)) { + /* A5/4 is permitted, expecting kc128 to be present */ + var OCT32 full_sha256 := f_calculate_HMAC_SHA256(g_pars.vec.ck & g_pars.vec.ik, '32'O, 32); + var OCT16 expect_kc128 := substr(full_sha256, 0, 16); + kC128 := tr_BSSMAP_IE_Kc128(expect_kc128); + } else { + kC128 := omit + } +} + function f_mm_common() runs on BSC_ConnHdlr { f_mm_auth(); if (g_pars.ran_is_geran) { if (g_pars.net.expect_ciph) { - var OCT1 a5_net := f_alg_mask_from_cm(g_pars.cm2, g_pars.cm3); - var OCT1 a5_intersect := g_pars.net.kc_support and4b a5_net; - var boolean has_a54 := f_alg_supported_by_mask(a5_intersect, 4); + var template BSSMAP_IE_EncryptionInformation encryptionInformation; + var template BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm; + var template BSSMAP_IE_KC128 kC128; + var OCT1 a5_perm_alg; + f_get_expected_encryption(encryptionInformation, chosenEncryptionAlgorithm, kC128, a5_perm_alg); var PDU_BSSAP pdu; + var template PDU_BSSAP expect_ciph_mode_cmd := tr_BSSMAP_CipherModeCmd2(encryptionInformation, kC128); alt { - [] BSSAP.receive(tr_BSSMAP_CipherModeCmd(a5_intersect, g_pars.vec.kc)) -> value pdu { - var PDU_BSSMAP_CipherModeCommand ciphmodcmd := pdu.pdu.bssmap.cipherModeCommand; - if (g_pars.use_umts_aka and has_a54) { - var OCT32 fulloutput := f_calculate_HMAC_SHA256(g_pars.vec.ck & g_pars.vec.ik, '32'O, 32); - var OCT16 kc128 := substr(fulloutput, 0, 16); - if (not ispresent(ciphmodcmd.kC128)) { - setverdict(fail, "kc128 missing in CiphModCmd"); - mtc.stop; - } - if (ciphmodcmd.kC128.kC128_Value != kc128) { - setverdict(fail, "kc128 wrong in CiphModCmd?!", kc128); - mtc.stop; - } - } else { - if (ispresent(ciphmodcmd.kC128)) { - setverdict(fail, "kc128 present in CiphModCmd, but should not exist!"); - mtc.stop; - } - } - - var OCT1 a5_chosen := f_best_alg_from_mask(a5_intersect); + [] BSSAP.receive(expect_ciph_mode_cmd) -> value pdu { + var OCT1 a5_chosen := f_best_alg_from_mask(a5_perm_alg); var integer a5_nr := f_alg_from_mask(a5_chosen); BSSAP.send(ts_BSSMAP_CipherModeCompl(int2oct(a5_nr+1, 1))); } - [] BSSAP.receive(tr_BSSMAP_CipherModeCmd(?, g_pars.vec.kc)) { - setverdict(fail, "Wrong ciphering algorithm mask in CiphModCmd"); + [] BSSAP.receive(tr_BSSMAP_CipherModeCmd2) -> value pdu { + log("Error: Ciphering Mode Command with unexpected content. Expected: ", + expect_ciph_mode_cmd, " got: ", pdu); + setverdict(fail, "Ciphering Mode Command with unexpected content."); mtc.stop; } [] BSSAP.receive(tr_BSSMAP_ClassmarkRequest) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24758 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1f775889fb801d441ea6c8b0f0c34718b814c09e Gerrit-Change-Number: 24758 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 Jun 23 21:53:49 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Jun 2021 21:53:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: generate Milenage ck in f_get_expected_encryption() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24759 ) Change subject: msc: generate Milenage ck in f_get_expected_encryption() ...................................................................... msc: generate Milenage ck in f_get_expected_encryption() Instead of overwriting the ck of the original auth vector, generate the Milenage-on-GERAN Ck key only for the expected ciphering IEs, centrally in f_get_expected_encryption(). Related: SYS#5324 Change-Id: Iec618ba7fddb2290fc0137d99a9b8d5e2b428b98 --- M msc/BSC_ConnectionHandler.ttcn 1 file changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/59/24759/1 diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index be72399..68a370d 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -435,7 +435,6 @@ g_pars.vec.autn, g_pars.vec.res)); GSUP.send(ts_GSUP_SAI_RES(g_pars.imsi, auth_tuple)); - g_pars.vec.kc := f_auth3g_kc(g_pars.vec); } else { g_pars.vec := f_gen_auth_vec_2g(); auth_tuple := valueof(ts_GSUP_IE_AuthTuple2G(g_pars.vec.rand, @@ -577,7 +576,13 @@ return; } - encryptionInformation := tr_BSSMAP_IE_EncrInfo(g_pars.vec.kc, a5_perm_alg); + var OCT8 kc; + if (g_pars.use_umts_aka) { + kc := f_auth3g_kc(g_pars.vec); + } else { + kc := g_pars.vec.kc; + } + encryptionInformation := tr_BSSMAP_IE_EncrInfo(kc, a5_perm_alg); var OCT1 chosen_alg := int2oct(f_alg_from_mask(f_best_alg_from_mask(a5_perm_alg)) + 1, 1); chosenEncryptionAlgorithm := tr_BSSMAP_IE_ChosenEncryptionAlgorithm(chosen_alg); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24759 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iec618ba7fddb2290fc0137d99a9b8d5e2b428b98 Gerrit-Change-Number: 24759 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 Jun 23 21:53:49 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Jun 2021 21:53:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add vec_keep to lock the AuthVector References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24760 ) Change subject: msc: add vec_keep to lock the AuthVector ...................................................................... msc: add vec_keep to lock the AuthVector Next to AuthVector vec, add boolean vec_keep. When set to true, as_GSUP_SAI() skips the vector regeneration. An upcoming patch adds encryption to inter-BSC handover, which will use vec_keep := true. (See I57e43c60d4389bd301d0195179321a34401bd1dc ) Rationale: Usually, a random auth vector is generated during as_GSUP_SAI(). For inter-BSC handover, there are two separate virt-BSC components running. But to be able to verify that the correct key is passed on from the old to the new BSS, both titan components need to have the same AuthVector data. The easiest solution is to generate the AuthVector before launching the components, and then prevent that it is changed by as_GSUP_SAI(). Related: SYS#5324 Related: I57e43c60d4389bd301d0195179321a34401bd1dc Change-Id: I4bca739c2aad8342915e00a218f90fc19be7eafe --- M msc/BSC_ConnectionHandler.ttcn M msc/MSC_Tests.ttcn 2 files changed, 10 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/60/24760/1 diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index 68a370d..456b5f5 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -93,6 +93,9 @@ BSSMAP_IE_ClassmarkInformationType2 cm2, BSSMAP_IE_ClassmarkInformationType3 cm3 optional, AuthVector vec optional, + /* BSC_ConnectionHandler generates an auth vector in as_GSUP_SAI(). For tests that want control over which + * vector is used, pass vec_keep := true to not regenerate a new auth vector in as_GSUP_SAI(). */ + boolean vec_keep, BSC_ConnHdlrNetworkPars net, boolean send_early_cm, charstring ipa_ctrl_ip, @@ -426,7 +429,9 @@ var GSUP_IE auth_tuple; [] GSUP.receive(tr_GSUP_SAI_REQ(g_pars.imsi)) { if (g_pars.use_umts_aka) { - g_pars.vec := f_gen_auth_vec_3g(); + if (not g_pars.vec_keep) { + g_pars.vec := f_gen_auth_vec_3g(); + } auth_tuple := valueof(ts_GSUP_IE_AuthTuple2G3G(g_pars.vec.rand, g_pars.vec.sres, g_pars.vec.kc, @@ -436,7 +441,9 @@ g_pars.vec.res)); GSUP.send(ts_GSUP_SAI_RES(g_pars.imsi, auth_tuple)); } else { - g_pars.vec := f_gen_auth_vec_2g(); + if (not g_pars.vec_keep) { + g_pars.vec := f_gen_auth_vec_2g(); + } auth_tuple := valueof(ts_GSUP_IE_AuthTuple2G(g_pars.vec.rand, g_pars.vec.sres, g_pars.vec.kc)); diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index e37bc52..46a368e 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -387,6 +387,7 @@ cm2 := valueof(ts_CM2_default), cm3 := omit, vec := omit, + vec_keep := false, net := net_pars, send_early_cm := true, ipa_ctrl_ip := mp_msc_ip, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24760 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4bca739c2aad8342915e00a218f90fc19be7eafe Gerrit-Change-Number: 24760 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 Jun 23 21:53:49 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Jun 2021 21:53:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add inter-BSC HO tests with A5 encryption References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24761 ) Change subject: msc: add inter-BSC HO tests with A5 encryption ...................................................................... msc: add inter-BSC HO tests with A5 encryption Related: SYS#5324 Change-Id: I57e43c60d4389bd301d0195179321a34401bd1dc --- M library/BSSMAP_Templates.ttcn M msc/MSC_Tests.ttcn 2 files changed, 80 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/61/24761/1 diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index cde0fb0..9b1203d 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -954,11 +954,18 @@ } } -template PDU_BSSAP tr_BSSMAP_HandoverRequest modifies tr_BSSAP_BSSMAP := { +template PDU_BSSAP tr_BSSMAP_HandoverRequest(template BSSMAP_IE_EncryptionInformation encryptionInformation := *, + template BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm := *, + template BSSMAP_IE_KC128 kC128 := * + ) + modifies tr_BSSAP_BSSMAP := { pdu := { bssmap := { handoverRequest := { - messageType := '10'O + messageType := '10'O, + encryptionInformation := encryptionInformation, + chosenEncryptionAlgorithm := chosenEncryptionAlgorithm, + kC128 := kC128 } } } diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 46a368e..949988c 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -5764,8 +5764,22 @@ * from now on this here is the new BSS. */ f_create_bssmap_exp_handoverRequest(193); + var template BSSMAP_IE_EncryptionInformation encryptionInformation; + var template BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm; + var template BSSMAP_IE_KC128 kC128; + var OCT1 a5_perm_alg; + f_get_expected_encryption(encryptionInformation, chosenEncryptionAlgorithm, kC128, a5_perm_alg); + var template PDU_BSSAP expect_ho_request := tr_BSSMAP_HandoverRequest(encryptionInformation, chosenEncryptionAlgorithm, kC128); var PDU_BSSAP ho_request; - BSSAP.receive(tr_BSSMAP_HandoverRequest) -> value ho_request; + alt { + [] BSSAP.receive(expect_ho_request); + [] BSSAP.receive(tr_BSSMAP_HandoverRequest) -> value ho_request { + log("Error: Unexpected handoverRequest received. Expected: ", expect_ho_request, + " got ", ho_request); + setverdict(fail, "Unexpected handoverRequest received"); + mtc.stop; + } + } /* new BSS composes a RR Handover Command */ var PDU_ML3_NW_MS rr_ho_cmd := valueof(ts_RR_HandoverCommand); @@ -5812,9 +5826,22 @@ f_init_handler(pars); f_create_bssmap_exp_handoverRequest(194); + var template BSSMAP_IE_EncryptionInformation encryptionInformation; + var template BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm; + var template BSSMAP_IE_KC128 kC128; + var OCT1 a5_perm_alg; + f_get_expected_encryption(encryptionInformation, chosenEncryptionAlgorithm, kC128, a5_perm_alg); + var template PDU_BSSAP expect_ho_request := tr_BSSMAP_HandoverRequest(encryptionInformation, chosenEncryptionAlgorithm, kC128); var PDU_BSSAP ho_request; - BSSAP.receive(tr_BSSMAP_HandoverRequest) -> value ho_request; - + alt { + [] BSSAP.receive(expect_ho_request); + [] BSSAP.receive(tr_BSSMAP_HandoverRequest) -> value ho_request { + log("Error: Unexpected handoverRequest received. Expected: ", expect_ho_request, + " got ", ho_request); + setverdict(fail, "Unexpected handoverRequest received"); + mtc.stop; + } + } /* new BSS composes a RR Handover Command */ 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); @@ -5861,15 +5888,42 @@ f_expect_clear(); setverdict(pass); } -function f_tc_ho_inter_bsc_main(boolean use_ipv6 := false) runs on MTC_CT { +function f_tc_ho_inter_bsc_main(boolean use_ipv6 := false, integer a5_n := 0) runs on MTC_CT { var BSC_ConnHdlr vc_conn0; var BSC_ConnHdlr vc_conn1; f_init(2); var BSC_ConnHdlrPars pars0 := f_init_pars(53); pars0.use_ipv6 := use_ipv6; + pars0.net.expect_ciph := a5_n > 0; + pars0.net.expect_auth := pars0.net.expect_ciph; + pars0.net.kc_support := bit2oct('00000001'B << a5_n); + pars0.cm2.classmarkInformationType2_oct5.a5_3 := '1'B; + pars0.cm2.classmarkInformationType2_oct5.a5_2 := '0'B; + pars0.cm2.classmarkInformationType2_oct5.cm3 := '1'B; + pars0.cm3 := valueof(ts_CM3_default); + pars0.use_umts_aka := true; + pars0.vec := f_gen_auth_vec_3g(); + pars0.vec_keep := true; + var BSC_ConnHdlrPars pars1 := f_init_pars(53); pars1.use_ipv6 := use_ipv6; + pars1.net.expect_ciph := pars0.net.expect_ciph; + pars1.net.expect_auth := pars0.net.expect_ciph; + pars1.net.kc_support := bit2oct('00000001'B << a5_n); + pars1.cm2 := pars0.cm2; + pars1.cm3 := pars0.cm3; + pars1.use_umts_aka := true; + /* Both components need the same auth vector info because we expect f_tc_ho_inter_bsc0's ciphering key to be + * identical to the one that shows up in f_tc_ho_inter_bsc1. Can only do that by feeding in a vector to both + * components and then not overwriting it in BSC_ConnectionHandler. */ + pars1.vec := pars0.vec; + pars1.vec_keep := true; + + 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); @@ -5877,7 +5931,16 @@ vc_conn1.done; } testcase TC_ho_inter_bsc() runs on MTC_CT { - f_tc_ho_inter_bsc_main(false); + f_tc_ho_inter_bsc_main(false, a5_n := 0); +} +testcase TC_ho_inter_bsc_a5_1() runs on MTC_CT { + f_tc_ho_inter_bsc_main(false, a5_n := 1); +} +testcase TC_ho_inter_bsc_a5_3() runs on MTC_CT { + f_tc_ho_inter_bsc_main(false, a5_n := 3); +} +testcase TC_ho_inter_bsc_a5_4() runs on MTC_CT { + f_tc_ho_inter_bsc_main(false, a5_n := 4); } testcase TC_ho_inter_bsc_ipv6() runs on MTC_CT { f_tc_ho_inter_bsc_main(true); @@ -6614,6 +6677,9 @@ execute( TC_ho_inter_bsc_unknown_cell() ); execute( TC_ho_inter_bsc() ); + execute( TC_ho_inter_bsc_a5_1() ); + execute( TC_ho_inter_bsc_a5_3() ); + execute( TC_ho_inter_bsc_a5_4() ); execute( TC_ho_inter_bsc_ipv6() ); execute( TC_ho_inter_msc_out() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I57e43c60d4389bd301d0195179321a34401bd1dc Gerrit-Change-Number: 24761 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 Jun 23 22:10:02 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Jun 2021 22:10:02 +0000 Subject: Change in osmo-bsc[master]: vty: allow 5 encryption algo entries References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24762 ) Change subject: vty: allow 5 encryption algo entries ...................................................................... vty: allow 5 encryption algo entries follow-up to 0256c891878be531c24aa0c62e7c56ef8d71ab65 Icac06ed554fd61bf7c4bfb1d5c3739a01f2915a4 Previous patch increased the range, but let's also allow one more argument so that the A5 mask can be fully enabled. Change-Id: Ie8cd753e4425d7d51397e4dddc24108fa0392de4 --- 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/62/24762/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 1ec34bc..8ba55e6 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -6777,12 +6777,13 @@ DEFUN_USRATTR(cfg_net_encryption, cfg_net_encryption_cmd, X(BSC_VTY_ATTR_NEW_LCHAN), - "encryption a5 <0-4> [<0-4>] [<0-4>] [<0-4>]", + "encryption a5 <0-4> [<0-4>] [<0-4>] [<0-4>] [<0-4>]", "Encryption options\n" "GSM A5 Air Interface Encryption\n" "A5/n Algorithm Number\n" "A5/n Algorithm Number\n" "A5/n Algorithm Number\n" + "A5/n Algorithm Number\n" "A5/n Algorithm Number\n") { struct gsm_network *gsmnet = gsmnet_from_vty(vty); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie8cd753e4425d7d51397e4dddc24108fa0392de4 Gerrit-Change-Number: 24762 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 Jun 23 22:11:27 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Jun 2021 22:11:27 +0000 Subject: Change in osmo-msc[master]: vty: allow A5/4 encryption in config In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#2) to the change originally created by Hoernchen. ( https://gerrit.osmocom.org/c/osmo-msc/+/24632 ) Change subject: vty: allow A5/4 encryption in config ...................................................................... vty: allow A5/4 encryption in config Add A5/4 to the internal mask of allowed algorithms. (Not actually working yet, A5/4 implementation follows in other patches.) Related: SYS#5324 Change-Id: I5b46aaa8579f8d069ca39caf996a8795ffe63dd7 --- M src/libmsc/msc_vty.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/32/24632/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5b46aaa8579f8d069ca39caf996a8795ffe63dd7 Gerrit-Change-Number: 24632 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 23 22:11:28 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Jun 2021 22:11:28 +0000 Subject: Change in osmo-msc[master]: ran_msg_a.c: use gsm0808_create_cipher2() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/24763 ) Change subject: ran_msg_a.c: use gsm0808_create_cipher2() ...................................................................... ran_msg_a.c: use gsm0808_create_cipher2() Use new API in Cipher Mode Command to prepare for A5/4 support. Depends: Ib3906085e0c6e5a496a9f755f0f786238a86ca34 (libosmocore) Related: SYS#5324 Change-Id: Ib238d367b8d5d07b6ab4cb2e48fbf4ce22ca4476 --- M TODO-RELEASE M src/libmsc/ran_msg_a.c 2 files changed, 17 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/63/24763/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index d0852fc..2297063 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -7,3 +7,4 @@ # If any interfaces have been added since the last public release: c:r:a + 1. # If any interfaces have been removed or changed since the last public release: c:r:0. #library what description / commit summary line +libosmocore >1.5.1 A5/4 support requires new API gsm0808_create_cipher2() diff --git a/src/libmsc/ran_msg_a.c b/src/libmsc/ran_msg_a.c index 4cce289..61e5024 100644 --- a/src/libmsc/ran_msg_a.c +++ b/src/libmsc/ran_msg_a.c @@ -1058,14 +1058,17 @@ gsm0808_encrypt_info_key_fits_osmo_auth_vec_kc); static struct msgb *ran_a_make_cipher_mode_command(struct osmo_fsm_inst *fi, const struct ran_cipher_mode_command *cm) { - struct gsm0808_encrypt_info ei = {}; + struct gsm0808_cipher_mode_command cmc = { + .cipher_response_mode_present = true, + .cipher_response_mode = 1, /* 1: include IMEISV (3GPP TS 48.008 3.2.2.34) */ + }; + struct gsm0808_encrypt_info *ei = &cmc.ei; char buf[16 * 2 + 1]; - const uint8_t cipher_response_mode = 1; - if (make_encrypt_info_perm_algo(fi, &ei, cm->geran.a5_encryption_mask, cm->classmark)) + if (make_encrypt_info_perm_algo(fi, ei, cm->geran.a5_encryption_mask, cm->classmark)) return NULL; - if (ei.perm_algo_len == 0) { + if (ei->perm_algo_len == 0) { LOG_RAN_A_ENC(fi, LOGL_ERROR, "cannot start ciphering, no intersection between MSC-configured" " and MS-supported A5 algorithms. MSC: 0x%02x MS: %s\n", cm->geran.a5_encryption_mask, osmo_gsm48_classmark_a5_name(cm->classmark)); @@ -1076,26 +1079,26 @@ * tokens. vec->kc was calculated from the GSM algorithm and is not * necessarily a match for the UMTS AKA tokens. */ if (cm->geran.umts_aka) - osmo_auth_c3(ei.key, cm->vec->ck, cm->vec->ik); + osmo_auth_c3(ei->key, cm->vec->ck, cm->vec->ik); else - memcpy(ei.key, cm->vec->kc, sizeof(cm->vec->kc)); - ei.key_len = sizeof(cm->vec->kc); + memcpy(ei->key, cm->vec->kc, sizeof(cm->vec->kc)); + ei->key_len = sizeof(cm->vec->kc); /* Store chosen GERAN key where the caller asked it to be stored. * alg_id remains unknown until we receive a Cipher Mode Complete from the BSC */ if (cm->geran.chosen_key) { - if (ei.key_len > sizeof(cm->geran.chosen_key->key)) { + if (ei->key_len > sizeof(cm->geran.chosen_key->key)) { LOG_RAN_A_ENC(fi, LOGL_ERROR, "Chosen key is larger than I can store\n"); return NULL; } - memcpy(cm->geran.chosen_key->key, ei.key, ei.key_len); - cm->geran.chosen_key->key_len = ei.key_len; + memcpy(cm->geran.chosen_key->key, ei->key, ei->key_len); + cm->geran.chosen_key->key_len = ei->key_len; } LOG_RAN_A_ENC(fi, LOGL_DEBUG, "Tx BSSMAP CIPHER MODE COMMAND to BSC, %u ciphers (%s) key %s\n", - ei.perm_algo_len, osmo_hexdump_nospc(ei.perm_algo, ei.perm_algo_len), - osmo_hexdump_buf(buf, sizeof(buf), ei.key, ei.key_len, NULL, false)); - return gsm0808_create_cipher(&ei, cm->geran.retrieve_imeisv ? &cipher_response_mode : NULL); + ei->perm_algo_len, osmo_hexdump_nospc(ei->perm_algo, ei->perm_algo_len), + osmo_hexdump_buf(buf, sizeof(buf), ei->key, ei->key_len, NULL, false)); + return gsm0808_create_cipher2(&cmc); } struct msgb *ran_a_make_handover_request(struct osmo_fsm_inst *log_fi, const struct ran_handover_request *n) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24763 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib238d367b8d5d07b6ab4cb2e48fbf4ce22ca4476 Gerrit-Change-Number: 24763 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 Jun 23 22:11:28 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Jun 2021 22:11:28 +0000 Subject: Change in osmo-msc[master]: support A5/4 in Cipher Mode Command References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/24764 ) Change subject: support A5/4 in Cipher Mode Command ...................................................................... support A5/4 in Cipher Mode Command Related: SYS#5324 Change-Id: I780a739b9bfbefd4f58be051794fe1a491823e67 --- M include/osmocom/msc/msc_common.h M src/libmsc/msc_a.c M src/libmsc/ran_msg_a.c 3 files changed, 35 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/64/24764/1 diff --git a/include/osmocom/msc/msc_common.h b/include/osmocom/msc/msc_common.h index 8a43e69..e7ac559 100644 --- a/include/osmocom/msc/msc_common.h +++ b/include/osmocom/msc/msc_common.h @@ -32,6 +32,8 @@ uint8_t alg_id; uint8_t key_len; uint8_t key[MAX_A5_KEY_LEN]; + bool kc128_present; + uint8_t kc128[MAX_A5_KEY_LEN]; }; enum complete_layer3_type { diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c index 05030d3..4c38c56 100644 --- a/src/libmsc/msc_a.c +++ b/src/libmsc/msc_a.c @@ -292,6 +292,14 @@ return msc_a_ran_enc_ciphering(msc_a, umts_aka, retrieve_imeisv); } +static uint8_t filter_a5(uint8_t a5_mask, bool umts_aka) +{ + /* With GSM AKA: allow A5/0, 1, 3 = 0b00001011 = 0xb. + * UMTS aka: allow A5/0, 1, 3, 4 = 0b00011011 = 0x1b. + */ + return a5_mask & (umts_aka ? 0x1b : 0x0b); +} + static int msc_a_ran_enc_ciphering(struct msc_a *msc_a, bool umts_aka, bool retrieve_imeisv) { struct gsm_network *net; @@ -321,7 +329,7 @@ .geran = { .umts_aka = umts_aka, .retrieve_imeisv = retrieve_imeisv, - .a5_encryption_mask = net->a5_encryption_mask, + .a5_encryption_mask = filter_a5(net->a5_encryption_mask, umts_aka), /* for ran_a.c to store the GERAN key that is actually used */ .chosen_key = &msc_a->geran_encr, diff --git a/src/libmsc/ran_msg_a.c b/src/libmsc/ran_msg_a.c index 61e5024..106c2df 100644 --- a/src/libmsc/ran_msg_a.c +++ b/src/libmsc/ran_msg_a.c @@ -25,6 +25,7 @@ #include #include +#include #include #include @@ -1019,6 +1020,9 @@ case 3: *dst = GSM0808_ALG_ID_A5_3; return 0; + case 4: + *dst = GSM0808_ALG_ID_A5_4; + return 0; default: return -ENOTSUP; } @@ -1078,21 +1082,39 @@ /* In case of UMTS AKA, the Kc for ciphering must be derived from the 3G auth * tokens. vec->kc was calculated from the GSM algorithm and is not * necessarily a match for the UMTS AKA tokens. */ - if (cm->geran.umts_aka) + if (cm->geran.umts_aka) { + int i; osmo_auth_c3(ei->key, cm->vec->ck, cm->vec->ik); - else + + for (i = 0; i < ei->perm_algo_len; i++) { + if (ei->perm_algo[i] != GSM0808_ALG_ID_A5_4) + continue; + /* A5/4 is included, so need to generate Kc128 */ + osmo_kdf_kc128(cm->vec->ck, cm->vec->ik, cmc.kc128); + cmc.kc128_present = true; + break; + } + } else { memcpy(ei->key, cm->vec->kc, sizeof(cm->vec->kc)); + } ei->key_len = sizeof(cm->vec->kc); /* Store chosen GERAN key where the caller asked it to be stored. * alg_id remains unknown until we receive a Cipher Mode Complete from the BSC */ if (cm->geran.chosen_key) { + *cm->geran.chosen_key = (struct geran_encr){0}; + if (ei->key_len > sizeof(cm->geran.chosen_key->key)) { LOG_RAN_A_ENC(fi, LOGL_ERROR, "Chosen key is larger than I can store\n"); return NULL; } memcpy(cm->geran.chosen_key->key, ei->key, ei->key_len); cm->geran.chosen_key->key_len = ei->key_len; + + if (cmc.kc128_present) { + memcpy(cm->geran.chosen_key->kc128, cmc.kc128, 16); + cm->geran.chosen_key->kc128_present = true; + } } LOG_RAN_A_ENC(fi, LOGL_DEBUG, "Tx BSSMAP CIPHER MODE COMMAND to BSC, %u ciphers (%s) key %s\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24764 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I780a739b9bfbefd4f58be051794fe1a491823e67 Gerrit-Change-Number: 24764 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 Jun 23 22:11:28 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Jun 2021 22:11:28 +0000 Subject: Change in osmo-msc[master]: support A5/4 in inter-BSC handover References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/24765 ) Change subject: support A5/4 in inter-BSC handover ...................................................................... support A5/4 in inter-BSC handover Forward the Kc128 key to the new BSS in BSSMAP Handover Request. Change-Id: Id5ce995a741c8e469a50a0c46e53c06a2378bb7e --- M src/libmsc/ran_msg_a.c 1 file changed, 12 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/65/24765/1 diff --git a/src/libmsc/ran_msg_a.c b/src/libmsc/ran_msg_a.c index 106c2df..273f8dd 100644 --- a/src/libmsc/ran_msg_a.c +++ b/src/libmsc/ran_msg_a.c @@ -483,6 +483,7 @@ const struct tlv_p_entry *ie_aoip_transp_addr = TLVP_GET(tp, GSM0808_IE_AOIP_TRASP_ADDR); const struct tlv_p_entry *ie_codec_list_msc_preferred = TLVP_GET(tp, GSM0808_IE_SPEECH_CODEC_LIST); const struct tlv_p_entry *ie_call_id = TLVP_GET(tp, GSM0808_IE_CALL_ID); + const struct tlv_p_entry *ie_kc128 = TLVP_GET(tp, GSM0808_IE_KC_128); const struct tlv_p_entry *ie_global_call_ref = TLVP_GET(tp, GSM0808_IE_GLOBAL_CALL_REF); struct gsm0808_channel_type channel_type; @@ -525,6 +526,11 @@ geran_encr.key_len = encr_info.key_len; } + if (ie_kc128) { + memcpy(geran_encr.kc128, ie_kc128->val, 16); + geran_encr.kc128_present = true; + } + r->geran.chosen_encryption = &geran_encr; } @@ -1166,6 +1172,12 @@ n->geran.chosen_encryption->key, n->geran.chosen_encryption->key_len); r.encryption_information.key_len = n->geran.chosen_encryption->key_len; r.chosen_encryption_algorithm_serving = n->geran.chosen_encryption->alg_id; + + if (n->geran.chosen_encryption->kc128_present) { + r.more_items = true; + memcpy(r.kc128, n->geran.chosen_encryption->kc128, sizeof(r.kc128)); + r.kc128_present = true; + } } if (n->classmark) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24765 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Id5ce995a741c8e469a50a0c46e53c06a2378bb7e Gerrit-Change-Number: 24765 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 Jun 23 22:11:28 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Jun 2021 22:11:28 +0000 Subject: Change in osmo-msc[master]: improve logging on encryption, for Ciphering and HO References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/24766 ) Change subject: improve logging on encryption, for Ciphering and HO ...................................................................... improve logging on encryption, for Ciphering and HO log the algorithm and all keys instead of just Kc. Change-Id: If7871dedda2b1fb115e6f00da1379ff2e3d68a10 --- M src/libmsc/msc_a.c M src/libmsc/msc_ho.c 2 files changed, 14 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/66/24766/1 diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c index 4c38c56..451220a 100644 --- a/src/libmsc/msc_a.c +++ b/src/libmsc/msc_a.c @@ -345,8 +345,12 @@ } if (msc_a->geran_encr.key_len) - LOG_MSC_A(msc_a, LOGL_DEBUG, "RAN encoding chose ciphering key %s\n", - osmo_hexdump_nospc(msc_a->geran_encr.key, msc_a->geran_encr.key_len)); + LOG_MSC_A(msc_a, LOGL_DEBUG, "RAN encoding chose ciphering: A5/%d kc %s kc128 %s\n", + msc_a->geran_encr.alg_id - 1, + osmo_hexdump_nospc_c(OTC_SELECT, msc_a->geran_encr.key, msc_a->geran_encr.key_len), + msc_a->geran_encr.kc128_present ? + osmo_hexdump_nospc_c(OTC_SELECT, msc_a->geran_encr.kc128, sizeof(msc_a->geran_encr.kc128)) + : "-"); return 0; } diff --git a/src/libmsc/msc_ho.c b/src/libmsc/msc_ho.c index d89a24c..6b8960e 100644 --- a/src/libmsc/msc_ho.c +++ b/src/libmsc/msc_ho.c @@ -408,6 +408,14 @@ }, }; + if (msc_a->geran_encr.key_len) + LOG_MSC_A(msc_a, LOGL_DEBUG, "HO Request with ciphering: A5/%d kc %s kc128 %s\n", + msc_a->geran_encr.alg_id - 1, + osmo_hexdump_nospc_c(OTC_SELECT, msc_a->geran_encr.key, msc_a->geran_encr.key_len), + msc_a->geran_encr.kc128_present ? + osmo_hexdump_nospc_c(OTC_SELECT, msc_a->geran_encr.kc128, sizeof(msc_a->geran_encr.kc128)) + : "-"); + if (msc_a->cc.active_trans) { if (mncc_bearer_cap_to_channel_type(&channel_type, &msc_a->cc.active_trans->bearer_cap)) { msc_ho_failed(msc_a, GSM0808_CAUSE_EQUIPMENT_FAILURE, -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24766 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: If7871dedda2b1fb115e6f00da1379ff2e3d68a10 Gerrit-Change-Number: 24766 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 Jun 23 23:22:14 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Jun 2021 23:22:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add inter-BSC HO tests with A5 encryption 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/+/24761 to look at the new patch set (#2). Change subject: msc: add inter-BSC HO tests with A5 encryption ...................................................................... msc: add inter-BSC HO tests with A5 encryption Related: SYS#5324 Change-Id: I57e43c60d4389bd301d0195179321a34401bd1dc --- M library/BSSMAP_Templates.ttcn M msc/MSC_Tests.ttcn 2 files changed, 80 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/61/24761/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I57e43c60d4389bd301d0195179321a34401bd1dc Gerrit-Change-Number: 24761 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 23 23:22:15 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Jun 2021 23:22:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add inter-MSC HO tests with A5 encryption References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24767 ) Change subject: msc: add inter-MSC HO tests with A5 encryption ...................................................................... msc: add inter-MSC HO tests with A5 encryption Related: SYS#5324 Change-Id: Ia1df783be33bf752d291acb857d3c48882c65975 --- M msc/MSC_Tests.ttcn 1 file changed, 61 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/67/24767/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 221123b..b12fb5e 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -5992,10 +5992,24 @@ /* The target cell 017-017 LAC 1 is configured to be a remote MSC of name "msc-017-017-1". * This MSC tries to reach the other MSC via GSUP. */ + var template BSSMAP_IE_EncryptionInformation encryptionInformation; + var template BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm; + var template BSSMAP_IE_KC128 kC128; + var OCT1 a5_perm_alg; + f_get_expected_encryption(encryptionInformation, chosenEncryptionAlgorithm, kC128, a5_perm_alg); + var template PDU_BSSAP expect_ho_request := tr_BSSMAP_HandoverRequest(encryptionInformation, chosenEncryptionAlgorithm, kC128); + var octetstring remote_msc_name := '6D73632D3031372D3031372D3100'O; /* "msc-017-017-1\0" as octetstring */ var GSUP_PDU prep_ho_req; - GSUP.receive(tr_GSUP_E_AN_APDU(OSMO_GSUP_MSGT_E_PREPARE_HANDOVER_REQUEST, - pars.imsi, destination_name := remote_msc_name)) -> value prep_ho_req; + 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; + [] 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; + } + } var GSUP_IeValue source_name_ie; f_gsup_find_ie(prep_ho_req, OSMO_GSUP_SOURCE_NAME_IE, source_name_ie); @@ -6006,7 +6020,8 @@ 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}))); + speechCodec := ts_BSSMAP_IE_SpeechCodec({ts_CodecFR}), + chosenEncryptionAlgorithm := chosenEncryptionAlgorithm)); GSUP.send(ts_GSUP_E_PrepareHandoverResult( pars.imsi, ho_number, @@ -6142,7 +6157,18 @@ )); /* MSC asks local BSS to prepare Handover to it */ - BSSAP.receive(tr_BSSMAP_HandoverRequest); + 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(tr_BSSMAP_HandoverRequest) -> value ho_request { + log("Error: Wrong handoverRequest received. Expected: ", expect_ho_request, + " got ", ho_request); + setverdict(fail, "Wrong handoverRequest received"); + mtc.stop; + } + } /* Make sure the new BSSAP conn continues with the correct N_SD sequence numbers */ f_bssmap_continue_after_n_sd(last_n_sd); @@ -6153,7 +6179,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}))); + tla, ts_BSSMAP_IE_SpeechCodec({ts_CodecFR}), + chosenEncryptionAlgorithm := chosenEncryptionAlgorithm)); /* HandoverCommand goes out via remote MSC-I */ var GSUP_PDU prep_subsq_ho_res; @@ -6190,15 +6217,40 @@ setverdict(pass); } -testcase TC_ho_inter_msc_out() runs on MTC_CT { +function f_tc_ho_inter_msc_out_a5(integer a5_n) runs on MTC_CT { var BSC_ConnHdlr vc_conn; f_init(1); var BSC_ConnHdlrPars pars := f_init_pars(54); + pars.net.expect_ciph := a5_n > 0; + pars.net.expect_auth := pars.net.expect_ciph; + pars.net.kc_support := bit2oct('00000001'B << a5_n); + pars.cm2.classmarkInformationType2_oct5.a5_3 := '1'B; + pars.cm2.classmarkInformationType2_oct5.a5_2 := '0'B; + pars.cm2.classmarkInformationType2_oct5.cm3 := '1'B; + pars.cm3 := valueof(ts_CM3_default); + pars.use_umts_aka := true; + + if (a5_n > 0) { + f_vty_config(MSCVTY, "network", "authentication required"); + } + 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.done; } +testcase TC_ho_inter_msc_out() runs on MTC_CT { + f_tc_ho_inter_msc_out_a5(0); +} +testcase TC_ho_inter_msc_out_a5_1() runs on MTC_CT { + f_tc_ho_inter_msc_out_a5(1); +} +testcase TC_ho_inter_msc_out_a5_3() runs on MTC_CT { + f_tc_ho_inter_msc_out_a5(3); +} +testcase TC_ho_inter_msc_out_a5_4() runs on MTC_CT { + f_tc_ho_inter_msc_out_a5(4); +} testcase TC_ho_inter_msc_out_ipv6() runs on MTC_CT { var BSC_ConnHdlr vc_conn; f_init(1); @@ -6683,6 +6735,9 @@ execute( TC_ho_inter_bsc_ipv6() ); execute( TC_ho_inter_msc_out() ); + execute( TC_ho_inter_msc_out_a5_1() ); + execute( TC_ho_inter_msc_out_a5_3() ); + execute( TC_ho_inter_msc_out_a5_4() ); execute( TC_ho_inter_msc_out_ipv6() ); execute( TC_lu_imsi_auth_tmsi_check_imei() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24767 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia1df783be33bf752d291acb857d3c48882c65975 Gerrit-Change-Number: 24767 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 Jun 23 23:26:53 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 23 Jun 2021 23:26:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests_SMSCB: ensure f_shutdown() is called in all test cases References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24768 ) Change subject: BTS_Tests_SMSCB: ensure f_shutdown() is called in all test cases ...................................................................... BTS_Tests_SMSCB: ensure f_shutdown() is called in all test cases This fixes sporadic test case failures due to race conditions. Change-Id: I3f2c327e1e44d5decd4a936f063af649687f950a --- M bts/BTS_Tests_SMSCB.ttcn 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/68/24768/1 diff --git a/bts/BTS_Tests_SMSCB.ttcn b/bts/BTS_Tests_SMSCB.ttcn index dda78fd..942bad3 100644 --- a/bts/BTS_Tests_SMSCB.ttcn +++ b/bts/BTS_Tests_SMSCB.ttcn @@ -1005,6 +1005,8 @@ setverdict(fail, "Segment ", i, " not received often enough"); } } + + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } /* Ensure only Paging Type 1 without ETWS Primary Notification are sent after disabling them */ @@ -1045,6 +1047,8 @@ setverdict(pass); } } + + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } /* Ensure ETWS Primary Notification is passed from RSL to PCU interface */ @@ -1070,6 +1074,8 @@ setverdict(fail, "PCU socket timeout receiving APP INFO (ETWS)"); } } + + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24768 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3f2c327e1e44d5decd4a936f063af649687f950a Gerrit-Change-Number: 24768 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 23 23:27:55 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Jun 2021 23:27:55 +0000 Subject: Change in osmo-msc[master]: vty: allow A5/4 encryption in config In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#3) to the change originally created by Hoernchen. ( https://gerrit.osmocom.org/c/osmo-msc/+/24632 ) Change subject: vty: allow A5/4 encryption in config ...................................................................... vty: allow A5/4 encryption in config Add A5/4 to the internal mask of allowed algorithms. (Not actually working yet, A5/4 implementation follows in other patches.) Related: SYS#5324 Change-Id: I5b46aaa8579f8d069ca39caf996a8795ffe63dd7 --- M src/libmsc/msc_vty.c M tests/test_nodes.vty 2 files changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/32/24632/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5b46aaa8579f8d069ca39caf996a8795ffe63dd7 Gerrit-Change-Number: 24632 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 23 23:44:36 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Jun 2021 23:44:36 +0000 Subject: Change in libosmocore[master]: gsm0808: add Kc128 to Handover Request References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24769 ) Change subject: gsm0808: add Kc128 to Handover Request ...................................................................... gsm0808: add Kc128 to Handover Request Change-Id: Ieb6e43eef9e57281d54d4b7c63664668df5aef3e --- M include/osmocom/gsm/gsm0808.h M src/gsm/gsm0808.c 2 files changed, 9 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/69/24769/1 diff --git a/include/osmocom/gsm/gsm0808.h b/include/osmocom/gsm/gsm0808.h index 3e39460..c21ce8a 100644 --- a/include/osmocom/gsm/gsm0808.h +++ b/include/osmocom/gsm/gsm0808.h @@ -218,7 +218,12 @@ uint8_t global_call_reference_len; /* more items are defined in the spec and may be added later */ - bool more_items; /*!< always set this to false */ + bool more_items; /*!< set this to true iff any fields below are used */ + + bool kc128_present; + uint8_t kc128[16]; + + bool more_items2; /*!< always set this to false */ }; struct msgb *gsm0808_create_handover_request(const struct gsm0808_handover_request *params); diff --git a/src/gsm/gsm0808.c b/src/gsm/gsm0808.c index 4f072f7..b99e72f 100644 --- a/src/gsm/gsm0808.c +++ b/src/gsm/gsm0808.c @@ -1005,6 +1005,9 @@ msgb_tv_fixed_put(msg, GSM0808_IE_CALL_ID, 4, val); } + if(params->more_items && params->kc128_present) + gsm0808_enc_kc128(msg, params->kc128); + if (params->global_call_reference && params->global_call_reference_len) { msgb_tlv_put(msg, GSM0808_IE_GLOBAL_CALL_REF, params->global_call_reference_len, params->global_call_reference); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24769 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ieb6e43eef9e57281d54d4b7c63664668df5aef3e Gerrit-Change-Number: 24769 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 Jun 23 23:45:05 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Jun 2021 23:45:05 +0000 Subject: Change in osmo-msc[master]: support A5/4 in inter-BSC handover 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/+/24765 to look at the new patch set (#3). Change subject: support A5/4 in inter-BSC handover ...................................................................... support A5/4 in inter-BSC handover Forward the Kc128 key to the new BSS in BSSMAP Handover Request. Depends: Ieb6e43eef9e57281d54d4b7c63664668df5aef3e (libosmocore) Change-Id: Id5ce995a741c8e469a50a0c46e53c06a2378bb7e --- M TODO-RELEASE M src/libmsc/ran_msg_a.c 2 files changed, 13 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/65/24765/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24765 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Id5ce995a741c8e469a50a0c46e53c06a2378bb7e Gerrit-Change-Number: 24765 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 Jun 23 23:45:52 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Jun 2021 23:45:52 +0000 Subject: Change in osmo-bsc[master]: use osmo_select_shutdown to get rid of SIGTERM sleep In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24675 ) Change subject: use osmo_select_shutdown to get rid of SIGTERM sleep ...................................................................... use osmo_select_shutdown to get rid of SIGTERM sleep Change-Id: I9a4a629805c49240b8be412e9def298cdf5bc996 --- M src/osmo-bsc/osmo_bsc_main.c 1 file changed, 5 insertions(+), 3 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 Jenkins Builder: Verified diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index 14475ff..2a6c501 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -697,10 +697,12 @@ switch (signum) { case SIGINT: case SIGTERM: + /* If SIGTERM was already sent before, just terminate immediately. */ + if (osmo_select_shutdown_requested()) + exit(-1); bsc_shutdown_net(bsc_gsmnet); osmo_signal_dispatch(SS_L_GLOBAL, S_L_GLOBAL_SHUTDOWN, NULL); - sleep(3); - exit(0); + osmo_select_shutdown_request(); break; case SIGABRT: /* in case of abort, we want to obtain a talloc report and @@ -1033,7 +1035,7 @@ } } - while (1) { + while (!osmo_select_shutdown_done()) { osmo_select_main_ctx(0); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24675 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9a4a629805c49240b8be412e9def298cdf5bc996 Gerrit-Change-Number: 24675 Gerrit-PatchSet: 2 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 Wed Jun 23 23:57:14 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 23 Jun 2021 23:57:14 +0000 Subject: Change in osmo-bsc[master]: vty: allow 5 encryption algo entries In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24762 ) Change subject: vty: allow 5 encryption algo entries ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie8cd753e4425d7d51397e4dddc24108fa0392de4 Gerrit-Change-Number: 24762 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 23 Jun 2021 23:57: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 Jun 23 23:58:31 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 23 Jun 2021 23:58:31 +0000 Subject: Change in osmo-msc[master]: osmo-msc main: use osmo_select_shutdown() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24753 ) Change subject: osmo-msc main: use osmo_select_shutdown() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24753 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I75f4637c051ed44628e65dab1bdbbf28dcc9626f Gerrit-Change-Number: 24753 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 23 Jun 2021 23:58: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 Jun 24 00:04:19 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 24 Jun 2021 00:04:19 +0000 Subject: Change in osmo-msc[master]: ran_msg_a.c: use gsm0808_create_cipher2() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24763 ) Change subject: ran_msg_a.c: use gsm0808_create_cipher2() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24763 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib238d367b8d5d07b6ab4cb2e48fbf4ce22ca4476 Gerrit-Change-Number: 24763 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 24 Jun 2021 00:04:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 24 00:04:42 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 24 Jun 2021 00:04:42 +0000 Subject: Change in osmo-msc[master]: vty: allow A5/4 encryption in config In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24632 ) Change subject: vty: allow A5/4 encryption in config ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5b46aaa8579f8d069ca39caf996a8795ffe63dd7 Gerrit-Change-Number: 24632 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 24 Jun 2021 00:04:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 24 00:06:10 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 24 Jun 2021 00:06:10 +0000 Subject: Change in osmo-msc[master]: support A5/4 in Cipher Mode Command In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24764 ) Change subject: support A5/4 in Cipher Mode Command ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24764 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I780a739b9bfbefd4f58be051794fe1a491823e67 Gerrit-Change-Number: 24764 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 24 Jun 2021 00: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 Thu Jun 24 00:07:32 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 24 Jun 2021 00:07:32 +0000 Subject: Change in osmo-msc[master]: support A5/4 in inter-BSC handover In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24765 ) Change subject: support A5/4 in inter-BSC handover ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24765 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Id5ce995a741c8e469a50a0c46e53c06a2378bb7e Gerrit-Change-Number: 24765 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 24 Jun 2021 00:07: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 Jun 24 00:08:06 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 24 Jun 2021 00:08:06 +0000 Subject: Change in osmo-msc[master]: improve logging on encryption, for Ciphering and HO In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24766 ) Change subject: improve logging on encryption, for Ciphering and HO ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24766 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: If7871dedda2b1fb115e6f00da1379ff2e3d68a10 Gerrit-Change-Number: 24766 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 24 Jun 2021 00:08:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 24 00:09:43 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 24 Jun 2021 00:09:43 +0000 Subject: Change in libosmocore[master]: gsm0808: add Kc128 to Handover Request In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24769 ) Change subject: gsm0808: add Kc128 to Handover Request ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24769/1/src/gsm/gsm0808.c File src/gsm/gsm0808.c: https://gerrit.osmocom.org/c/libosmocore/+/24769/1/src/gsm/gsm0808.c at 1008 PS1, Line 1008: if( coding style -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24769 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ieb6e43eef9e57281d54d4b7c63664668df5aef3e Gerrit-Change-Number: 24769 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 24 Jun 2021 00: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 Thu Jun 24 08:05:06 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 24 Jun 2021 08:05:06 +0000 Subject: Change in osmo-bsc[master]: bsc_ctrl_commands: add command to write vty config In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24735 ) Change subject: bsc_ctrl_commands: add command to write vty config ...................................................................... Patch Set 2: > Patch Set 2: Code-Review+1 > > it might make sense to be optionally able to specify a non-default file name? Apart from that it looks good. The command already allows to specify a file name. I am not sure what you mean. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24735 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If17095bb86f82dd8feb86eb72c4133ea3aa1c3b3 Gerrit-Change-Number: 24735 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 24 Jun 2021 08:05: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 Jun 24 08:38:36 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 24 Jun 2021 08:38:36 +0000 Subject: Change in osmo-msc[master]: improve logging on encryption, for Ciphering and HO In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24766 ) Change subject: improve logging on encryption, for Ciphering and HO ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24766 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: If7871dedda2b1fb115e6f00da1379ff2e3d68a10 Gerrit-Change-Number: 24766 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 24 Jun 2021 08:38:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 24 08:41:30 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 24 Jun 2021 08:41:30 +0000 Subject: Change in osmo-msc[master]: ran_msg_a.c: use gsm0808_create_cipher2() In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24763 ) Change subject: ran_msg_a.c: use gsm0808_create_cipher2() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24763 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib238d367b8d5d07b6ab4cb2e48fbf4ce22ca4476 Gerrit-Change-Number: 24763 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 24 Jun 2021 08:41: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 Jun 24 10:43:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 24 Jun 2021 10:43:11 +0000 Subject: Change in libosmocore[master]: socket: add function to wait until a socket becomes writeable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24435 ) Change subject: socket: add function to wait until a socket becomes writeable ...................................................................... Patch Set 7: I don't understand why we a) need a new function in the library and b) introduce functions for blocking semantics in a codebase that's entirely non-blocking and asynchronous event processing. When the non-blocking connect() fails, the associated file descriptor should receive a notification, which is processed by libosmocore/select.c and dispatched via poll_disp_fds() to the user application registered callback. In that callback, the user application should be able to get the error status using the getsockopt stated here. All async, no new libosmocore function needed. Am I missing something? Whihc of the POLL* flags is (or are) set in that situation? libosmocore select main loop allows to set POLLIN, POLLHUP, POLLERR, POLLOUT, POLLPRI. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1c68185120fa2a6c9b6cb8aa2a25232a44ff5508 Gerrit-Change-Number: 24435 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 24 Jun 2021 10:43: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 Thu Jun 24 11:03:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 24 Jun 2021 11:03:02 +0000 Subject: Change in libosmocore[master]: socket: add function to wait until a socket becomes writeable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24435 ) Change subject: socket: add function to wait until a socket becomes writeable ...................................................................... Patch Set 7: Just did a few-lines test program doing nothing but osmo_sock_init2_ofd(.., OSMO_SOCK_F_NONBLOCK|OSMO_SOCK_F_CONNECT); and osmo_select_main(). After the Timeout I get: poll([{fd=3, events=POLLIN|POLLOUT|POLLERR|POLLHUP}], 1, -1) = 1 ([{fd=3, revents=POLLOUT|POLLERR|POLLHUP}]) That gets translated to OSMO_FD_READ|OSMO_FD_WRITE and the call-back is called. The only suboptimal part is that OSMO_FD_EXCEPT is not set in such situations. The current code only sets it if POLLPRI is set. The current mapping of poll flags to select-style flags is baesd in linux/fs/select.c but we could simply make POLLERR or POLLHUP also set OSMO_FD_EXCEPT if we wanted to. That way the call-back could call the getsockopt(SO_ERROR) only if that flag is set. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1c68185120fa2a6c9b6cb8aa2a25232a44ff5508 Gerrit-Change-Number: 24435 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 24 Jun 2021 11:03:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 24 11:06:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 24 Jun 2021 11:06:21 +0000 Subject: Change in libosmocore[master]: socket: add function to wait until a socket becomes writeable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24435 ) Change subject: socket: add function to wait until a socket becomes writeable ...................................................................... Patch Set 7: > That gets translated to OSMO_FD_READ|OSMO_FD_WRITE and the call-back is called. The only suboptimal part is that OSMO_FD_EXCEPT is not set in such situations. The current code only sets it if POLLPRI is set. The current mapping of poll flags to select-style flags is baesd in linux/fs/select.c but we could simply make POLLERR or POLLHUP also set OSMO_FD_EXCEPT if we wanted to. That way the call-back could call the getsockopt(SO_ERROR) only if that flag is set. looking at the documentation of poll(2), I think we should introduce a new OSMO_FD_ERROR flag which does not have to be enabled in ofd->what but which is set as 'what' argument when ofd->cb(ofd, what) is called whenever poll signals POLLERR, POLLHUP or POLLNVAL. This way the application code can use the OSMO_FD_ERROR flag as trigger to do the SO_ERROR getsockopt, ... - or just not do the getsockopt at all, as in any case OSMO_FD_ERROR means that the fd is unusable, no matter what the reason was. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1c68185120fa2a6c9b6cb8aa2a25232a44ff5508 Gerrit-Change-Number: 24435 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 24 Jun 2021 11:06:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 24 11:29:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 24 Jun 2021 11:29:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: f_auth3g_kc(): take vec as argument, drop "runs on" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24757 ) Change subject: msc: f_auth3g_kc(): take vec as argument, drop "runs on" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24757 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iec21710edaa6ad3d20e23c7ee055909c642e8220 Gerrit-Change-Number: 24757 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 24 Jun 2021 11:29: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 Jun 24 11:31:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 24 Jun 2021 11:31:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: cipher mode: move cipher expect to new function In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24758 ) Change subject: msc: cipher mode: move cipher expect to new function ...................................................................... Patch Set 1: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24758/1/library/BSSMAP_Templates.ttcn File library/BSSMAP_Templates.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24758/1/library/BSSMAP_Templates.ttcn at 549 PS1, Line 549: template BSSMAP_IE_KC128 tr_BSSMAP_IE_Kc128(template OCT16 kc128) := { could be template (present) both as return and as argument, as "omit" is not permitted in both places. looks like the code here misses this a lot. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24758/1/msc/BSC_ConnectionHandler.ttcn File msc/BSC_ConnectionHandler.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24758/1/msc/BSC_ConnectionHandler.ttcn at 568 PS1, Line 568: runs strange indent of 4 chars? just move to previous line? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24758 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1f775889fb801d441ea6c8b0f0c34718b814c09e Gerrit-Change-Number: 24758 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 24 Jun 2021 11:31:24 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 24 11:31:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 24 Jun 2021 11:31:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: generate Milenage ck in f_get_expected_encryption() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24759 ) Change subject: msc: generate Milenage ck in f_get_expected_encryption() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24759 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iec618ba7fddb2290fc0137d99a9b8d5e2b428b98 Gerrit-Change-Number: 24759 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 24 Jun 2021 11:31: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 Jun 24 11:32:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 24 Jun 2021 11:32:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add vec_keep to lock the AuthVector In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24760 ) Change subject: msc: add vec_keep to lock the AuthVector ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24760 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4bca739c2aad8342915e00a218f90fc19be7eafe Gerrit-Change-Number: 24760 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 24 Jun 2021 11:32: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 Jun 24 11:33:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 24 Jun 2021 11:33:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add inter-BSC HO tests with A5 encryption In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24761 ) Change subject: msc: add inter-BSC HO tests with A5 encryption ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I57e43c60d4389bd301d0195179321a34401bd1dc Gerrit-Change-Number: 24761 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 24 Jun 2021 11:33:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 24 11:33:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 24 Jun 2021 11:33:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add inter-MSC HO tests with A5 encryption In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24767 ) Change subject: msc: add inter-MSC HO tests with A5 encryption ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24767 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia1df783be33bf752d291acb857d3c48882c65975 Gerrit-Change-Number: 24767 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 24 Jun 2021 11: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 Thu Jun 24 12:42:42 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 24 Jun 2021 12:42:42 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix missing notify towards the NSE when NSVC become blocked In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24683 ) Change subject: gprs_ns2: fix missing notify towards the NSE when NSVC become blocked ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24683 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I09634e414e9bb966e6b5809b7de1b59fbabd413d Gerrit-Change-Number: 24683 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Assignee: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-CC: daniel Gerrit-Comment-Date: Thu, 24 Jun 2021 12:42: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 Jun 24 12:46:46 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 24 Jun 2021 12:46:46 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vc_fsm: reset the ALIVE response time when stopping test In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24684 ) Change subject: gprs_ns2_vc_fsm: reset the ALIVE response time when stopping test ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24684 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5435077d35ff1ae3d743ea1b1b8ace7f0fb913cf Gerrit-Change-Number: 24684 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 24 Jun 2021 12:46:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 24 12:59:36 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 24 Jun 2021 12:59:36 +0000 Subject: Change in osmo-msc[master]: support A5/4 in Cipher Mode Command In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24764 ) Change subject: support A5/4 in Cipher Mode Command ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24764 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I780a739b9bfbefd4f58be051794fe1a491823e67 Gerrit-Change-Number: 24764 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 24 Jun 2021 12:59:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 24 13:16:32 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 24 Jun 2021 13:16:32 +0000 Subject: Change in osmo-msc[master]: osmo-msc main: use osmo_select_shutdown() In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24753 ) Change subject: osmo-msc main: use osmo_select_shutdown() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24753 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I75f4637c051ed44628e65dab1bdbbf28dcc9626f Gerrit-Change-Number: 24753 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 24 Jun 2021 13:16:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 24 15:09:01 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Thu, 24 Jun 2021 15:09:01 +0000 Subject: Change in osmo-ccid-firmware[master]: 7816 fsm: don't error on card removal in tpdu wait state References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/24770 ) Change subject: 7816 fsm: don't error on card removal in tpdu wait state ...................................................................... 7816 fsm: don't error on card removal in tpdu wait state This led to a weird failed transfer _after_ poweroff of the slot upon card removal, which is.... not what should happen, at least in case the ccid side does not ignore it. Change-Id: Ibabcc938d64a057ff60a2337a1320d0afb94032b --- M ccid_common/iso7816_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/70/24770/1 diff --git a/ccid_common/iso7816_fsm.c b/ccid_common/iso7816_fsm.c index 7207245..7ea842d 100644 --- a/ccid_common/iso7816_fsm.c +++ b/ccid_common/iso7816_fsm.c @@ -438,7 +438,7 @@ if(fi->state == ISO7816_S_WAIT_PPS_RSP || fi->state == ISO7816_S_IN_PPS_RSP) ip->user_cb(fi, ISO7816_E_PPS_UNSUPPORTED_IND, 0, ppp->tx_cmd); - if(fi->state == ISO7816_S_WAIT_TPDU || fi->state == ISO7816_S_IN_TPDU) + if(fi->state == ISO7816_S_IN_TPDU) ip->user_cb(fi, ISO7816_E_TPDU_FAILED_IND, 0, tpdup->tpdu); osmo_fsm_inst_state_chg(fi, ISO7816_S_RESET, 0, 0); -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/24770 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: Ibabcc938d64a057ff60a2337a1320d0afb94032b Gerrit-Change-Number: 24770 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 Fri Jun 25 08:07:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:07:26 +0000 Subject: Change in osmo-ccid-firmware[master]: 7816 fsm: don't error on card removal in tpdu wait state In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/24770 ) Change subject: 7816 fsm: don't error on card removal in tpdu wait state ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/24770 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: Ibabcc938d64a057ff60a2337a1320d0afb94032b Gerrit-Change-Number: 24770 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 25 Jun 2021 08:07:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 25 08:07:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:07:27 +0000 Subject: Change in osmo-ccid-firmware[master]: 7816 fsm: don't error on card removal in tpdu wait state In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/24770 ) Change subject: 7816 fsm: don't error on card removal in tpdu wait state ...................................................................... 7816 fsm: don't error on card removal in tpdu wait state This led to a weird failed transfer _after_ poweroff of the slot upon card removal, which is.... not what should happen, at least in case the ccid side does not ignore it. Change-Id: Ibabcc938d64a057ff60a2337a1320d0afb94032b --- M ccid_common/iso7816_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/ccid_common/iso7816_fsm.c b/ccid_common/iso7816_fsm.c index 7207245..7ea842d 100644 --- a/ccid_common/iso7816_fsm.c +++ b/ccid_common/iso7816_fsm.c @@ -438,7 +438,7 @@ if(fi->state == ISO7816_S_WAIT_PPS_RSP || fi->state == ISO7816_S_IN_PPS_RSP) ip->user_cb(fi, ISO7816_E_PPS_UNSUPPORTED_IND, 0, ppp->tx_cmd); - if(fi->state == ISO7816_S_WAIT_TPDU || fi->state == ISO7816_S_IN_TPDU) + if(fi->state == ISO7816_S_IN_TPDU) ip->user_cb(fi, ISO7816_E_TPDU_FAILED_IND, 0, tpdup->tpdu); osmo_fsm_inst_state_chg(fi, ISO7816_S_RESET, 0, 0); -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/24770 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: Ibabcc938d64a057ff60a2337a1320d0afb94032b Gerrit-Change-Number: 24770 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 Jun 25 08:10:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:10:06 +0000 Subject: Change in osmo-msc[master]: osmo-msc main: use osmo_select_shutdown() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24753 ) Change subject: osmo-msc main: use osmo_select_shutdown() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24753 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I75f4637c051ed44628e65dab1bdbbf28dcc9626f Gerrit-Change-Number: 24753 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 25 Jun 2021 08:10: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 Jun 25 08:10:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:10:49 +0000 Subject: Change in osmo-msc[master]: ran_msg_a.c: use gsm0808_create_cipher2() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24763 ) Change subject: ran_msg_a.c: use gsm0808_create_cipher2() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24763 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib238d367b8d5d07b6ab4cb2e48fbf4ce22ca4476 Gerrit-Change-Number: 24763 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 25 Jun 2021 08:10:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 25 08:11:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:11:04 +0000 Subject: Change in osmo-msc[master]: vty: allow A5/4 encryption in config In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24632 ) Change subject: vty: allow A5/4 encryption in config ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5b46aaa8579f8d069ca39caf996a8795ffe63dd7 Gerrit-Change-Number: 24632 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 25 Jun 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 Jun 25 08:11:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:11:50 +0000 Subject: Change in osmo-msc[master]: support A5/4 in Cipher Mode Command In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24764 ) Change subject: support A5/4 in Cipher Mode Command ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24764 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I780a739b9bfbefd4f58be051794fe1a491823e67 Gerrit-Change-Number: 24764 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 25 Jun 2021 08: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 Fri Jun 25 08:11:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:11:57 +0000 Subject: Change in osmo-msc[master]: osmo-msc main: use osmo_select_shutdown() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24753 ) Change subject: osmo-msc main: use osmo_select_shutdown() ...................................................................... osmo-msc main: use osmo_select_shutdown() Change-Id: I75f4637c051ed44628e65dab1bdbbf28dcc9626f --- M src/osmo-msc/msc_main.c 1 file changed, 15 insertions(+), 5 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 laforge: Looks good to me, approved diff --git a/src/osmo-msc/msc_main.c b/src/osmo-msc/msc_main.c index fcca101..a0f584d 100644 --- a/src/osmo-msc/msc_main.c +++ b/src/osmo-msc/msc_main.c @@ -776,14 +776,24 @@ } } - while (!quit) { + do { log_reset_context(); osmo_select_main_ctx(0); - } - msc_network_shutdown(msc_network); - osmo_signal_dispatch(SS_L_GLOBAL, S_L_GLOBAL_SHUTDOWN, NULL); - sleep(3); + /* If the user hits Ctrl-C the third time, just terminate immediately. */ + if (quit >= 3) + break; + + /* Has SIGTERM been received (and not yet been handled)? */ + if (quit && !osmo_select_shutdown_requested()) { + msc_network_shutdown(msc_network); + osmo_signal_dispatch(SS_L_GLOBAL, S_L_GLOBAL_SHUTDOWN, NULL); + + /* Request write-only mode in osmo_select_main_ctx() */ + osmo_select_shutdown_request(); + /* continue the main select loop until all write queues are serviced. */ + } + } while (!osmo_select_shutdown_done()); log_fini(); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24753 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I75f4637c051ed44628e65dab1bdbbf28dcc9626f Gerrit-Change-Number: 24753 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter 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 Jun 25 08:11:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:11:58 +0000 Subject: Change in osmo-msc[master]: ran_msg_a.c: use gsm0808_create_cipher2() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24763 ) Change subject: ran_msg_a.c: use gsm0808_create_cipher2() ...................................................................... ran_msg_a.c: use gsm0808_create_cipher2() Use new API in Cipher Mode Command to prepare for A5/4 support. Depends: Ib3906085e0c6e5a496a9f755f0f786238a86ca34 (libosmocore) Related: SYS#5324 Change-Id: Ib238d367b8d5d07b6ab4cb2e48fbf4ce22ca4476 --- M TODO-RELEASE M src/libmsc/ran_msg_a.c 2 files changed, 17 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved dexter: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE index d0852fc..2297063 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -7,3 +7,4 @@ # If any interfaces have been added since the last public release: c:r:a + 1. # If any interfaces have been removed or changed since the last public release: c:r:0. #library what description / commit summary line +libosmocore >1.5.1 A5/4 support requires new API gsm0808_create_cipher2() diff --git a/src/libmsc/ran_msg_a.c b/src/libmsc/ran_msg_a.c index 4cce289..61e5024 100644 --- a/src/libmsc/ran_msg_a.c +++ b/src/libmsc/ran_msg_a.c @@ -1058,14 +1058,17 @@ gsm0808_encrypt_info_key_fits_osmo_auth_vec_kc); static struct msgb *ran_a_make_cipher_mode_command(struct osmo_fsm_inst *fi, const struct ran_cipher_mode_command *cm) { - struct gsm0808_encrypt_info ei = {}; + struct gsm0808_cipher_mode_command cmc = { + .cipher_response_mode_present = true, + .cipher_response_mode = 1, /* 1: include IMEISV (3GPP TS 48.008 3.2.2.34) */ + }; + struct gsm0808_encrypt_info *ei = &cmc.ei; char buf[16 * 2 + 1]; - const uint8_t cipher_response_mode = 1; - if (make_encrypt_info_perm_algo(fi, &ei, cm->geran.a5_encryption_mask, cm->classmark)) + if (make_encrypt_info_perm_algo(fi, ei, cm->geran.a5_encryption_mask, cm->classmark)) return NULL; - if (ei.perm_algo_len == 0) { + if (ei->perm_algo_len == 0) { LOG_RAN_A_ENC(fi, LOGL_ERROR, "cannot start ciphering, no intersection between MSC-configured" " and MS-supported A5 algorithms. MSC: 0x%02x MS: %s\n", cm->geran.a5_encryption_mask, osmo_gsm48_classmark_a5_name(cm->classmark)); @@ -1076,26 +1079,26 @@ * tokens. vec->kc was calculated from the GSM algorithm and is not * necessarily a match for the UMTS AKA tokens. */ if (cm->geran.umts_aka) - osmo_auth_c3(ei.key, cm->vec->ck, cm->vec->ik); + osmo_auth_c3(ei->key, cm->vec->ck, cm->vec->ik); else - memcpy(ei.key, cm->vec->kc, sizeof(cm->vec->kc)); - ei.key_len = sizeof(cm->vec->kc); + memcpy(ei->key, cm->vec->kc, sizeof(cm->vec->kc)); + ei->key_len = sizeof(cm->vec->kc); /* Store chosen GERAN key where the caller asked it to be stored. * alg_id remains unknown until we receive a Cipher Mode Complete from the BSC */ if (cm->geran.chosen_key) { - if (ei.key_len > sizeof(cm->geran.chosen_key->key)) { + if (ei->key_len > sizeof(cm->geran.chosen_key->key)) { LOG_RAN_A_ENC(fi, LOGL_ERROR, "Chosen key is larger than I can store\n"); return NULL; } - memcpy(cm->geran.chosen_key->key, ei.key, ei.key_len); - cm->geran.chosen_key->key_len = ei.key_len; + memcpy(cm->geran.chosen_key->key, ei->key, ei->key_len); + cm->geran.chosen_key->key_len = ei->key_len; } LOG_RAN_A_ENC(fi, LOGL_DEBUG, "Tx BSSMAP CIPHER MODE COMMAND to BSC, %u ciphers (%s) key %s\n", - ei.perm_algo_len, osmo_hexdump_nospc(ei.perm_algo, ei.perm_algo_len), - osmo_hexdump_buf(buf, sizeof(buf), ei.key, ei.key_len, NULL, false)); - return gsm0808_create_cipher(&ei, cm->geran.retrieve_imeisv ? &cipher_response_mode : NULL); + ei->perm_algo_len, osmo_hexdump_nospc(ei->perm_algo, ei->perm_algo_len), + osmo_hexdump_buf(buf, sizeof(buf), ei->key, ei->key_len, NULL, false)); + return gsm0808_create_cipher2(&cmc); } struct msgb *ran_a_make_handover_request(struct osmo_fsm_inst *log_fi, const struct ran_handover_request *n) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24763 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib238d367b8d5d07b6ab4cb2e48fbf4ce22ca4476 Gerrit-Change-Number: 24763 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter 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 Jun 25 08:11:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:11:58 +0000 Subject: Change in osmo-msc[master]: vty: allow A5/4 encryption in config In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24632 ) Change subject: vty: allow A5/4 encryption in config ...................................................................... vty: allow A5/4 encryption in config Add A5/4 to the internal mask of allowed algorithms. (Not actually working yet, A5/4 implementation follows in other patches.) Related: SYS#5324 Change-Id: I5b46aaa8579f8d069ca39caf996a8795ffe63dd7 --- M src/libmsc/msc_vty.c M tests/test_nodes.vty 2 files changed, 3 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, approved diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c index 7b111b1..2a4dbbb 100644 --- a/src/libmsc/msc_vty.c +++ b/src/libmsc/msc_vty.c @@ -151,12 +151,13 @@ DEFUN(cfg_net_encryption, cfg_net_encryption_cmd, - "encryption a5 <0-3> [<0-3>] [<0-3>] [<0-3>]", + "encryption a5 <0-4> [<0-4>] [<0-4>] [<0-4>] [<0-4>]", ENCRYPTION_STR "GSM A5 Air Interface Encryption.\n" "A5/n Algorithm Number\n" "A5/n Algorithm Number\n" "A5/n Algorithm Number\n" + "A5/n Algorithm Number\n" "A5/n Algorithm Number\n") { unsigned int i; diff --git a/tests/test_nodes.vty b/tests/test_nodes.vty index f956a12..268681a 100644 --- a/tests/test_nodes.vty +++ b/tests/test_nodes.vty @@ -16,7 +16,7 @@ mobile network code <0-999> short name NAME long name NAME - encryption a5 <0-3> [<0-3>] [<0-3>] [<0-3>] + encryption a5 <0-4> [<0-4>] [<0-4>] [<0-4>] [<0-4>] encryption uea <0-2> [<0-2>] [<0-2>] authentication (optional|required) rrlp mode (none|ms-based|ms-preferred|ass-preferred) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5b46aaa8579f8d069ca39caf996a8795ffe63dd7 Gerrit-Change-Number: 24632 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen 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 Jun 25 08:11:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:11:59 +0000 Subject: Change in osmo-msc[master]: support A5/4 in Cipher Mode Command In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24764 ) Change subject: support A5/4 in Cipher Mode Command ...................................................................... support A5/4 in Cipher Mode Command Related: SYS#5324 Change-Id: I780a739b9bfbefd4f58be051794fe1a491823e67 --- M include/osmocom/msc/msc_common.h M src/libmsc/msc_a.c M src/libmsc/ran_msg_a.c 3 files changed, 35 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 laforge: Looks good to me, approved diff --git a/include/osmocom/msc/msc_common.h b/include/osmocom/msc/msc_common.h index 8a43e69..e7ac559 100644 --- a/include/osmocom/msc/msc_common.h +++ b/include/osmocom/msc/msc_common.h @@ -32,6 +32,8 @@ uint8_t alg_id; uint8_t key_len; uint8_t key[MAX_A5_KEY_LEN]; + bool kc128_present; + uint8_t kc128[MAX_A5_KEY_LEN]; }; enum complete_layer3_type { diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c index 05030d3..4c38c56 100644 --- a/src/libmsc/msc_a.c +++ b/src/libmsc/msc_a.c @@ -292,6 +292,14 @@ return msc_a_ran_enc_ciphering(msc_a, umts_aka, retrieve_imeisv); } +static uint8_t filter_a5(uint8_t a5_mask, bool umts_aka) +{ + /* With GSM AKA: allow A5/0, 1, 3 = 0b00001011 = 0xb. + * UMTS aka: allow A5/0, 1, 3, 4 = 0b00011011 = 0x1b. + */ + return a5_mask & (umts_aka ? 0x1b : 0x0b); +} + static int msc_a_ran_enc_ciphering(struct msc_a *msc_a, bool umts_aka, bool retrieve_imeisv) { struct gsm_network *net; @@ -321,7 +329,7 @@ .geran = { .umts_aka = umts_aka, .retrieve_imeisv = retrieve_imeisv, - .a5_encryption_mask = net->a5_encryption_mask, + .a5_encryption_mask = filter_a5(net->a5_encryption_mask, umts_aka), /* for ran_a.c to store the GERAN key that is actually used */ .chosen_key = &msc_a->geran_encr, diff --git a/src/libmsc/ran_msg_a.c b/src/libmsc/ran_msg_a.c index 61e5024..106c2df 100644 --- a/src/libmsc/ran_msg_a.c +++ b/src/libmsc/ran_msg_a.c @@ -25,6 +25,7 @@ #include #include +#include #include #include @@ -1019,6 +1020,9 @@ case 3: *dst = GSM0808_ALG_ID_A5_3; return 0; + case 4: + *dst = GSM0808_ALG_ID_A5_4; + return 0; default: return -ENOTSUP; } @@ -1078,21 +1082,39 @@ /* In case of UMTS AKA, the Kc for ciphering must be derived from the 3G auth * tokens. vec->kc was calculated from the GSM algorithm and is not * necessarily a match for the UMTS AKA tokens. */ - if (cm->geran.umts_aka) + if (cm->geran.umts_aka) { + int i; osmo_auth_c3(ei->key, cm->vec->ck, cm->vec->ik); - else + + for (i = 0; i < ei->perm_algo_len; i++) { + if (ei->perm_algo[i] != GSM0808_ALG_ID_A5_4) + continue; + /* A5/4 is included, so need to generate Kc128 */ + osmo_kdf_kc128(cm->vec->ck, cm->vec->ik, cmc.kc128); + cmc.kc128_present = true; + break; + } + } else { memcpy(ei->key, cm->vec->kc, sizeof(cm->vec->kc)); + } ei->key_len = sizeof(cm->vec->kc); /* Store chosen GERAN key where the caller asked it to be stored. * alg_id remains unknown until we receive a Cipher Mode Complete from the BSC */ if (cm->geran.chosen_key) { + *cm->geran.chosen_key = (struct geran_encr){0}; + if (ei->key_len > sizeof(cm->geran.chosen_key->key)) { LOG_RAN_A_ENC(fi, LOGL_ERROR, "Chosen key is larger than I can store\n"); return NULL; } memcpy(cm->geran.chosen_key->key, ei->key, ei->key_len); cm->geran.chosen_key->key_len = ei->key_len; + + if (cmc.kc128_present) { + memcpy(cm->geran.chosen_key->kc128, cmc.kc128, 16); + cm->geran.chosen_key->kc128_present = true; + } } LOG_RAN_A_ENC(fi, LOGL_DEBUG, "Tx BSSMAP CIPHER MODE COMMAND to BSC, %u ciphers (%s) key %s\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24764 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I780a739b9bfbefd4f58be051794fe1a491823e67 Gerrit-Change-Number: 24764 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter 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 Jun 25 08:12:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:12:39 +0000 Subject: Change in libosmocore[master]: gprs_ns2: use llist_add_tail to keep order In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24682 ) Change subject: gprs_ns2: use llist_add_tail to keep order ...................................................................... gprs_ns2: use llist_add_tail to keep order When configuring multiple NSE/BINDs the order of the configuration should be keeped. Related: OS#5181 Change-Id: Ibbc03f0780b49543b5bd97ee059f11cfd6c2a126 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_vty.c M tests/gb/gprs_ns2_vty.vty 3 files changed, 10 insertions(+), 10 deletions(-) Approvals: dexter: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 618d55e..3bf31a3 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -609,8 +609,8 @@ rate_ctr_group_set_name(nsvc->ctrg, id); osmo_stat_item_group_set_name(nsvc->statg, id); - llist_add(&nsvc->list, &nse->nsvc); - llist_add(&nsvc->blist, &bind->nsvc); + llist_add_tail(&nsvc->list, &nse->nsvc); + llist_add_tail(&nsvc->blist, &bind->nsvc); ns2_nse_update_mtu(nse); return nsvc; @@ -809,7 +809,7 @@ nse->nsi = nsi; nse->first = true; nse->mtu = 0; - llist_add(&nse->list, &nsi->nse); + llist_add_tail(&nse->list, &nsi->nse); INIT_LLIST_HEAD(&nse->nsvc); return nse; @@ -1633,7 +1633,7 @@ bind->sns_data_weight = 1; bind->nsi = nsi; INIT_LLIST_HEAD(&bind->nsvc); - llist_add(&bind->list, &nsi->binding); + llist_add_tail(&bind->list, &nsi->binding); nsi->bind_rate_ctr_idx++; diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index 2777641..705b60e 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -141,7 +141,7 @@ vbind->ip_sns_sig_weight = 1; vbind->ip_sns_data_weight = 1; - llist_add(&vbind->list, &binds); + llist_add_tail(&vbind->list, &binds); return vbind; } @@ -172,7 +172,7 @@ vnse->nsei = nsei; INIT_LLIST_HEAD(&vnse->binds); - llist_add(&vnse->list, &nses); + llist_add_tail(&vnse->list, &nses); return vnse; } diff --git a/tests/gb/gprs_ns2_vty.vty b/tests/gb/gprs_ns2_vty.vty index 891bde5..4589f96 100644 --- a/tests/gb/gprs_ns2_vty.vty +++ b/tests/gb/gprs_ns2_vty.vty @@ -54,15 +54,15 @@ OsmoNSdummy# show ns NSEI 01234: UDP, DEAD 3 NS-VC: - NSVCI none: RECOVERING PERSIST data_weight=0 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.17]: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=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 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=0 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.17]: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=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 OsmoNSdummy# configure terminal OsmoNSdummy(config)# ns OsmoNSdummy(config-ns)# nse 1234 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24682 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibbc03f0780b49543b5bd97ee059f11cfd6c2a126 Gerrit-Change-Number: 24682 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Assignee: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: daniel Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 25 08:12:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:12:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix missing notify towards the NSE when NSVC become blocked In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24683 ) Change subject: gprs_ns2: fix missing notify towards the NSE when NSVC become blocked ...................................................................... gprs_ns2: fix missing notify towards the NSE when NSVC become blocked The NSE wasn't notified when a NSVC went into the BLOCKED state from an UNBLOCKED state. Related: OS#5182 Change-Id: I09634e414e9bb966e6b5809b7de1b59fbabd413d --- 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, 73 insertions(+), 0 deletions(-) Approvals: daniel: Looks good to me, approved dexter: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c index 341a5a1..70258cc 100644 --- a/src/gb/gprs_ns2_vc_fsm.c +++ b/src/gb/gprs_ns2_vc_fsm.c @@ -338,6 +338,7 @@ rate_ctr_inc(rate_ctr_group_get_ctr(priv->nsvc->ctrg, NS_CTR_BLOCKED)); } + ns2_nse_notify_unblocked(priv->nsvc, false); if (priv->om_blocked) { /* we are already blocked after a RESET */ if (old_state == GPRS_NS2_ST_RESET) { diff --git a/tests/gb/gprs_ns2_test.c b/tests/gb/gprs_ns2_test.c index cc1b2f1..c53cc6d 100644 --- a/tests/gb/gprs_ns2_test.c +++ b/tests/gb/gprs_ns2_test.c @@ -302,6 +302,72 @@ printf("--- Finish NSE block unblock nsvc\n"); } +/* setup NSE with 2x NSVCs. + * block 1st NSVC + * block 2nd NSVC + * unblock 1st NSVC */ +void test_block_unblock_nsvc2(void *ctx) +{ + struct gprs_ns2_inst *nsi; + struct gprs_ns2_vc_bind *bind[2]; + struct gprs_ns2_nse *nse; + struct gprs_ns2_vc *nsvc[2]; + struct gprs_ns_hdr *nsh; + struct msgb *msg; + char idbuf[32]; + int i; + + printf("--- Testing NSE block unblock nsvc2\n"); + 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"); + nse = gprs_ns2_create_nse(nsi, 1001, GPRS_NS2_LL_UDP, GPRS_NS2_DIALECT_STATIC_RESETBLOCK); + OSMO_ASSERT(nse); + + for (i=0; i<2; i++) { + printf("---- Create NSVC[i]\n"); + 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]); + nsvc[i]->fi->state = 3; /* HACK: 3 = GPRS_NS2_ST_UNBLOCKED */ + /* ensure the fi->state works correct */ + OSMO_ASSERT(ns2_vc_is_unblocked(nsvc[i])); + ns2_nse_notify_unblocked(nsvc[i], true); + } + + OSMO_ASSERT(nse->alive); + /* both nsvcs are unblocked and alive. Let's block them. */ + OSMO_ASSERT(!find_pdu(bind[0], NS_PDUT_BLOCK)); + clear_pdus(bind[0]); + ns2_vc_block(nsvc[0]); + OSMO_ASSERT(find_pdu(bind[0], NS_PDUT_BLOCK)); + clear_pdus(bind[0]); + OSMO_ASSERT(nse->alive); + + OSMO_ASSERT(!find_pdu(bind[1], NS_PDUT_BLOCK)); + clear_pdus(bind[1]); + ns2_vc_block(nsvc[1]); + OSMO_ASSERT(find_pdu(bind[1], NS_PDUT_BLOCK)); + clear_pdus(bind[1]); + OSMO_ASSERT(!nse->alive); + + /* now unblocking the 1st NSVC */ + ns2_vc_unblock(nsvc[0]); + OSMO_ASSERT(find_pdu(bind[0], NS_PDUT_UNBLOCK)); + clear_pdus(bind[0]); + msg = msgb_alloc_headroom(NS_ALLOC_SIZE, NS_ALLOC_HEADROOM, "test_unblock"); + msg->l2h = msgb_put(msg, sizeof(*nsh)); + nsh = (struct gprs_ns_hdr *) msg->l2h; + nsh->pdu_type = NS_PDUT_UNBLOCK_ACK; + ns2_recv_vc(nsvc[0], msg); + OSMO_ASSERT(nse->alive); + + OSMO_ASSERT(ns2_vc_is_unblocked(nsvc[0])); + gprs_ns2_free(nsi); + printf("--- Finish NSE block unblock nsvc2\n"); +} + static struct msgb *generate_unitdata(const char *msgname) { struct gprs_ns_hdr *nsh; @@ -533,6 +599,7 @@ printf("===== NS2 protocol test START\n"); test_nse_transfer_cap(ctx); test_block_unblock_nsvc(ctx); + test_block_unblock_nsvc2(ctx); test_unitdata(ctx); test_unitdata_weights(ctx); test_mtu(ctx); diff --git a/tests/gb/gprs_ns2_test.ok b/tests/gb/gprs_ns2_test.ok index 40a1528..148b6a4 100644 --- a/tests/gb/gprs_ns2_test.ok +++ b/tests/gb/gprs_ns2_test.ok @@ -11,6 +11,11 @@ ---- Create NSVC[i] ---- Create NSVC[i] --- Finish NSE block unblock nsvc +--- Testing NSE block unblock nsvc2 +---- Create NSE + Binds +---- Create NSVC[i] +---- Create NSVC[i] +--- Finish NSE block unblock nsvc2 --- Testing unitdata test ---- Create NSE + Binds ---- Create NSVC[0] -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24683 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I09634e414e9bb966e6b5809b7de1b59fbabd413d Gerrit-Change-Number: 24683 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Assignee: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: daniel Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 25 08:12:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:12:42 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vc_fsm: reset the ALIVE response time when stopping test In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24684 ) Change subject: gprs_ns2_vc_fsm: reset the ALIVE response time when stopping test ...................................................................... gprs_ns2_vc_fsm: reset the ALIVE response time when stopping test Prevent showing a response time when the NSVC has failed. Related: OS#5089 Change-Id: I5435077d35ff1ae3d743ea1b1b8ace7f0fb913cf --- M src/gb/gprs_ns2_vc_fsm.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: daniel: Looks good to me, approved dexter: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c index 70258cc..05118b2 100644 --- a/src/gb/gprs_ns2_vc_fsm.c +++ b/src/gb/gprs_ns2_vc_fsm.c @@ -181,6 +181,7 @@ static void stop_test_procedure(struct gprs_ns2_vc_priv *priv) { + osmo_stat_item_set(osmo_stat_item_group_get_item(priv->nsvc->statg, NS_STAT_ALIVE_DELAY), 0); osmo_timer_del(&priv->alive.timer); } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24684 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5435077d35ff1ae3d743ea1b1b8ace7f0fb913cf Gerrit-Change-Number: 24684 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus 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 Fri Jun 25 08:13:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:13:43 +0000 Subject: Change in libosmocore[master]: gsm0808: add Kc128 to Handover Request In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2) to the change originally created by neels. ( https://gerrit.osmocom.org/c/libosmocore/+/24769 ) Change subject: gsm0808: add Kc128 to Handover Request ...................................................................... gsm0808: add Kc128 to Handover Request Change-Id: Ieb6e43eef9e57281d54d4b7c63664668df5aef3e --- M include/osmocom/gsm/gsm0808.h M src/gsm/gsm0808.c 2 files changed, 9 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/69/24769/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24769 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ieb6e43eef9e57281d54d4b7c63664668df5aef3e Gerrit-Change-Number: 24769 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 25 08:13:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:13:56 +0000 Subject: Change in libosmocore[master]: gsm0808: add Kc128 to Handover Request In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24769 ) Change subject: gsm0808: add Kc128 to Handover Request ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24769 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ieb6e43eef9e57281d54d4b7c63664668df5aef3e Gerrit-Change-Number: 24769 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 25 Jun 2021 08:13: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 Jun 25 08:14:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:14:34 +0000 Subject: Change in osmo-bsc[master]: bsc_ctrl_commands: add command to write vty config In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24735 ) Change subject: bsc_ctrl_commands: add command to write vty config ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24735 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If17095bb86f82dd8feb86eb72c4133ea3aa1c3b3 Gerrit-Change-Number: 24735 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 25 Jun 2021 08:14:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 25 08:14:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:14:38 +0000 Subject: Change in osmo-bsc[master]: bsc_ctrl_commands: add command to write vty config In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24735 ) Change subject: bsc_ctrl_commands: add command to write vty config ...................................................................... bsc_ctrl_commands: add command to write vty config we recently added control commands to apply vty config files during runtime using the control interface. However, there is no command that allows us to store the config file modifications. Change-Id: If17095bb86f82dd8feb86eb72c4133ea3aa1c3b3 Related: SYS#5369 --- M doc/manuals/chapters/control.adoc M src/osmo-bsc/bsc_ctrl_commands.c 2 files changed, 28 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/doc/manuals/chapters/control.adoc b/doc/manuals/chapters/control.adoc index 6b1609a..bd49100 100644 --- a/doc/manuals/chapters/control.adoc +++ b/doc/manuals/chapters/control.adoc @@ -27,6 +27,7 @@ |inform-msc-v1|WO|Yes|Arbitrary value| See <> for details. |rf_locked|RW|No|"0","1"|See <> for details. |number-of-bts|RO|No|""|Get number of configured BTS. +|write-config-file|WO|No|"overwrite", ""|Write running configuration to file. |bts.N.location-area-code|RW|No|""|Set/Get LAC (value between (0, 65535)). |bts.N.cell-identity|RW|No|""|Set/Get Cell Identity (value between (0, 65535)). |bts.N.apply-configuration|WO|No|Ignored|Restart BTS via OML. diff --git a/src/osmo-bsc/bsc_ctrl_commands.c b/src/osmo-bsc/bsc_ctrl_commands.c index 2d37b5d..15f5536 100644 --- a/src/osmo-bsc/bsc_ctrl_commands.c +++ b/src/osmo-bsc/bsc_ctrl_commands.c @@ -24,6 +24,7 @@ #include #include +#include #include #include @@ -82,6 +83,31 @@ } CTRL_CMD_DEFINE_WO(net_apply_config_file, "apply-config-file"); +static int verify_net_write_config_file(struct ctrl_cmd *cmd, const char *value, void *_data) +{ + return 0; +} +static int set_net_write_config_file(struct ctrl_cmd *cmd, void *_data) +{ + const char *cfile_name; + unsigned cmd_ret = CTRL_CMD_ERROR; + + if (strcmp(cmd->value, "overwrite")) + host_config_set(cmd->value); + + cfile_name = host_config_file(); + + LOGP(DCTRL, LOGL_NOTICE, "Writing VTY config to file %s...\n", cfile_name); + if (osmo_vty_write_config_file(cfile_name) < 0) + goto ret; + + cmd->reply = "OK"; + cmd_ret = CTRL_CMD_REPLY; +ret: + return cmd_ret; +} +CTRL_CMD_DEFINE_WO(net_write_config_file, "write-config-file"); + CTRL_CMD_DEFINE(net_mcc, "mcc"); static int get_net_mcc(struct ctrl_cmd *cmd, void *_data) { @@ -528,6 +554,7 @@ { int rc = 0; rc |= ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_net_apply_config_file); + rc |= ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_net_write_config_file); rc |= ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_net_mnc); rc |= ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_net_mcc); rc |= ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_net_apply_config); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24735 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If17095bb86f82dd8feb86eb72c4133ea3aa1c3b3 Gerrit-Change-Number: 24735 Gerrit-PatchSet: 3 Gerrit-Owner: dexter 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 Jun 25 08:14:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:14:38 +0000 Subject: Change in osmo-bsc[master]: control.adoc: add doc for apply-config-file In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24736 ) Change subject: control.adoc: add doc for apply-config-file ...................................................................... control.adoc: add doc for apply-config-file apply-config-file is not documented in the manual. Change-Id: I469e3925c1079e45eea246e599bcd50ba3fc9dd3 Related: SYS#5369 --- M doc/manuals/chapters/control.adoc 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/doc/manuals/chapters/control.adoc b/doc/manuals/chapters/control.adoc index bd49100..85696a0 100644 --- a/doc/manuals/chapters/control.adoc +++ b/doc/manuals/chapters/control.adoc @@ -27,6 +27,7 @@ |inform-msc-v1|WO|Yes|Arbitrary value| See <> for details. |rf_locked|RW|No|"0","1"|See <> for details. |number-of-bts|RO|No|""|Get number of configured BTS. +|apply-config-file|WO|No|""|Apply VTY config file snippet from file. |write-config-file|WO|No|"overwrite", ""|Write running configuration to file. |bts.N.location-area-code|RW|No|""|Set/Get LAC (value between (0, 65535)). |bts.N.cell-identity|RW|No|""|Set/Get Cell Identity (value between (0, 65535)). -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24736 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I469e3925c1079e45eea246e599bcd50ba3fc9dd3 Gerrit-Change-Number: 24736 Gerrit-PatchSet: 3 Gerrit-Owner: dexter 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 Jun 25 08:15:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:15:15 +0000 Subject: Change in osmo-bsc[master]: pcuif_proto.h: Add new container messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24754 ) Change subject: pcuif_proto.h: Add new container messages ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24754 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icc50f903a7fe1464549537a24b2bd2befaf6f7e1 Gerrit-Change-Number: 24754 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 25 Jun 2021 08:15:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 25 08:17:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:17:15 +0000 Subject: Change in osmo-bsc[master]: Support proto IPAC_PROTO_EXT_PCU BSC<->PCU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24755 ) Change subject: Support proto IPAC_PROTO_EXT_PCU BSC<->PCU ...................................................................... Patch Set 1: As stated in another pathc, I'm not particularly happy to just call things "osmo" - that's too generic. What we have is an osmocom-extended IPA multiplex, so "osmoipa" ipa_osmo_ext, ipa_ext_osmo or whatever along those lines seems more intuitive to me. What do you think? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24755 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4b3919f3098b9468e5e024db1e45427af24c1ad4 Gerrit-Change-Number: 24755 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 25 Jun 2021 08:17:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 25 08:17:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:17:21 +0000 Subject: Change in osmo-bsc[master]: pcuif_proto.h: Add new container messages In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24754 ) Change subject: pcuif_proto.h: Add new container messages ...................................................................... pcuif_proto.h: Add new container messages Related: SYS#5303 Change-Id: Icc50f903a7fe1464549537a24b2bd2befaf6f7e1 --- M include/osmocom/bsc/pcuif_proto.h 1 file changed, 10 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/pcuif_proto.h b/include/osmocom/bsc/pcuif_proto.h index 38ca4b6..3e6f651 100644 --- a/include/osmocom/bsc/pcuif_proto.h +++ b/include/osmocom/bsc/pcuif_proto.h @@ -24,6 +24,7 @@ #define PCU_IF_MSG_INTERF_IND 0x53 /* interference report */ #define PCU_IF_MSG_PAG_REQ 0x60 /* paging request */ #define PCU_IF_MSG_TXT_IND 0x70 /* Text indication for BTS */ +#define PCU_IF_MSG_CONTAINER 0x80 /* Transparent container message */ /* sapi */ #define PCU_IF_SAPI_RACH 0x01 /* channel request on CCCH */ @@ -217,6 +218,14 @@ uint8_t interf[8]; } __attribute__ ((packed)); +/* Contains messages transmitted BSC<->PCU, potentially forwarded by BTS via IPA/PCU */ +struct gsm_pcu_if_container { + uint8_t msg_type; + uint8_t spare; + uint16_t length; /* network byte order */ + uint8_t data[0]; +} __attribute__ ((packed)); + struct gsm_pcu_if { /* context based information */ uint8_t msg_type; /* message type */ @@ -238,6 +247,7 @@ struct gsm_pcu_if_pag_req pag_req; struct gsm_pcu_if_app_info_req app_info_req; struct gsm_pcu_if_interf_ind interf_ind; + struct gsm_pcu_if_container container; } u; } __attribute__ ((packed)); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24754 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icc50f903a7fe1464549537a24b2bd2befaf6f7e1 Gerrit-Change-Number: 24754 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 25 08:17:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:17:56 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: indicate A5/4 support, handle Kc128 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24631 ) Change subject: osmo-bts-trx: indicate A5/4 support, handle Kc128 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib8e04fe79f30b443a54c38f395a7a3626ff97c45 Gerrit-Change-Number: 24631 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Fri, 25 Jun 2021 08:17: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 Jun 25 08:17:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:17:59 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: indicate A5/4 support, handle Kc128 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24631 ) Change subject: osmo-bts-trx: indicate A5/4 support, handle Kc128 ...................................................................... osmo-bts-trx: indicate A5/4 support, handle Kc128 Change-Id: Ib8e04fe79f30b443a54c38f395a7a3626ff97c45 Related: SYS#5324 --- M src/common/scheduler.c M src/osmo-bts-trx/main.c M tests/cipher/cipher_test.c 3 files changed, 5 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, approved diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 93c1e85..11b3f4b 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -1201,7 +1201,7 @@ /* no algorithm given means a5/0 */ if (algo <= 0) algo = 0; - else if (lchan->encr.key_len != 8) { + else if (lchan->encr.key_len != 8 && lchan->encr.key_len != 16) { LOGPLCHAN(lchan, DL1C, LOGL_ERROR, "Algo A5/%d not supported with given key_len=%u\n", algo, lchan->encr.key_len); diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c index 7134939..7c2fda8 100644 --- a/src/osmo-bts-trx/main.c +++ b/src/osmo-bts-trx/main.c @@ -127,7 +127,7 @@ bts->model_priv = bts_trx; bts->variant = BTS_OSMO_TRX; - bts->support.ciphers = CIPHER_A5(1) | CIPHER_A5(2) | CIPHER_A5(3); + bts->support.ciphers = CIPHER_A5(1) | CIPHER_A5(2) | CIPHER_A5(3) | CIPHER_A5(4); /* The nominal value for each TRX is later overwritten through VTY cmd * 'nominal-tx-power' if present, otherwise through TRXC cmd NOMTXPOWER. diff --git a/tests/cipher/cipher_test.c b/tests/cipher/cipher_test.c index 9d78a88..9303ed2 100644 --- a/tests/cipher/cipher_test.c +++ b/tests/cipher/cipher_test.c @@ -50,14 +50,14 @@ ASSERT_TRUE(bts_supports_cipher(bts, i) == 0); } - /* checking default A5/1 to A5/3 support */ - bts->support.ciphers = CIPHER_A5(1) | CIPHER_A5(2) | CIPHER_A5(3); + /* checking default A5/1 to A5/4 support */ + bts->support.ciphers = CIPHER_A5(1) | CIPHER_A5(2) | CIPHER_A5(3) | CIPHER_A5(4); ASSERT_TRUE(bts_supports_cipher(bts, 0x0) == -ENOTSUP); ASSERT_TRUE(bts_supports_cipher(bts, 0x1) == 1); /* A5/0 */ ASSERT_TRUE(bts_supports_cipher(bts, 0x2) == 1); /* A5/1 */ ASSERT_TRUE(bts_supports_cipher(bts, 0x3) == 1); /* A5/2 */ ASSERT_TRUE(bts_supports_cipher(bts, 0x4) == 1); /* A5/3 */ - ASSERT_TRUE(bts_supports_cipher(bts, 0x5) == 0); /* A5/4 */ + ASSERT_TRUE(bts_supports_cipher(bts, 0x5) == 1); /* A5/4 */ ASSERT_TRUE(bts_supports_cipher(bts, 0x6) == 0); /* A5/5 */ ASSERT_TRUE(bts_supports_cipher(bts, 0x7) == 0); /* A5/6 */ ASSERT_TRUE(bts_supports_cipher(bts, 0x8) == 0); /* A5/7 */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib8e04fe79f30b443a54c38f395a7a3626ff97c45 Gerrit-Change-Number: 24631 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 25 08:18:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:18:30 +0000 Subject: Change in osmo-bsc[master]: vty: allow 5 encryption algo entries In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24762 ) Change subject: vty: allow 5 encryption algo entries ...................................................................... vty: allow 5 encryption algo entries follow-up to 0256c891878be531c24aa0c62e7c56ef8d71ab65 Icac06ed554fd61bf7c4bfb1d5c3739a01f2915a4 Previous patch increased the range, but let's also allow one more argument so that the A5 mask can be fully enabled. Change-Id: Ie8cd753e4425d7d51397e4dddc24108fa0392de4 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 1ec34bc..8ba55e6 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -6777,12 +6777,13 @@ DEFUN_USRATTR(cfg_net_encryption, cfg_net_encryption_cmd, X(BSC_VTY_ATTR_NEW_LCHAN), - "encryption a5 <0-4> [<0-4>] [<0-4>] [<0-4>]", + "encryption a5 <0-4> [<0-4>] [<0-4>] [<0-4>] [<0-4>]", "Encryption options\n" "GSM A5 Air Interface Encryption\n" "A5/n Algorithm Number\n" "A5/n Algorithm Number\n" "A5/n Algorithm Number\n" + "A5/n Algorithm Number\n" "A5/n Algorithm Number\n") { struct gsm_network *gsmnet = gsmnet_from_vty(vty); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie8cd753e4425d7d51397e4dddc24108fa0392de4 Gerrit-Change-Number: 24762 Gerrit-PatchSet: 3 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 Jun 25 08:19:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:19:05 +0000 Subject: Change in libosmocore[master]: gsm0808: add Kc128 to Handover Request In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24769 ) Change subject: gsm0808: add Kc128 to Handover Request ...................................................................... gsm0808: add Kc128 to Handover Request Change-Id: Ieb6e43eef9e57281d54d4b7c63664668df5aef3e --- M include/osmocom/gsm/gsm0808.h M src/gsm/gsm0808.c 2 files changed, 9 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/gsm/gsm0808.h b/include/osmocom/gsm/gsm0808.h index 3e39460..c21ce8a 100644 --- a/include/osmocom/gsm/gsm0808.h +++ b/include/osmocom/gsm/gsm0808.h @@ -218,7 +218,12 @@ uint8_t global_call_reference_len; /* more items are defined in the spec and may be added later */ - bool more_items; /*!< always set this to false */ + bool more_items; /*!< set this to true iff any fields below are used */ + + bool kc128_present; + uint8_t kc128[16]; + + bool more_items2; /*!< always set this to false */ }; struct msgb *gsm0808_create_handover_request(const struct gsm0808_handover_request *params); diff --git a/src/gsm/gsm0808.c b/src/gsm/gsm0808.c index 4f072f7..158c490 100644 --- a/src/gsm/gsm0808.c +++ b/src/gsm/gsm0808.c @@ -1005,6 +1005,9 @@ msgb_tv_fixed_put(msg, GSM0808_IE_CALL_ID, 4, val); } + if (params->more_items && params->kc128_present) + gsm0808_enc_kc128(msg, params->kc128); + if (params->global_call_reference && params->global_call_reference_len) { msgb_tlv_put(msg, GSM0808_IE_GLOBAL_CALL_REF, params->global_call_reference_len, params->global_call_reference); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24769 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ieb6e43eef9e57281d54d4b7c63664668df5aef3e Gerrit-Change-Number: 24769 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 25 08:22:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:22:19 +0000 Subject: Change in osmo-msc[master]: support A5/4 in inter-BSC handover In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24765 ) Change subject: support A5/4 in inter-BSC handover ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24765 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Id5ce995a741c8e469a50a0c46e53c06a2378bb7e Gerrit-Change-Number: 24765 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 25 Jun 2021 08:22:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 25 08:22:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 08:22:47 +0000 Subject: Change in osmo-msc[master]: improve logging on encryption, for Ciphering and HO In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24766 ) Change subject: improve logging on encryption, for Ciphering and HO ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24766 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: If7871dedda2b1fb115e6f00da1379ff2e3d68a10 Gerrit-Change-Number: 24766 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 25 Jun 2021 08:22: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 Jun 25 09:40:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 09:40:40 +0000 Subject: Change in osmo-msc[master]: support A5/4 in inter-BSC handover In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24765 ) Change subject: support A5/4 in inter-BSC handover ...................................................................... support A5/4 in inter-BSC handover Forward the Kc128 key to the new BSS in BSSMAP Handover Request. Depends: Ieb6e43eef9e57281d54d4b7c63664668df5aef3e (libosmocore) Change-Id: Id5ce995a741c8e469a50a0c46e53c06a2378bb7e --- M TODO-RELEASE M src/libmsc/ran_msg_a.c 2 files changed, 13 insertions(+), 1 deletion(-) Approvals: fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/TODO-RELEASE b/TODO-RELEASE index 2297063..d969e50 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -7,4 +7,4 @@ # If any interfaces have been added since the last public release: c:r:a + 1. # If any interfaces have been removed or changed since the last public release: c:r:0. #library what description / commit summary line -libosmocore >1.5.1 A5/4 support requires new API gsm0808_create_cipher2() +libosmocore >1.5.1 A5/4 support requires new API gsm0808_create_cipher2(), and gsm0808_handover_request.kc128 diff --git a/src/libmsc/ran_msg_a.c b/src/libmsc/ran_msg_a.c index 106c2df..273f8dd 100644 --- a/src/libmsc/ran_msg_a.c +++ b/src/libmsc/ran_msg_a.c @@ -483,6 +483,7 @@ const struct tlv_p_entry *ie_aoip_transp_addr = TLVP_GET(tp, GSM0808_IE_AOIP_TRASP_ADDR); const struct tlv_p_entry *ie_codec_list_msc_preferred = TLVP_GET(tp, GSM0808_IE_SPEECH_CODEC_LIST); const struct tlv_p_entry *ie_call_id = TLVP_GET(tp, GSM0808_IE_CALL_ID); + const struct tlv_p_entry *ie_kc128 = TLVP_GET(tp, GSM0808_IE_KC_128); const struct tlv_p_entry *ie_global_call_ref = TLVP_GET(tp, GSM0808_IE_GLOBAL_CALL_REF); struct gsm0808_channel_type channel_type; @@ -525,6 +526,11 @@ geran_encr.key_len = encr_info.key_len; } + if (ie_kc128) { + memcpy(geran_encr.kc128, ie_kc128->val, 16); + geran_encr.kc128_present = true; + } + r->geran.chosen_encryption = &geran_encr; } @@ -1166,6 +1172,12 @@ n->geran.chosen_encryption->key, n->geran.chosen_encryption->key_len); r.encryption_information.key_len = n->geran.chosen_encryption->key_len; r.chosen_encryption_algorithm_serving = n->geran.chosen_encryption->alg_id; + + if (n->geran.chosen_encryption->kc128_present) { + r.more_items = true; + memcpy(r.kc128, n->geran.chosen_encryption->kc128, sizeof(r.kc128)); + r.kc128_present = true; + } } if (n->classmark) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24765 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Id5ce995a741c8e469a50a0c46e53c06a2378bb7e Gerrit-Change-Number: 24765 Gerrit-PatchSet: 3 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 Jun 25 09:40:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 09:40:41 +0000 Subject: Change in osmo-msc[master]: improve logging on encryption, for Ciphering and HO In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24766 ) Change subject: improve logging on encryption, for Ciphering and HO ...................................................................... improve logging on encryption, for Ciphering and HO log the algorithm and all keys instead of just Kc. Change-Id: If7871dedda2b1fb115e6f00da1379ff2e3d68a10 --- M src/libmsc/msc_a.c M src/libmsc/msc_ho.c 2 files changed, 14 insertions(+), 2 deletions(-) Approvals: fixeria: Looks good to me, approved dexter: Looks good to me, approved laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c index 4c38c56..451220a 100644 --- a/src/libmsc/msc_a.c +++ b/src/libmsc/msc_a.c @@ -345,8 +345,12 @@ } if (msc_a->geran_encr.key_len) - LOG_MSC_A(msc_a, LOGL_DEBUG, "RAN encoding chose ciphering key %s\n", - osmo_hexdump_nospc(msc_a->geran_encr.key, msc_a->geran_encr.key_len)); + LOG_MSC_A(msc_a, LOGL_DEBUG, "RAN encoding chose ciphering: A5/%d kc %s kc128 %s\n", + msc_a->geran_encr.alg_id - 1, + osmo_hexdump_nospc_c(OTC_SELECT, msc_a->geran_encr.key, msc_a->geran_encr.key_len), + msc_a->geran_encr.kc128_present ? + osmo_hexdump_nospc_c(OTC_SELECT, msc_a->geran_encr.kc128, sizeof(msc_a->geran_encr.kc128)) + : "-"); return 0; } diff --git a/src/libmsc/msc_ho.c b/src/libmsc/msc_ho.c index d89a24c..6b8960e 100644 --- a/src/libmsc/msc_ho.c +++ b/src/libmsc/msc_ho.c @@ -408,6 +408,14 @@ }, }; + if (msc_a->geran_encr.key_len) + LOG_MSC_A(msc_a, LOGL_DEBUG, "HO Request with ciphering: A5/%d kc %s kc128 %s\n", + msc_a->geran_encr.alg_id - 1, + osmo_hexdump_nospc_c(OTC_SELECT, msc_a->geran_encr.key, msc_a->geran_encr.key_len), + msc_a->geran_encr.kc128_present ? + osmo_hexdump_nospc_c(OTC_SELECT, msc_a->geran_encr.kc128, sizeof(msc_a->geran_encr.kc128)) + : "-"); + if (msc_a->cc.active_trans) { if (mncc_bearer_cap_to_channel_type(&channel_type, &msc_a->cc.active_trans->bearer_cap)) { msc_ho_failed(msc_a, GSM0808_CAUSE_EQUIPMENT_FAILURE, -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24766 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: If7871dedda2b1fb115e6f00da1379ff2e3d68a10 Gerrit-Change-Number: 24766 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter 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 Jun 25 09:41:00 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Jun 2021 09:41:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: f_auth3g_kc(): take vec as argument, drop "runs on" In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24757 ) Change subject: msc: f_auth3g_kc(): take vec as argument, drop "runs on" ...................................................................... msc: f_auth3g_kc(): take vec as argument, drop "runs on" It is more elegant to have one arg and not require a "runs on". Related: SYS#5324 Change-Id: Iec21710edaa6ad3d20e23c7ee055909c642e8220 --- M msc/BSC_ConnectionHandler.ttcn 1 file changed, 5 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index 8eb3f73..01db3d0 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -435,7 +435,7 @@ g_pars.vec.autn, g_pars.vec.res)); GSUP.send(ts_GSUP_SAI_RES(g_pars.imsi, auth_tuple)); - g_pars.vec.kc := f_auth3g_kc(); + g_pars.vec.kc := f_auth3g_kc(g_pars.vec); } else { g_pars.vec := f_gen_auth_vec_2g(); auth_tuple := valueof(ts_GSUP_IE_AuthTuple2G(g_pars.vec.rand, @@ -548,11 +548,12 @@ } } -function f_auth3g_kc() runs on BSC_ConnHdlr return OCT8 { +/* For UMTS AKA on GERAN, calculate the specific kc from the UMTS AKA ck and ik vectors. */ +function f_auth3g_kc(AuthVector vec) return OCT8 { var integer i; - var octetstring res := g_pars.vec.ck[0] xor4b g_pars.vec.ck[0 + 8] xor4b g_pars.vec.ik[0] xor4b g_pars.vec.ik[0 + 8]; + var octetstring res := vec.ck[0] xor4b vec.ck[0 + 8] xor4b vec.ik[0] xor4b vec.ik[0 + 8]; for (i := 1; i < 8; i := i + 1) { - var octetstring a := g_pars.vec.ck[i] xor4b g_pars.vec.ck[i + 8] xor4b g_pars.vec.ik[i] xor4b g_pars.vec.ik[i + 8]; + var octetstring a := vec.ck[i] xor4b vec.ck[i + 8] xor4b vec.ik[i] xor4b vec.ik[i + 8]; res := res & a; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24757 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iec21710edaa6ad3d20e23c7ee055909c642e8220 Gerrit-Change-Number: 24757 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 25 11:00:43 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Jun 2021 11:00:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests_SMSCB: ensure f_shutdown() is called in all test cases In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24768 ) Change subject: BTS_Tests_SMSCB: ensure f_shutdown() is called in all test cases ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24768 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3f2c327e1e44d5decd4a936f063af649687f950a Gerrit-Change-Number: 24768 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 25 Jun 2021 11:00:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 25 11:04:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Jun 2021 11:04:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: generate Milenage ck in f_get_expected_encryption() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24759 ) Change subject: msc: generate Milenage ck in f_get_expected_encryption() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24759 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iec618ba7fddb2290fc0137d99a9b8d5e2b428b98 Gerrit-Change-Number: 24759 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 25 Jun 2021 11:04: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 Jun 25 11:05:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Jun 2021 11:05:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add vec_keep to lock the AuthVector In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24760 ) Change subject: msc: add vec_keep to lock the AuthVector ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24760 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4bca739c2aad8342915e00a218f90fc19be7eafe Gerrit-Change-Number: 24760 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 25 Jun 2021 11:05:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 25 11:06:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Jun 2021 11:06:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add inter-BSC HO tests with A5 encryption In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24761 ) Change subject: msc: add inter-BSC HO tests with A5 encryption ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I57e43c60d4389bd301d0195179321a34401bd1dc Gerrit-Change-Number: 24761 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 25 Jun 2021 11:06: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 Jun 25 11:06:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Jun 2021 11:06:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add inter-MSC HO tests with A5 encryption In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24767 ) Change subject: msc: add inter-MSC HO tests with A5 encryption ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24767 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia1df783be33bf752d291acb857d3c48882c65975 Gerrit-Change-Number: 24767 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 25 Jun 2021 11:06: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 Jun 25 11:14:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Jun 2021 11:14:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: add testcase TC_paging_imsi_200percent_with_ps In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24752 ) Change subject: BTS_Tests: add testcase TC_paging_imsi_200percent_with_ps ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24752 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie72e788d9ebff6ca4e50314746127a9689948062 Gerrit-Change-Number: 24752 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: Fri, 25 Jun 2021 11:14: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 Jun 25 11:20:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Jun 2021 11:20:39 +0000 Subject: Change in osmo-bsc[master]: Support proto IPAC_PROTO_EXT_PCU BSC<->PCU In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24755 ) Change subject: Support proto IPAC_PROTO_EXT_PCU BSC<->PCU ...................................................................... Patch Set 1: I think I already asked in the other patch what exactly do you want me to change. Simply rename file and contents from abis_osmo.c/h? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24755 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4b3919f3098b9468e5e024db1e45427af24c1ad4 Gerrit-Change-Number: 24755 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 25 Jun 2021 11:20: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 Fri Jun 25 11:25:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Jun 2021 11:25:26 +0000 Subject: Change in osmo-pcu[master]: pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24747 ) Change subject: pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack ...................................................................... Patch Set 2: I guess everything is fine and I can merge? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24747 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I666ed5d157f42e74956fa49fc9eea85d27e63d44 Gerrit-Change-Number: 24747 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 25 Jun 2021 11:25:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 25 11:28:43 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 25 Jun 2021 11:28:43 +0000 Subject: Change in osmo-pcu[master]: pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24747 ) Change subject: pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack ...................................................................... Patch Set 2: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/24747/2/src/pdch.cpp File src/pdch.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/24747/2/src/pdch.cpp at 336 PS2, Line 336: it may be NULL > ms pointer as would have been obtained by bts_ms_by_tlli could be null. [?] Ok, I still find this comment rather confusing, but not gonna block you. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24747 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I666ed5d157f42e74956fa49fc9eea85d27e63d44 Gerrit-Change-Number: 24747 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 25 Jun 2021 11:28:43 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 25 11:29:28 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 25 Jun 2021 11:29:28 +0000 Subject: Change in osmo-pcu[master]: pcuif_proto.h: Add new container message In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24620 ) Change subject: pcuif_proto.h: Add new container message ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/24620/3/include/osmocom/pcu/pcuif_proto.h File include/osmocom/pcu/pcuif_proto.h: https://gerrit.osmocom.org/c/osmo-pcu/+/24620/3/include/osmocom/pcu/pcuif_proto.h at 27 PS3, Line 27: tabs vs spaces -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24620 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib6c7bf5ca5a06186a71ec50cfc1a91a5c9b01d9c Gerrit-Change-Number: 24620 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 25 Jun 2021 11:29: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 Jun 25 11:52:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Jun 2021 11:52:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Rename function issuing OML SetAttributes References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24771 ) Change subject: bts: Rename function issuing OML SetAttributes ...................................................................... bts: Rename function issuing OML SetAttributes GetAttributes support will be introduced next, and current naming is misleading. Change-Id: Id84eda70e97364b7ec6a8d351f0b54f07faba670 --- M bts/BTS_Tests_OML.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/71/24771/1 diff --git a/bts/BTS_Tests_OML.ttcn b/bts/BTS_Tests_OML.ttcn index ddeb139..00c66c3 100644 --- a/bts/BTS_Tests_OML.ttcn +++ b/bts/BTS_Tests_OML.ttcn @@ -232,7 +232,7 @@ } /* Perform a "SET BTS ATTRIBUTES" procedure with the BTS */ -private function f_oml_bts_attr() +private function f_oml_bts_setattr() runs on BSC_OML_CT { var OML_FOM_ObjectInstance obj_inst := valueof(ts_OML_ObjectInstance(g_bts_nr, 255, 255)); var template (value) OML_FOM_IE_List ies := { @@ -539,7 +539,7 @@ [] OML.receive { repeat; } } - f_oml_bts_attr(); + f_oml_bts_setattr(); f_oml_opstart(obj_class, obj_inst, false, NM_OPSTATE_ENABLED); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24771 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id84eda70e97364b7ec6a8d351f0b54f07faba670 Gerrit-Change-Number: 24771 Gerrit-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 Jun 25 11:53:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Jun 2021 11:53:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Support passing PCUIF messages over IPA multiplex In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24656 ) Change subject: bts: Support passing PCUIF messages over IPA multiplex ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24656 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3cd0988cb654f1c5816d1c4717255a5e802d7925 Gerrit-Change-Number: 24656 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 25 Jun 2021 11:53:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 25 11:57:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Jun 2021 11:57:50 +0000 Subject: Change in osmo-pcu[master]: pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24747 ) Change subject: pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack ...................................................................... pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack If bts_ms_by_tlli() at the start of the function fails, ms could be NULL. As a result "ms->nacc" access at the end of the function would crash. Solution: In the function, we get the related expected TBF from pdch_ulc, and we only continue if a TBF is found. Since tbf objects are always expected to have a GprsMs, simply gather it from there. Change-Id: I666ed5d157f42e74956fa49fc9eea85d27e63d44 --- M src/pdch.cpp 1 file changed, 6 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/pdch.cpp b/src/pdch.cpp index 8e0a24a..9321384 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -304,7 +304,7 @@ { struct gprs_rlcmac_tbf *tbf, *new_tbf; uint32_t tlli = packet->TLLI; - GprsMs *ms = bts_ms_by_tlli(bts(), tlli, GSM_RESERVED_TMSI); + GprsMs *ms; gprs_rlcmac_ul_tbf *ul_tbf; enum pdch_ulc_tbf_poll_reason reason; struct pdch_ulc_node *poll; @@ -314,6 +314,7 @@ LOGPDCH(this, DRLCMAC, LOGL_NOTICE, "PACKET CONTROL ACK with " "unknown FN=%u TLLI=0x%08x (TRX %d TS %d)\n", fn, tlli, trx_no(), ts_no); + ms = bts_ms_by_tlli(bts(), tlli, GSM_RESERVED_TMSI); if (ms) LOGPDCH(this, DRLCMAC, LOGL_NOTICE, "PACKET CONTROL ACK with " "unknown TBF corresponds to MS with IMSI %s, TA %d, " @@ -332,6 +333,8 @@ tbf->n_reset(N3101); tbf->update_ms(tlli, GPRS_RLCMAC_UL_TBF); + /* Gather MS from TBF, since it may be NULL or may have been merged during update_ms */ + ms = tbf->ms(); LOGPTBF(tbf, LOGL_DEBUG, "FN=%" PRIu32 " Rx Packet Control Ack (reason=%s)\n", fn, get_value_string(pdch_ulc_tbf_poll_reason_names, reason)); @@ -353,7 +356,7 @@ tbf->n_reset(N3105); TBF_SET_ASS_STATE_DL(tbf, GPRS_RLCMAC_DL_ASS_NONE); - new_tbf = tbf->ms() ? ms_dl_tbf(tbf->ms()) : NULL; + new_tbf = ms_dl_tbf(ms); if (!new_tbf) { LOGPDCH(this, DRLCMAC, LOGL_ERROR, "Got ACK, but DL " "TBF is gone TLLI=0x%08x\n", tlli); @@ -385,7 +388,7 @@ tbf->n_reset(N3105); TBF_SET_ASS_STATE_UL(tbf, GPRS_RLCMAC_UL_ASS_NONE); - new_tbf = tbf->ms() ? ms_ul_tbf(tbf->ms()) : NULL; + new_tbf = ms_ul_tbf(ms); if (!new_tbf) { LOGPDCH(this, DRLCMAC, LOGL_ERROR, "Got ACK, but UL " "TBF is gone TLLI=0x%08x\n", tlli); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24747 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I666ed5d157f42e74956fa49fc9eea85d27e63d44 Gerrit-Change-Number: 24747 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 25 14:02:54 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 25 Jun 2021 14:02:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Rename function issuing OML SetAttributes In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24771 ) Change subject: bts: Rename function issuing OML SetAttributes ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24771 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id84eda70e97364b7ec6a8d351f0b54f07faba670 Gerrit-Change-Number: 24771 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 25 Jun 2021 14: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 Jun 25 14:11:27 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 25 Jun 2021 14:11:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: CSN1: Support enc/dec of Packet Measurement related messages In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24750 ) Change subject: CSN1: Support enc/dec of Packet Measurement related messages ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24750 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5567a0d86c70d67e2012ba284146952a40c279d7 Gerrit-Change-Number: 24750 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 25 Jun 2021 14:11: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 Jun 25 16:29:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Jun 2021 16:29:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Test forwarding PCUIF<->IPA/OSMO/PCU References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24772 ) Change subject: bts: Test forwarding PCUIF<->IPA/OSMO/PCU ...................................................................... bts: Test forwarding PCUIF<->IPA/OSMO/PCU Change-Id: I78880098a55d1cb456011746efa0a47832a86ca8 --- M bts/BTS_Tests.cfg M bts/BTS_Tests.ttcn M bts/BTS_Tests_OML.ttcn M library/AbisOML_Types.ttcn M library/PCUIF_Types.ttcn 5 files changed, 195 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/72/24772/1 diff --git a/bts/BTS_Tests.cfg b/bts/BTS_Tests.cfg index aaffbf6..36d81e2 100644 --- a/bts/BTS_Tests.cfg +++ b/bts/BTS_Tests.cfg @@ -31,6 +31,7 @@ #BTS_Tests.mp_tolerance_rxlev := 10; #BTS_Tests.mp_tolerance_rxqual := 1; +BTS_Tests_OML.mp_pcu_socket := "/tmp/pcu_sock" [MAIN_CONTROLLER] diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index e855405..a08c3ff 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -70,6 +70,7 @@ friend module BTS_Tests_virtphy; friend module BTS_Tests_LAPDm; friend module BTS_Tests_perf; +friend module BTS_Tests_OML; /* The tests assume a BTS with the following timeslot configuration: * TS0 : Combined CCCH + SDCCH/4 @@ -440,7 +441,7 @@ } /* PCU socket may at any time receive a new INFO.ind */ -private altstep as_pcu_info_ind(PCUIF_CODEC_PT pt, integer pcu_conn_id, +friend altstep as_pcu_info_ind(PCUIF_CODEC_PT pt, integer pcu_conn_id, out PCUIF_Message pcu_last_info) { var PCUIF_send_data sd; [] pt.receive(t_SD_PCUIF(pcu_conn_id, tr_PCUIF_INFO_IND(0, ?))) -> value sd { diff --git a/bts/BTS_Tests_OML.ttcn b/bts/BTS_Tests_OML.ttcn index 00c66c3..e630b9c 100644 --- a/bts/BTS_Tests_OML.ttcn +++ b/bts/BTS_Tests_OML.ttcn @@ -16,6 +16,13 @@ import from AbisOML_Types all; import from IPA_Emulation all; import from IPA_Types all; +import from Misc_Helpers all; + +import from PCUIF_Types all; +import from PCUIF_CodecPort all; +import from PCUIF_CodecPort all; + +import from BTS_Tests all; const integer NUM_TRX := 8; @@ -43,6 +50,8 @@ uint8_t mp_air_timer := 100; uint8_t mp_ny1 := 10; uint8_t mp_bsic := 63; + + charstring mp_pcu_socket := PCU_SOCK_DEFAULT; }; /* BSC side OML component */ @@ -52,8 +61,17 @@ /* Port for OML */ port IPA_OML_PT OML; var uint8_t g_bts_nr := 0; + /* Port for Abis/Osmo/PCU */ port IPA_OSMO_PCU_PT IPA_OSMO_PCU; + /* PCU Interface of BTS */ + port PCUIF_CODEC_PT PCU; + var integer g_pcu_conn_id; + /* Last PCU INFO IND we received */ + var PCUIF_Message g_pcu_last_info; + + /* As rxed by Get Attributes Response NM_ATT_MANUF_ID IE, see f_oml_getattr() */ + var bitstring g_bts_features; /* global test case guard timer */ timer T_oml_guard := 60.0; @@ -112,6 +130,27 @@ activate(as_IPA_evt()); } +private function f_init_pcu(PCUIF_CODEC_PT pt, charstring id, + out integer pcu_conn_id, out PCUIF_Message pcu_last_info) { + timer T := 2.0; + var PCUIF_send_data sd; + + if (mp_pcu_socket == "") { + pcu_conn_id := -1; + return; + } + map(self:PCU, system:PCU); + pcu_conn_id := f_pcuif_connect(pt, mp_pcu_socket); + + T.start; + alt { + [] as_pcu_info_ind(pt, pcu_conn_id, pcu_last_info); + [] T.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for PCU INFO_IND"); + } + } + pt.send(t_SD_PCUIF(pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, testcasename()))); +} /* Perform an "OPSTART" procedure with the speciifed MO" */ private function f_oml_opstart(template (value) OML_FOM_ObjectClass obj_class, @@ -290,12 +329,15 @@ } } -private function f_oml_exp_rx(template OML_PDU exp_rx, charstring err_msg) runs on BSC_OML_CT +private function f_oml_exp_rx(template OML_PDU exp_rx, charstring err_msg) + runs on BSC_OML_CT return OML_PDU { + var OML_PDU rx; timer T := 5.0; + T.start; alt { - [] OML.receive(exp_rx) { + [] OML.receive(exp_rx) -> value rx { setverdict(pass); } [] OML.receive { repeat; } @@ -303,6 +345,7 @@ setverdict(fail, "Timeout waiting for ", err_msg); } } + return rx; } /* Send an OML message and expect a failure event report in response */ @@ -351,7 +394,23 @@ } +private function f_oml_getattr(template OML_PDU exp_rx := tr_OML_GetAttributesResponse(NM_OC_BTS, ?, ?)) runs on BSC_OML_CT +{ + var OML_FOM_ObjectInstance obj_inst := valueof(ts_OML_ObjectInstance(g_bts_nr, 255, 255)); + var OML_FOM_IE_Type attr_li[2] := { NM_ATT_MANUF_ID, NM_ATT_SW_CONFIG }; + var octetstring req_attr := ''O; + for (var integer i := 0; i < lengthof(attr_li); i := i + 1) { + req_attr := req_attr & int2oct(enum2int(attr_li[i]), 1); + } + var OML_PDU cmd := valueof(ts_OML_GetAttributes(NM_OC_BTS, obj_inst, req_attr)); + OML.send(cmd); + var OML_PDU rx := f_oml_exp_rx(exp_rx, "BTS GetAttributes Response"); + + var OML_FOM_IE_Body ie_ari := f_OML_FOM_get_ie(rx.u.fom, NM_ATT_GET_ARI); + var OML_FOM_IE_Body manuf_id := f_OML_FOM_IE_List_get_ie(ie_ari.ari.ies, NM_ATT_MANUF_ID); + g_bts_features := oct2bit(manuf_id.other.payload); +} @@ -616,6 +675,57 @@ } } +/* Make sure that the IUT sends RSL Connect NACK when the remote is not reachable. */ +testcase TC_ipa_osmo_pcu_anr_fwd() runs on BSC_OML_CT { + var PCUIF_send_data pcu_sd_msg; + var PCUIF_Message msg_rx; + timer T := 2.0; + var octetstring payloadReq := f_rnd_octstring(300); + var octetstring payloadRep := f_rnd_octstring(300); + + f_init_oml(testcasename()); + f_init_pcu(PCU, testcasename(), g_pcu_conn_id, g_pcu_last_info); + f_oml_getattr(); + + log("BTS Features:", g_bts_features); + if (lengthof(g_bts_features) < 21 or g_bts_features[20] != '1'B) { + setverdict(fail, "Feature ABIS_OSMO_PCU not supported!"); + } + + IPA_OSMO_PCU.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)); + IPA_OSMO_PCU.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_RESP)); + IPA_OSMO_PCU.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)); + + IPA_OSMO_PCU.send(ts_PCUIF_CONTAINER(0, ts_PCUIF_CONT_OTHER(100, payloadReq))) + T.start; + alt { + [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_CONTAINER(0, tr_PCUIF_CONT_OTHER(100, payloadReq)))) { + setverdict(pass); + } + [] PCU.receive(PCUIF_send_data:?) -> value pcu_sd_msg { + setverdict(fail, "Unexpected message received: ", pcu_sd_msg.data, " vs exp: ", + t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_CONTAINER(0, tr_PCUIF_CONT_OTHER(100, payloadReq)))); + } + [] T.timeout { setverdict(fail, "Timeout waiting for ANR request on PCU inteface");} + } + T.stop; + + /* Send back the response: */ + PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_CONTAINER(0, ts_PCUIF_CONT_OTHER(100, payloadRep)))) + T.start; + alt { + [] IPA_OSMO_PCU.receive(tr_PCUIF_CONTAINER(0, tr_PCUIF_CONT_OTHER(100, payloadRep))) { + setverdict(pass); + } + [] IPA_OSMO_PCU.receive(PCUIF_Message:?) -> value msg_rx { + setverdict(fail, "Unexpected message received: ", msg_rx, " vs exp: ", + tr_PCUIF_CONTAINER(0, tr_PCUIF_CONT_OTHER(100, payloadRep))); + } + [] T.timeout { setverdict(fail, "Timeout waiting for ANR request on BSC inteface"); } + } + setverdict(pass); +} + control { execute( TC_wrong_mdisc() ); @@ -634,6 +744,8 @@ execute( TC_ts_opstart_noattr() ); execute( TC_initial_state_reports() ); execute( TC_ipa_rsl_connect_nack() ); + + execute( TC_ipa_osmo_pcu_anr_fwd() ); } /* BTS: diff --git a/library/AbisOML_Types.ttcn b/library/AbisOML_Types.ttcn index 6229f25..ae39671 100644 --- a/library/AbisOML_Types.ttcn +++ b/library/AbisOML_Types.ttcn @@ -1226,6 +1226,21 @@ return resp; } +function f_OML_FOM_IE_List_get_ie(OML_FOM_IE_List ie_list, OML_FOM_IE_Type iei) return OML_FOM_IE_Body +{ + for (var integer i := 0; i < lengthof(ie_list); i := i + 1) { + if (ie_list[i].iei == iei) { + return ie_list[i].body; + } + } + var OML_FOM_IE_Body dummy; + return dummy; /*TODO: setverdict(fail?) */ +} + +function f_OML_FOM_get_ie(OML_FOM fom, OML_FOM_IE_Type iei) return OML_FOM_IE_Body +{ + return f_OML_FOM_IE_List_get_ie(fom.ies, iei); +} /*********************************************************************** diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 6cfe410..1e57fb2 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -37,7 +37,8 @@ PCU_IF_MSG_TIME_IND ('52'O), PCU_IF_MSG_INTERF_IND ('53'O), PCU_IF_MSG_PAG_REQ ('60'O), - PCU_IF_MSG_TXT_IND ('70'O) + PCU_IF_MSG_TXT_IND ('70'O), + PCU_IF_MSG_CONTAINER ('80'O) } with { variant "FIELDLENGTH(8)" }; type enumerated PCUIF_Sapi { @@ -253,6 +254,26 @@ variant (tlli) "BYTEORDER(last)" }; +type union PCUIF_ContainerMsgUnion { + /* This field can be removed once first container message is added, see + * https://bugs.eclipse.org/bugs/show_bug.cgi?id=574469 */ + octetstring tmp_fixme, + octetstring other +} with { variant "" }; + +type record PCUIF_container { + uint8_t msg_type, + OCT1 spare, + uint16_t len, /* network byte order */ + PCUIF_ContainerMsgUnion u +} with { + variant (len) "BYTEORDER(last)" + variant (len) "LENGTHTO(u)" + variant (u) "CROSSTAG( + tmp_fixme, msg_type = 255; + other, OTHERWISE)" +}; + type union PCUIF_MsgUnion { PCUIF_data data_req, @@ -268,7 +289,8 @@ PCUIF_time_ind time_ind, PCUIF_interf_ind interf_ind, PCUIF_pag_req pag_req, - PCUIF_app_info_req app_info_req + PCUIF_app_info_req app_info_req, + PCUIF_container container } with { variant "" }; type record PCUIF_Message { @@ -290,7 +312,8 @@ time_ind, msg_type = PCU_IF_MSG_TIME_IND; interf_ind, msg_type = PCU_IF_MSG_INTERF_IND; pag_req, msg_type = PCU_IF_MSG_PAG_REQ; - app_info_req, msg_type = PCU_IF_MSG_APP_INFO_REQ)" + app_info_req, msg_type = PCU_IF_MSG_APP_INFO_REQ; + container, msg_type = PCU_IF_MSG_CONTAINER)" /* PCUIFv10: 1006 * 8 = 8048 bits */ variant "PADDING(8048)" }; @@ -984,6 +1007,43 @@ } +template (value) PCUIF_Message ts_PCUIF_CONTAINER(template (value) uint8_t bts_nr, + template (value) PCUIF_container container) := { + msg_type := PCU_IF_MSG_CONTAINER, + bts_nr := bts_nr, + spare := '0000'O, + u := { + container := container + } +} +template (present) PCUIF_Message tr_PCUIF_CONTAINER(template (present) uint8_t bts_nr, + template (present) PCUIF_container container) := { + msg_type := PCU_IF_MSG_CONTAINER, + bts_nr := bts_nr, + spare := '0000'O, + u := { + container := container + } +} + +template (value) PCUIF_container ts_PCUIF_CONT_OTHER(uint8_t msg_type, template (value) octetstring payload) := { + msg_type := msg_type, + spare := '00'O, + len := lengthof(payload), + u := { + other := payload + } +} +template (present) PCUIF_container tr_PCUIF_CONT_OTHER(template (present) uint8_t msg_type, + template (present) octetstring payload) := { + msg_type := msg_type, + spare := '00'O, + len := ?, + u := { + other := payload + } +} + function f_PCUIF_PDCHMask_set(inout PCUIF_info_ind info, BIT8 pdch_mask, template (present) uint8_t trx_nr := ?) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24772 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I78880098a55d1cb456011746efa0a47832a86ca8 Gerrit-Change-Number: 24772 Gerrit-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 Jun 25 16:29:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Jun 2021 16:29:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce ANR related tests References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24773 ) Change subject: pcu: Introduce ANR related tests ...................................................................... pcu: Introduce ANR related tests Related: SYS#5303 Change-Id: Ia5464affebd6d7881fe11223d2a96616e9e104a4 --- M library/GSM_SystemInformation.ttcn M library/PCUIF_Types.ttcn M pcu/PCU_Tests.ttcn M pcu/gen_links.sh 4 files changed, 709 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/73/24773/1 diff --git a/library/GSM_SystemInformation.ttcn b/library/GSM_SystemInformation.ttcn index 86ff817..ab40e00 100644 --- a/library/GSM_SystemInformation.ttcn +++ b/library/GSM_SystemInformation.ttcn @@ -108,6 +108,18 @@ boolean re_not_allowed, AccessControlClass acc } with { variant (acc) "FIELDLENGTH(16)" }; + template (value) RachControlParameters + ts_RachControlParameters(RachCtrlPar_MR max_retrans := RACH_MAX_RETRANS_1, + BIT4 tx_integer := '1111'B, boolean cell_barr_access := false, + boolean re_not_allowed := false, + AccessControlClass acc := '0000000000000000'B) + := { + max_retrans := max_retrans, + tx_integer := tx_integer, + cell_barr_access := cell_barr_access, + re_not_allowed := re_not_allowed, + acc := acc + } /* 44.018 9.1.31 */ type record SystemInformationType1 { @@ -289,4 +301,14 @@ return 0; } + /* Generate a NeighbourCellDescription as per 44.018 10.5.2.22 */ + function f_gen_NeighbourCellDescription(bitstring arfcn_mask /*length(1024)*/) return NeighbourCellDescription { + /* FIXME: so far only bitmap 0 is supported */ + var bitstring dst := '0000'B; + for (var integer i := 123; i > 0; i := i -1) { + dst := dst & arfcn_mask[i]; + } + return bit2oct(dst); + } + } with { encode "RAW"; variant "FIELDORDER(msb)" } diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 1e57fb2..6f64437 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -38,7 +38,9 @@ PCU_IF_MSG_INTERF_IND ('53'O), PCU_IF_MSG_PAG_REQ ('60'O), PCU_IF_MSG_TXT_IND ('70'O), - PCU_IF_MSG_CONTAINER ('80'O) + PCU_IF_MSG_CONTAINER ('80'O), + PCU_IF_MSG_ANR_REQ ('81'O), + PCU_IF_MSG_ANR_CNF ('82'O) } with { variant "FIELDLENGTH(8)" }; type enumerated PCUIF_Sapi { @@ -254,15 +256,36 @@ variant (tlli) "BYTEORDER(last)" }; +/* Container related records */ +type record PCUIF_CellDescriptionV { + BIT3 bcc, /* PLMN colour code */ + BIT3 ncc, /* BS colour code */ + BIT2 bcch_arfcn_hi, + BIT8 bcch_arfcn_lo +} with { variant "FIELDORDER(lsb)" }; +type record of PCUIF_CellDescriptionV PCUIF_CellDescriptionList; +type record of uint8_t PCUIF_RxLevList; + +type record PCUIF_anr_req { + uint8_t num_cells, + PCUIF_CellDescriptionList cell_list +} with { variant (cell_list) "FIELDLENGTH(96)" }; + +type record PCUIF_anr_cnf { + uint8_t num_cells, + PCUIF_CellDescriptionList cell_list, + PCUIF_RxLevList rxlev_list +} with { variant (cell_list) "FIELDLENGTH(32)" + variant (rxlev_list) "FIELDLENGTH(32)" }; + type union PCUIF_ContainerMsgUnion { - /* This field can be removed once first container message is added, see - * https://bugs.eclipse.org/bugs/show_bug.cgi?id=574469 */ - octetstring tmp_fixme, + PCUIF_anr_req anr_req, + PCUIF_anr_cnf anr_cnf, octetstring other } with { variant "" }; type record PCUIF_container { - uint8_t msg_type, + PCUIF_MsgType msg_type, OCT1 spare, uint16_t len, /* network byte order */ PCUIF_ContainerMsgUnion u @@ -270,7 +293,8 @@ variant (len) "BYTEORDER(last)" variant (len) "LENGTHTO(u)" variant (u) "CROSSTAG( - tmp_fixme, msg_type = 255; + anr_req, msg_type = PCU_IF_MSG_ANR_REQ; + anr_cnf, msg_type = PCU_IF_MSG_ANR_CNF; other, OTHERWISE)" }; @@ -1026,7 +1050,7 @@ } } -template (value) PCUIF_container ts_PCUIF_CONT_OTHER(uint8_t msg_type, template (value) octetstring payload) := { +template (value) PCUIF_container ts_PCUIF_CONT_OTHER(PCUIF_MsgType msg_type, template (value) octetstring payload) := { msg_type := msg_type, spare := '00'O, len := lengthof(payload), @@ -1034,7 +1058,7 @@ other := payload } } -template (present) PCUIF_container tr_PCUIF_CONT_OTHER(template (present) uint8_t msg_type, +template (present) PCUIF_container tr_PCUIF_CONT_OTHER(template (present) PCUIF_MsgType msg_type, template (present) octetstring payload) := { msg_type := msg_type, spare := '00'O, @@ -1044,6 +1068,121 @@ } } +template (value) PCUIF_CellDescriptionV ts_PCUIF_CellDescriptionV(uint3_t bcc, uint3_t ncc, uint10_t arfcn) := { + bcc := int2bit(bcc, 3), + ncc := int2bit(ncc, 3), /* BS colour code */ + bcch_arfcn_hi := substr(int2bit(arfcn, 10), 0, 2), + bcch_arfcn_lo := substr(int2bit(arfcn, 10), 2, 8) +} + +template (value) PCUIF_container ts_PCUIF_CONT_ANR_REQ(uint8_t num_cells, template (value) PCUIF_CellDescriptionList cell_list) := { + msg_type := PCU_IF_MSG_ANR_REQ, + spare := '00'O, + len := 0, /* overwritten */ + u := { + anr_req := { + num_cells := num_cells, + cell_list := cell_list + } + } +} +template (present) PCUIF_container tr_PCUIF_CONT_ANR_REQ(template (present) uint8_t num_cells, + template (present) PCUIF_CellDescriptionList cell_list) := { + msg_type := PCU_IF_MSG_ANR_REQ, + spare := '00'O, + len := ?, + u := { + anr_req := { + num_cells := num_cells, + cell_list := cell_list + } + } +} +template (value) PCUIF_Message ts_PCUIF_ANR_REQ(uint8_t bts_nr, uint8_t num_cells, template (value) PCUIF_CellDescriptionList cell_list) := { + msg_type := PCU_IF_MSG_CONTAINER, + bts_nr := bts_nr, + spare := '0000'O, + u := { + container := ts_PCUIF_CONT_ANR_REQ(num_cells, cell_list) + } +} +template (present) PCUIF_Message tr_PCUIF_ANR_REQ(template (present) uint8_t bts_nr, + template (present) uint8_t num_cells, + template (present) PCUIF_CellDescriptionList cell_list) := { + msg_type := PCU_IF_MSG_CONTAINER, + bts_nr := bts_nr, + spare := '0000'O, + u := { + container := tr_PCUIF_CONT_ANR_REQ(num_cells, cell_list) + } +} + +template (value) PCUIF_container ts_PCUIF_CONT_ANR_CNF(uint8_t num_cells, + PCUIF_CellDescriptionList cell_list, + PCUIF_RxLevList rxlev_list) := { + msg_type := PCU_IF_MSG_ANR_CNF, + spare := '00'O, + len := 0, /* overwritten */ + u := { + anr_cnf := { + num_cells := num_cells, + cell_list := cell_list, + rxlev_list := rxlev_list + } + } +} +template (present) PCUIF_container tr_PCUIF_CONT_ANR_CNF(template (present) uint8_t num_cells, + template (present) PCUIF_CellDescriptionList cell_list, + template (present) PCUIF_RxLevList rxlev_list) := { + msg_type := PCU_IF_MSG_ANR_CNF, + spare := '00'O, + len := ?, + u := { + anr_cnf := { + num_cells := num_cells, + cell_list := cell_list, + rxlev_list := rxlev_list + } + } +} +template (value) PCUIF_Message ts_PCUIF_ANR_CNF(uint8_t bts_nr, uint8_t num_cells, PCUIF_CellDescriptionList cell_list, + PCUIF_RxLevList rxlev_list) := { + msg_type := PCU_IF_MSG_CONTAINER, + bts_nr := bts_nr, + spare := '0000'O, + u := { + container := ts_PCUIF_CONT_ANR_CNF(num_cells, cell_list, rxlev_list) + } +} +template (present) PCUIF_Message tr_PCUIF_ANR_CNF(template (present) uint8_t bts_nr, + template (present) uint8_t num_cells, + template (present) PCUIF_CellDescriptionList cell_list, + template (present) PCUIF_RxLevList rxlev_list) := { + msg_type := PCU_IF_MSG_CONTAINER, + bts_nr := bts_nr, + spare := '0000'O, + u := { + container := tr_PCUIF_CONT_ANR_CNF(num_cells, cell_list, rxlev_list) + } +} + +function f_PCUIF_CellDescriptionList_expand(inout PCUIF_CellDescriptionList cell_list, integer final_length) +{ + var integer initial_length := lengthof(cell_list); + var PCUIF_CellDescriptionList zeroed_val := {valueof(ts_PCUIF_CellDescriptionV(0, 0, 0))}; + for (var integer i := initial_length; i < final_length; i := i + 1) { + cell_list := cell_list & zeroed_val; + } +} +function f_PCUIF_RxLevList_expand(inout PCUIF_RxLevList rxlev_list, integer final_length) +{ + var integer initial_length := lengthof(rxlev_list); + var PCUIF_RxLevList zeroed_val := {0}; + for (var integer i := initial_length; i < final_length; i := i + 1) { + rxlev_list := rxlev_list & zeroed_val; + } +} + function f_PCUIF_PDCHMask_set(inout PCUIF_info_ind info, BIT8 pdch_mask, template (present) uint8_t trx_nr := ?) { diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 8e8fba9..08d1697 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -22,6 +22,7 @@ import from Osmocom_Types all; import from GSM_Types all; import from GSM_RR_Types all; +import from GSM_SystemInformation all; import from Osmocom_VTY_Functions all; import from TELNETasp_PortType all; @@ -5898,6 +5899,538 @@ f_shutdown(__BFILE__, __LINE__, final := true); } + +/* Test ANR procedure: fully successful procedure on a DL TBF */ +testcase TC_anr_dl_tbf_success() runs on RAW_PCU_Test_CT { + var RlcmacDlBlock dl_block, dl_block2; + var octetstring data := f_rnd_octstring(10); + var uint32_t sched_fn, dl_fn, poll_fn; + var GprsMS ms; + var template RlcmacDlCtrlMsg meas_order_reset_tmpl; + var template RlcmacDlCtrlMsg meas_order_tmpl; + var template NCFrequencyList nc_freq_list_tmpl; + var template RepeatedAddFrequencyItemList add_freq_list_tmpl; + var template (value) NCMeasurementReport meas_rep; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli); + + /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data, omit)); + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); + /* Wait timer X2002 and DL block is available after CCCH IMM ASS */ + f_sleep(X2002); + f_rx_rlcmac_dl_block_exp_data(dl_block, poll_fn, ?, ?); + + var PCUIF_CellDescriptionList cell_list := { + valueof(ts_PCUIF_CellDescriptionV(3, 1, 880)), + valueof(ts_PCUIF_CellDescriptionV(3, 2, 880)), + valueof(ts_PCUIF_CellDescriptionV(1, 1, 883)), + valueof(ts_PCUIF_CellDescriptionV(3, 1, 887)) + }; + var PCUIF_CellDescriptionList cell_list_req := cell_list; + f_PCUIF_CellDescriptionList_expand(cell_list_req, 96); + BTS.send(ts_PCUIF_ANR_REQ(0, lengthof(cell_list), cell_list_req)); + /* Verify Packet Measurement Order (reset GSM Neighbour Cell List) is received */ + f_rx_rlcmac_dl_block(dl_block2, dl_fn); + /* TODO: verify proper DL TFI in PKT MEAS ORDER, see first param below */ + meas_order_reset_tmpl := tr_RlcMacDlCtrl_PKT_MEAS_ORDER(?, 0, 0, ts_NCMeasurementParametersRESET); + if (not match(dl_block2, tr_RLCMAC_DL_CTRL(?, meas_order_reset_tmpl))) { + setverdict(fail, "Rx unexpected DL block: ", dl_block2); + f_shutdown(__BFILE__, __LINE__); + } + + /* ACK the first data block, without FinalAckIndicator because we recieve no FBI on DL data. */ + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block, '0'B); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, poll_fn)); + + /* ACK the meas order (reset) */ + sched_fn := f_rrbp_ack_fn(dl_fn, dl_block2.ctrl.mac_hdr.rrbp); + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); + + /* After ACKing the reset, we get proper Meas Order modifying GSM + * Neighbour Cell List through NC Freq List */ + f_rx_rlcmac_dl_block(dl_block, dl_fn); + add_freq_list_tmpl := { tr_RepeatedAddFrequencyItem(880, 11), + tr_RepeatedAddFrequencyItem(880, 19), + tr_RepeatedAddFrequencyItem(883, 9), + tr_RepeatedAddFrequencyItem(887, 11)}; + nc_freq_list_tmpl := tr_NCFrequencyList(omit, add_freq_list_tmpl); + meas_order_tmpl := tr_RlcMacDlCtrl_PKT_MEAS_ORDER(?, 0, 0, + tr_NCMeasurementParameters(NC_1, ?, ?, ?, nc_freq_list_tmpl)); + if (not match(dl_block, tr_RLCMAC_DL_CTRL(?, meas_order_tmpl))) { + setverdict(fail, "Rx unexpected DL block: ", dl_block); + f_shutdown(__BFILE__, __LINE__); + } + + /* These show that the DL TBF is kept open while waiting for ANR to be resolved */ + f_rx_rlcmac_dl_block_exp_dummy(dl_block); + f_rx_rlcmac_dl_block_exp_dummy(dl_block); + f_rx_rlcmac_dl_block_exp_dummy(dl_block); + + /* Establish an Uplink TBF */ + f_ms_establish_ul_tbf(ms); + + /* Now we submit the Packet Meas Report */ + meas_rep := ts_NCMeasurementReport('0'B /* NC1 */, 40, + { ts_NCMeasurement(0, int2bit(11, 6), 55), + /* Deliverately don't present report for [1]<880,19>: emulate not found */ + /* Deliverately don't present report for [2]<883,9>: emulate not found */ + ts_NCMeasurement(3, int2bit(11, 6), 60) }) + f_ms_tx_ul_block(ms, ts_RLC_UL_CTRL_ACK(valueof(ts_RlcMacUlCtrl_PKT_MEAS_REPORT(ms.tlli, meas_rep)))); + + var PCUIF_RxLevList rxlev_list := {55, 255, 255, 60 }; + f_PCUIF_CellDescriptionList_expand(cell_list, 32); + f_PCUIF_RxLevList_expand(rxlev_list, 32); + BTS.receive(tr_PCUIF_ANR_CNF(0, 4, cell_list, rxlev_list)); + + /* Verify Packet Measurement Order (reset GSM Neighbour Cell List) is received */ + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_DL_CTRL(?, meas_order_reset_tmpl))) { + setverdict(fail, "Rx unexpected DL block: ", dl_block); + f_shutdown(__BFILE__, __LINE__); + } + /* ACK the Pkt Meas order (reset) */ + sched_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); + + /* ANR procedure is done, nothing more to be sent from PCU on UL TBF: */ + while (true) { + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (match(dl_block, tr_RLCMAC_DUMMY_CTRL())) { + continue; + } + if (dl_block.data.mac_hdr.hdr_ext.fbi) { + log("Received FINAL_ACK"); + ms.dl_tbf.acknack_desc.final_ack := '1'B; + } + if (f_dl_block_rrbp_valid(dl_block)) { + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, dl_fn)); + } + if (ms.dl_tbf.acknack_desc.final_ack == '1'B) { + break; + } + } + + f_shutdown(__BFILE__, __LINE__, final := true); +} + +/* Test ANR procedure: fully successful procedure on a DL TBF. SI2 sent to PCU + * contains some cells in ANR_Req and some are not there */ +testcase TC_anr_dl_tbf_success_si2_partial() runs on RAW_PCU_Test_CT { + var RlcmacDlBlock dl_block, dl_block2; + var octetstring data := f_rnd_octstring(10); + var uint32_t sched_fn, dl_fn, poll_fn; + var GprsMS ms; + var template RlcmacDlCtrlMsg meas_order_reset_tmpl; + var template RlcmacDlCtrlMsg meas_order_tmpl; + var template NCFrequencyList nc_freq_list_tmpl; + var template FreqIndexList rm_freq_index; + var template RepeatedAddFrequencyItemList add_freq_list_tmpl; + var template (value) NCMeasurementReport meas_rep; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli); + + /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data, omit)); + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); + /* Wait timer X2002 and DL block is available after CCCH IMM ASS */ + f_sleep(X2002); + f_rx_rlcmac_dl_block_exp_data(dl_block, poll_fn, ?, ?); + + /* First transmit SI2 on the PCU, which contains BA(list): */ + var bitstring arfcn_mask := f_pad_bit(''B, 1024, '0'B); + /* Add ARFCN 20,100,101 to BA(list) */ + arfcn_mask[20] := '1'B; + arfcn_mask[100] := '1'B; + arfcn_mask[101] := '1'B; + var SystemInformation si := { + header := valueof(ts_RrHeader(SYSTEM_INFORMATION_TYPE_2, 22)), + payload := { + si2 := { bcch_freq_list := f_gen_NeighbourCellDescription(arfcn_mask), + ncc_permitted := '11111111'B, + rach_control := valueof(ts_RachControlParameters) + } + } + }; + var octetstring si2_enc := enc_SystemInformationNoPad(si); + var template PCUIF_Message si2_data_ind := ts_PCUIF_DATA_IND(0, 0, 0, 0, PCU_IF_SAPI_BCCH, si2_enc, 0, 0, 0, 0, 0); + BTS.send(si2_data_ind); + + var PCUIF_CellDescriptionList cell_list := { + /* ARFCN 20 (idx=0) and 101 (idx=2) are left out on purpose, we check they are removed later */ + valueof(ts_PCUIF_CellDescriptionV(3, 1, 100)), + valueof(ts_PCUIF_CellDescriptionV(3, 1, 880)), + valueof(ts_PCUIF_CellDescriptionV(3, 2, 880)), + valueof(ts_PCUIF_CellDescriptionV(1, 1, 883)), + valueof(ts_PCUIF_CellDescriptionV(3, 1, 887)) + }; + var PCUIF_CellDescriptionList cell_list_req := cell_list; + f_PCUIF_CellDescriptionList_expand(cell_list_req, 96); + BTS.send(ts_PCUIF_ANR_REQ(0, lengthof(cell_list), cell_list_req)); + + /* Verify Packet Measurement Order (reset GSM Neighbour Cell List) is received */ + f_rx_rlcmac_dl_block(dl_block2, dl_fn); + /* TODO: verify proper UL TFI in PKT MEAS ORDER, see first param below */ + meas_order_reset_tmpl := tr_RlcMacDlCtrl_PKT_MEAS_ORDER(?, 0, 0, ts_NCMeasurementParametersRESET); + if (not match(dl_block2, tr_RLCMAC_DL_CTRL(?, meas_order_reset_tmpl))) { + setverdict(fail, "Rx unexpected DL block: ", dl_block2); + f_shutdown(__BFILE__, __LINE__); + } + + /* ACK the first data block, without FinalAckIndicator because we recieve no FBI on DL data. */ + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block, '0'B); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, poll_fn)); + + /* ACK the meas order (reset) */ + sched_fn := f_rrbp_ack_fn(dl_fn, dl_block2.ctrl.mac_hdr.rrbp); + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); + + /* After ACKing the reset, we get proper Meas Order modifying GSM + * Neighbour Cell List through NC Freq List */ + f_rx_rlcmac_dl_block(dl_block, dl_fn); + rm_freq_index := { 0 /*ARFCN=20*/, + 2 /*ARFCN=101*/ }; + add_freq_list_tmpl := { tr_RepeatedAddFrequencyItem(880, 11), + tr_RepeatedAddFrequencyItem(880, 19), + tr_RepeatedAddFrequencyItem(883, 9), + tr_RepeatedAddFrequencyItem(887, 11)}; + nc_freq_list_tmpl := tr_NCFrequencyList(rm_freq_index, add_freq_list_tmpl); + meas_order_tmpl := tr_RlcMacDlCtrl_PKT_MEAS_ORDER(?, 0, 0, + tr_NCMeasurementParameters(NC_1, ?, ?, ?, nc_freq_list_tmpl)); + if (not match(dl_block, tr_RLCMAC_DL_CTRL(?, meas_order_tmpl))) { + setverdict(fail, "Rx unexpected DL block: ", dl_block); + f_shutdown(__BFILE__, __LINE__); + } + + /* Establish an Uplink TBF */ + f_ms_establish_ul_tbf(ms); + + /* Now we submit the Packet Meas Report */ + meas_rep := ts_NCMeasurementReport('0'B /* NC1 */, 40, + { ts_NCMeasurement(1, int2bit(11, 6), 30), + ts_NCMeasurement(3, int2bit(11, 6), 55), + /* Deliverately don't present report for [4]<880,19>: emulate not found */ + /* Deliverately don't present report for [5]<883,9>: emulate not found */ + ts_NCMeasurement(6, int2bit(11, 6), 60) }) + f_ms_tx_ul_block(ms, ts_RLC_UL_CTRL_ACK(valueof(ts_RlcMacUlCtrl_PKT_MEAS_REPORT(ms.tlli, meas_rep)))); + + var PCUIF_RxLevList rxlev_list := {30, 55, 255, 255, 60 }; + f_PCUIF_CellDescriptionList_expand(cell_list, 32); + f_PCUIF_RxLevList_expand(rxlev_list, 32); + BTS.receive(tr_PCUIF_ANR_CNF(0, 5, cell_list, rxlev_list)); + + /* Verify Packet Measurement Order (reset GSM Neighbour Cell List) is received */ + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_DL_CTRL(?, meas_order_reset_tmpl))) { + setverdict(fail, "Rx unexpected DL block: ", dl_block); + f_shutdown(__BFILE__, __LINE__); + } + /* ACK the meas order (reset) */ + sched_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); + + /* ANR procedure is done, nothing more to be sent from PCU on UL TBF: */ + f_rx_rlcmac_dl_block(dl_block, dl_fn); + + f_shutdown(__BFILE__, __LINE__, final := true); +} + +/* Test ANR procedure: Similar to TC_anr_dl_tbf_success_si2_partial, but with + longer NC FREQ LIST requiring several PKT meas Order messages. */ +testcase TC_anr_dl_tbf_success_si2_partial_multi_measorder() runs on RAW_PCU_Test_CT { + var RlcmacDlBlock dl_block, dl_block2; + var octetstring data := f_rnd_octstring(10); + var uint32_t sched_fn, poll_fn, dl_fn; + var GprsMS ms; + var template RlcmacDlCtrlMsg meas_order_reset_tmpl; + var template RlcmacDlCtrlMsg meas_order_tmpl; + var template NCFrequencyList nc_freq_list_tmpl; + var template FreqIndexList rm_freq_index; + var template RepeatedAddFrequencyItemList add_freq_list_tmpl; + var template (value) NCMeasurementReport meas_rep; + var template NCMeasurementParameters nc_meas_param_tmpl; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli); + + /* First transmit SI2 on the PCU, which contains BA(list): */ + /* Add ARFCN 1..21 to BA(list) */ + var bitstring arfcn_mask := f_pad_bit('01111111111111111111111'B, 1024, '0'B); + var SystemInformation si := { + header := valueof(ts_RrHeader(SYSTEM_INFORMATION_TYPE_2, 22)), + payload := { + si2 := { bcch_freq_list := f_gen_NeighbourCellDescription(arfcn_mask), + ncc_permitted := '11111111'B, + rach_control := valueof(ts_RachControlParameters) + } + } + }; + var octetstring si2_enc := enc_SystemInformationNoPad(si); + var template PCUIF_Message si2_data_ind := ts_PCUIF_DATA_IND(0, 0, 0, 0, PCU_IF_SAPI_BCCH, si2_enc, 0, 0, 0, 0, 0); + BTS.send(si2_data_ind); + + /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data, omit)); + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); + /* Wait timer X2002 and DL block is available after CCCH IMM ASS */ + f_sleep(X2002); + f_rx_rlcmac_dl_block_exp_data(dl_block, poll_fn, ?, ?); + + var PCUIF_CellDescriptionList cell_list := { + valueof(ts_PCUIF_CellDescriptionV(3, 1, 100)), + valueof(ts_PCUIF_CellDescriptionV(3, 1, 880)), + valueof(ts_PCUIF_CellDescriptionV(3, 2, 880)), + valueof(ts_PCUIF_CellDescriptionV(1, 1, 883)), + valueof(ts_PCUIF_CellDescriptionV(3, 1, 887)) + }; + var PCUIF_CellDescriptionList cell_list_req := cell_list; + f_PCUIF_CellDescriptionList_expand(cell_list_req, 96); + BTS.send(ts_PCUIF_ANR_REQ(0, lengthof(cell_list), cell_list_req)); + + /* Verify Packet Measurement Order (reset GSM Neighbour Cell List) is received */ + f_rx_rlcmac_dl_block(dl_block2, dl_fn); + /* TODO: verify proper UL TFI in PKT MEAS ORDER, see first param below */ + meas_order_reset_tmpl := tr_RlcMacDlCtrl_PKT_MEAS_ORDER(?, 0, 0, ts_NCMeasurementParametersRESET); + if (not match(dl_block2, tr_RLCMAC_DL_CTRL(?, meas_order_reset_tmpl))) { + setverdict(fail, "Rx unexpected DL block: ", dl_block2); + f_shutdown(__BFILE__, __LINE__); + } + + /* ACK the first data block, without FinalAckIndicator because we recieve no FBI on DL data. */ + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block, '0'B); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, poll_fn)); + + /* ACK the meas order (reset) */ + sched_fn := f_rrbp_ack_fn(dl_fn, dl_block2.ctrl.mac_hdr.rrbp); + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); + + /* After ACKing the reset, we get proper Meas Order modifying GSM + * Neighbour Cell List through NC Freq List */ + for (var integer i := 0; i < 3; i := i + 1) { + f_rx_rlcmac_dl_block(dl_block, dl_fn); + select (i) { + case (0) { + rm_freq_index := { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }; + add_freq_list_tmpl := omit; + } + case (1) { + rm_freq_index := { 16, 17, 18, 19, 20, 21 }; + add_freq_list_tmpl := { tr_RepeatedAddFrequencyItem(100, 11), + tr_RepeatedAddFrequencyItem(880, 11), + tr_RepeatedAddFrequencyItem(880, 19), + tr_RepeatedAddFrequencyItem(883, 9)}; + } + case (2) { + rm_freq_index := omit; + add_freq_list_tmpl := { tr_RepeatedAddFrequencyItem(887, 11)}; + } + } + nc_freq_list_tmpl := tr_NCFrequencyList(rm_freq_index, add_freq_list_tmpl); + if (i == 0) { + nc_meas_param_tmpl := tr_NCMeasurementParameters(NC_1, ?, ?, ?, nc_freq_list_tmpl); + } else { + nc_meas_param_tmpl := tr_NCMeasurementParameters(NC_1, omit, omit, omit, nc_freq_list_tmpl); + } + meas_order_tmpl := tr_RlcMacDlCtrl_PKT_MEAS_ORDER(?, i, 2, nc_meas_param_tmpl); + if (not match(dl_block, tr_RLCMAC_DL_CTRL(?, meas_order_tmpl))) { + setverdict(fail, "Rx unexpected DL block: ", dl_block); + f_shutdown(__BFILE__, __LINE__); + } + } + + /* Establish an Uplink TBF */ + f_ms_establish_ul_tbf(ms); + + /* Now we submit the Packet Meas Report */ + meas_rep := ts_NCMeasurementReport('0'B /* NC1 */, 40, + { ts_NCMeasurement(22, int2bit(11, 6), 30) }) + f_ms_tx_ul_block(ms, ts_RLC_UL_CTRL_ACK(valueof(ts_RlcMacUlCtrl_PKT_MEAS_REPORT(ms.tlli, meas_rep)))); + + var PCUIF_RxLevList rxlev_list := {30, 255, 255, 255, 255 }; + f_PCUIF_CellDescriptionList_expand(cell_list, 32); + f_PCUIF_RxLevList_expand(rxlev_list, 32); + BTS.receive(tr_PCUIF_ANR_CNF(0, 5, cell_list, rxlev_list)); + + /* Verify Packet Measurement Order (reset GSM Neighbour Cell List) is received */ + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_DL_CTRL(?, meas_order_reset_tmpl))) { + setverdict(fail, "Rx unexpected DL block: ", dl_block); + f_shutdown(__BFILE__, __LINE__); + } + /* ACK the meas order (reset) */ + sched_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); + + /* ANR procedure is done, nothing more to be sent from PCU on UL TBF: */ + f_rx_rlcmac_dl_block(dl_block, dl_fn); + + f_shutdown(__BFILE__, __LINE__, final := true); +} + +/* Test ANR procedure: MS is not selected if only UL TBF is available (DL TBF is + * required since it's the only we can keep open from PCU) */ +testcase TC_anr_ul_tbf() runs on RAW_PCU_Test_CT { + var RlcmacDlBlock dl_block; + var octetstring data := f_rnd_octstring(10); + var uint32_t sched_fn; + var uint32_t dl_fn; + var template RlcmacDlBlock acknack_tmpl; + var GprsMS ms; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli); + + /* Establish an Uplink TBF */ + f_ms_establish_ul_tbf(ms); + + /* Send one UL block (with TLLI since we are in One-Phase Access + contention resoultion) and make sure it is ACKED fine */ + f_ms_tx_ul_data_block_multi(ms, 1, with_tlli := true, fn := ms.ul_tbf.start_time_fn); + + /* UL block should be received in SGSN */ + BSSGP[0].receive(tr_BSSGP_UL_UD(ms.tlli, mp_gb_cfg.bvc[0].cell_id)); + + acknack_tmpl := tr_RLCMAC_UL_ACK_NACK_GPRS(ms.ul_tbf.tfi, + tr_UlAckNackGprs(ms.tlli, + tr_AckNackDescription(final_ack := '1'B))) + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn, acknack_tmpl); + + /* TBF is to be finished, so no ANR procedure should be starting on this MS */ + var PCUIF_CellDescriptionList cell_list := { + valueof(ts_PCUIF_CellDescriptionV(3, 2, 880)), + valueof(ts_PCUIF_CellDescriptionV(3, 1, 880)), + valueof(ts_PCUIF_CellDescriptionV(3, 1, 887)) + }; + var PCUIF_CellDescriptionList cell_list_req := cell_list; + f_PCUIF_CellDescriptionList_expand(cell_list_req, 96); + BTS.send(ts_PCUIF_ANR_REQ(0, lengthof(cell_list), cell_list_req)); + + /* Verify no Packet Measurement Order is received */ + f_rx_rlcmac_dl_block_exp_dummy(dl_block); + /* ACK the ACK */ + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); + + f_shutdown(__BFILE__, __LINE__, final := true); +} + +/* Test ANR procedure: MS is not selected for measurements if its TBF is already finished */ +testcase TC_anr_dl_tbf_finished() runs on RAW_PCU_Test_CT { + var RlcmacDlBlock dl_block; + var octetstring data := f_rnd_octstring(10); + var uint32_t sched_fn, poll_fn, dl_fn; + var template RlcmacDlBlock acknack_tmpl; + var GprsMS ms; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli); + + /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data, omit)); + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); + /* Wait timer X2002 and DL block is available after CCCH IMM ASS */ + f_sleep(X2002); + f_rx_rlcmac_dl_block_exp_data(dl_block, poll_fn, ?, ?); + + /* ACK the first data block, without FinalAckIndicator because we recieve no FBI on DL data. */ + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block, '0'B); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, poll_fn)); + + /* Wait until the FBI bit is sent, then attempt ANR REQUEST, it should avoid selecting the current DL TBF: */ + while (true) { + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (match(dl_block, tr_RLCMAC_DUMMY_CTRL())) { + continue; + } + if (dl_block.data.mac_hdr.hdr_ext.fbi) { + log("Received FINAL_ACK"); + ms.dl_tbf.acknack_desc.final_ack := '1'B; + /* TBF is to be finished, so no ANR procedure should be starting on this MS */ + var PCUIF_CellDescriptionList cell_list := { + valueof(ts_PCUIF_CellDescriptionV(3, 2, 880)), + valueof(ts_PCUIF_CellDescriptionV(3, 1, 880)), + valueof(ts_PCUIF_CellDescriptionV(3, 1, 887)) + }; + var PCUIF_CellDescriptionList cell_list_req := cell_list; + f_PCUIF_CellDescriptionList_expand(cell_list_req, 96); + BTS.send(ts_PCUIF_ANR_REQ(0, lengthof(cell_list), cell_list_req)); + } + if (f_dl_block_rrbp_valid(dl_block)) { + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, dl_fn)); + } + if (ms.dl_tbf.acknack_desc.final_ack == '1'B) { + /* Verify no Packet Measurement Order is received */ + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (match(dl_block, tr_RLCMAC_DL_CTRL(?, tr_RlcMacDlCtrl_PKT_MEAS_ORDER(?, ?, ?, ?)))) { + setverdict(fail, "Rx unexpected PKT MEAS ORDER: ", dl_block); + f_shutdown(__BFILE__, __LINE__); + } + break; + } + } + + f_shutdown(__BFILE__, __LINE__, final := true); +} + control { execute( TC_pcuif_suspend() ); execute( TC_pcuif_suspend_active_tbf() ); @@ -5999,6 +6532,12 @@ execute( TC_rim_ran_info_req_single_rep() ); execute( TC_rim_ran_info_req_single_rep_eutran() ); execute( TC_rim_ran_info_req_single_rep_no_si() ); + + execute( TC_anr_dl_tbf_success() ); + execute( TC_anr_dl_tbf_success_si2_partial() ); + execute( TC_anr_dl_tbf_success_si2_partial_multi_measorder() ); + execute( TC_anr_dl_tbf_finished() ); + execute( TC_anr_ul_tbf() ); } } diff --git a/pcu/gen_links.sh b/pcu/gen_links.sh index d0f3ace..da69cb2 100755 --- a/pcu/gen_links.sh +++ b/pcu/gen_links.sh @@ -51,6 +51,7 @@ DIR=../library FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_Types.ttcn RLCMAC_Templates.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc " FILES+="StatsD_Types.ttcn StatsD_CodecPort.ttcn StatsD_CodecPort_CtrlFunct.ttcn StatsD_CodecPort_CtrlFunctdef.cc StatsD_Checker.ttcn " +FILES+="GSM_SystemInformation.ttcn GSM_RestOctets.ttcn " FILES+="RAW_NS.ttcnpp NS_Provider_IPL4.ttcn NS_Emulation.ttcnpp " FILES+="BSSGP_Emulation.ttcnpp Osmocom_Gb_Types.ttcn " FILES+="LLC_Templates.ttcn L3_Templates.ttcn L3_Common.ttcn " -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24773 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia5464affebd6d7881fe11223d2a96616e9e104a4 Gerrit-Change-Number: 24773 Gerrit-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 Jun 25 16:30:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Jun 2021 16:30:07 +0000 Subject: Change in osmo-pcu[master]: pcuif_proto.h: Add new container message 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/+/24620 to look at the new patch set (#4). Change subject: pcuif_proto.h: Add new container message ...................................................................... pcuif_proto.h: Add new container message Related: SYS#5303 Change-Id: Ib6c7bf5ca5a06186a71ec50cfc1a91a5c9b01d9c --- M include/osmocom/pcu/pcuif_proto.h 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/20/24620/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24620 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib6c7bf5ca5a06186a71ec50cfc1a91a5c9b01d9c Gerrit-Change-Number: 24620 Gerrit-PatchSet: 4 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 Fri Jun 25 16:30:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Jun 2021 16:30:24 +0000 Subject: Change in osmo-bts[master]: pcuif_proto.h: Add new container messages In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24618 to look at the new patch set (#5). Change subject: pcuif_proto.h: Add new container messages ...................................................................... pcuif_proto.h: Add new container messages Related: SYS#5303 Change-Id: I8deef11f9ec191475c99133629cd5cd9048c4bcb --- M include/osmo-bts/pcuif_proto.h 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/18/24618/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8deef11f9ec191475c99133629cd5cd9048c4bcb Gerrit-Change-Number: 24618 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 25 16:30:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Jun 2021 16:30:24 +0000 Subject: Change in osmo-bts[master]: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU 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-bts/+/24619 to look at the new patch set (#5). Change subject: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU ...................................................................... Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU This new extension protocol is used to forward Osmocom PCUIF messages BSC<->BTS<->PCU. It will be sent re-using the IPA multiplex of the OML link between BSC and BTS. BTS is responsible for forwarding the message over the unix socket to the PCU. PCUIF existing RX path needs to be reworked in order to accept variable-size messages, in order to be able to transparently forward messages without knowing about them (the new container message is variable-length). Related: SYS#5303 Change-Id: I73fdb17107494ade9263a62d1f729e67303fce87 --- M include/osmo-bts/Makefile.am A include/osmo-bts/abis_osmo.h M include/osmo-bts/bts.h M include/osmo-bts/pcu_if.h M src/common/Makefile.am M src/common/abis.c A src/common/abis_osmo.c M src/common/bts.c M src/common/pcu_sock.c 9 files changed, 200 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/19/24619/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I73fdb17107494ade9263a62d1f729e67303fce87 Gerrit-Change-Number: 24619 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 25 16:30:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Jun 2021 16:30:35 +0000 Subject: Change in osmo-bts[master]: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU 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-bts/+/24619 to look at the new patch set (#6). Change subject: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU ...................................................................... Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU This new extension protocol is used to forward Osmocom PCUIF messages BSC<->BTS<->PCU. It will be sent re-using the IPA multiplex of the OML link between BSC and BTS. BTS is responsible for forwarding the message over the unix socket to the PCU. PCUIF existing RX path needs to be reworked in order to accept variable-size messages, in order to be able to transparently forward messages without knowing about them (the new container message is variable-length). Related: SYS#5303 Change-Id: I73fdb17107494ade9263a62d1f729e67303fce87 --- M include/osmo-bts/Makefile.am A include/osmo-bts/abis_osmo.h M include/osmo-bts/bts.h M include/osmo-bts/pcu_if.h M src/common/Makefile.am M src/common/abis.c A src/common/abis_osmo.c M src/common/bts.c M src/common/pcu_sock.c 9 files changed, 201 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/19/24619/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I73fdb17107494ade9263a62d1f729e67303fce87 Gerrit-Change-Number: 24619 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 25 16:33:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Jun 2021 16:33:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Test forwarding PCUIF<->IPA/OSMO/PCU In-Reply-To: References: Message-ID: pespin has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24657 ) Change subject: bts: Test forwarding PCUIF<->IPA/OSMO/PCU ...................................................................... Abandoned Superseeded by I78880098a55d1cb456011746efa0a47832a86ca8 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24657 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3012ce612f78e661fd46b608a0bf67e038e136f Gerrit-Change-Number: 24657 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 25 17:35:29 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 25 Jun 2021 17:35:29 +0000 Subject: Change in libosmocore[master]: bts_features: add feature for BCCH carrier power reduction mode References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24774 ) Change subject: bts_features: add feature for BCCH carrier power reduction mode ...................................................................... bts_features: add feature for BCCH carrier power reduction mode Change-Id: I69283b3f35988fc7a1a1dcf1a1ad3b67f08ec716 Related: SYS#4919 --- M include/osmocom/gsm/bts_features.h M src/gsm/bts_features.c 2 files changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/74/24774/1 diff --git a/include/osmocom/gsm/bts_features.h b/include/osmocom/gsm/bts_features.h index 8bd5ef5..5374619 100644 --- a/include/osmocom/gsm/bts_features.h +++ b/include/osmocom/gsm/bts_features.h @@ -30,6 +30,7 @@ BTS_FEAT_CCN, /* Is CCN supported by the cell? TS 44.060 sec 8.8.2 */ 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, _NUM_BTS_FEAT }; diff --git a/src/gsm/bts_features.c b/src/gsm/bts_features.c index 6e63d5c..6671946 100644 --- a/src/gsm/bts_features.c +++ b/src/gsm/bts_features.c @@ -45,6 +45,7 @@ { BTS_FEAT_CCN, "Cell Change Notification (CCN)" }, { 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" }, { 0, NULL } }; @@ -77,5 +78,6 @@ { BTS_FEAT_CCN, "CCN" }, { BTS_FEAT_VAMOS, "VAMOS" }, { BTS_FEAT_ABIS_OSMO_PCU, "ABIS_OSMO_PCU" }, + { BTS_FEAT_BCCH_POWER_RED, "BCCH_PWR_RED" }, {} }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24774 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I69283b3f35988fc7a1a1dcf1a1ad3b67f08ec716 Gerrit-Change-Number: 24774 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 Jun 25 21:41:40 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 25 Jun 2021 21:41:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Support passing PCUIF messages over IPA multiplex In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24656 ) Change subject: bts: Support passing PCUIF messages over IPA multiplex ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24656 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3cd0988cb654f1c5816d1c4717255a5e802d7925 Gerrit-Change-Number: 24656 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 25 Jun 2021 21:41:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 26 00:55:01 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 26 Jun 2021 00:55:01 +0000 Subject: Change in simtrace2[master]: cardemu: support 1v8 for the tester References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24775 ) Change subject: cardemu: support 1v8 for the tester ...................................................................... cardemu: support 1v8 for the tester The tester has shifters, while the original simtrace relies upon the reader restarting the powerup attempt with > 1v8 after not respondig due to a lack of shifters and therefore 1v8 support. Change-Id: I520aa26c6e0fb34568a4f632943efa59a0da831c --- M firmware/libcommon/source/mode_cardemu.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/75/24775/1 diff --git a/firmware/libcommon/source/mode_cardemu.c b/firmware/libcommon/source/mode_cardemu.c index b9971ed..2440ec5 100644 --- a/firmware/libcommon/source/mode_cardemu.c +++ b/firmware/libcommon/source/mode_cardemu.c @@ -461,7 +461,11 @@ static void process_vcc_adc(struct cardem_inst *ci) { +#ifdef octsimtest + if (ci->vcc_uv >= VCC_UV_THRESH_1V8) +#else if (ci->vcc_uv >= VCC_UV_THRESH_3V) +#endif ci->vcc_active = true; else ci->vcc_active = false; -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24775 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I520aa26c6e0fb34568a4f632943efa59a0da831c Gerrit-Change-Number: 24775 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 Sat Jun 26 15:34:00 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 26 Jun 2021 15:34:00 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: implement BCCH carrier power reduction mode References: Message-ID: fixeria has uploaded this change for review. ( 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. Change-Id: I3dcee6e910ccc61c5c63c728db9ea04327e2fc98 Depends: I69283b3f35988fc7a1a1dcf1a1ad3b67f08ec716 Related: SYS#4919 --- M include/osmo-bts/gsm_data.h 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 6 files changed, 65 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/76/24776/1 diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index 808b48a..352f727 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 bcch_power_red_db; + /* Frequency hopping parameters (configured via OML) */ struct { bool enabled; diff --git a/src/common/rsl.c b/src/common/rsl.c index 502e619..618a82d 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -2174,6 +2174,48 @@ return 0; } +/* BCCH carrier power reduction */ +static int rsl_rx_bcch_pwr_ctrl(struct msgb *msg, const uint8_t red) +{ + const struct gsm_lchan *lchan = msg->lchan; + struct gsm_bts_trx *c0 = lchan->ts->trx; + const uint8_t chan_nr = RSL_CHAN_BCCH; + unsigned int tn; + + if (c0->bts->c0 != c0) { + LOGPTRX(c0, DRSL, LOGL_ERROR, "BCCH carrier power reduction " + "is not expected on this transceiver\n"); + return rsl_tx_error_report(c0, RSL_ERR_PROTO, &chan_nr, NULL, msg); + } + + 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].bcch_power_red_db = 0; + + for (tn = 1; tn < ARRAY_SIZE(c0->ts); tn++) { + struct gsm_bts_trx_ts *ts = &c0->ts[tn]; + const struct gsm_bts_trx_ts *next; + + if (ts_pchan(ts) == GSM_PCHAN_CCCH) + ts->bcch_power_red_db = 0; + else + ts->bcch_power_red_db = red; + + if (ts->bcch_power_red_db > 0) { + /* Next timeslot following this one */ + next = &c0->ts[(tn + 1) % 8]; + + /* If BCCH/CCCH is following, limit to 2 dB */ + if (ts_pchan(next) == GSM_PCHAN_CCCH) + ts->bcch_power_red_db = 2; + } + } + + return 0; +} + /* 8.4.16 BS POWER CONTROL */ static int rsl_rx_bs_pwr_ctrl(struct msgb *msg) { @@ -2197,6 +2239,10 @@ 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) + return rsl_rx_bcch_pwr_ctrl(msg, new); + /* 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; @@ -3555,6 +3601,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 93c1e85..ded77aa 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 + 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..3a794f3 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -1421,6 +1421,11 @@ vty_out(vty, "%s", VTY_NEWLINE); vty_out(vty, " NM State: "); net_dump_nmstate(vty, &ts->mo.nm_state); + + if (ts->trx == ts->trx->bts->c0) { + vty_out(vty, " BCCH carrier power reduction: %u dB%s", + ts->bcch_power_red_db, VTY_NEWLINE); + } } DEFUN(show_ts, diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c index 7134939..be3715c 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..6fd5d1a 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->bcch_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: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 26 15:35:14 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 26 Jun 2021 15:35:14 +0000 Subject: Change in osmo-bsc[master]: power_control: implement BCCH carrier power reduction operation References: Message-ID: fixeria has uploaded this change for review. ( 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, 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. Introduce a VTY command to turn on and off the BCCH carrier power reduction operation. On the A-bis/RSL, abuse the BS POWER CONTROL message by setting the Channel Number IE to 0x80 (RSL_CHAN_BCCH). A value greater than zero would make osmo-bts reduce the power on *inactive* timeslots of the BCCH carrier. Sending zero would disable the BCCH power reduction mode. Change-Id: I047fce33d4d3e4c569dd006ba17858467a2f4783 Related: SYS#4919 --- M include/osmocom/bsc/bts.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts_osmobts.c M tests/osmo-bsc.vty 4 files changed, 77 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/77/24777/1 diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index b6980d1..6bdf25c 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -236,6 +236,9 @@ 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_toggle_bcch_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); diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 1ec34bc..4d1d9ff 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -6020,6 +6020,46 @@ return CMD_SUCCESS; } +DEFUN(bts_bcch_power_red, + bts_bcch_power_red_cmd, + "bts <0-255> bcch-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") +{ + int bts_nr = atoi(argv[0]); + int red = atoi(argv[1]); + struct gsm_bts *bts; + + if (red % 2 != 0) { + vty_out(vty, "%% Incorrect BCCH power reduction value, " + "an even number is expected%s", VTY_NEWLINE); + return CMD_WARNING; + } + + 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 (bts->model->power_ctrl_toggle_bcch_power_red == NULL || + !osmo_bts_has_feature(&bts->features, BTS_FEAT_BCCH_POWER_RED)) { + vty_out(vty, "%% BCCH carrier power reduction operation " + "for BTS%d is not supported%s", bts_nr, VTY_NEWLINE); + return CMD_WARNING; + } + + if (bts->model->power_ctrl_toggle_bcch_power_red(bts, red) != 0) { + vty_out(vty, "%% Failed to %sable BCCH carrier power reduction " + "operation mode for BTS (%d)%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, @@ -8171,6 +8211,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_bcch_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_osmobts.c b/src/osmo-bsc/bts_osmobts.c index 1814ada..a61f49b 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,33 @@ static struct gsm_bts_model model_osmobts; +static int power_ctrl_toggle_bcch_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", red, bts->nr); + + 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 +80,10 @@ /* Unlike nanoBTS, osmo-bts does support SI2bis and SI2ter fine */ model_osmobts.force_combined_si = false; + /* Power control API */ + model_osmobts.power_ctrl_toggle_bcch_power_red = \ + &power_ctrl_toggle_bcch_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..573e949 100644 --- a/tests/osmo-bsc.vty +++ b/tests/osmo-bsc.vty @@ -46,6 +46,7 @@ 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 + bcch-power-red BCCH carrier power reduction operation trx TRX for manual command oml Manipulate the OML managed objects om2000 Manipulate the OM2000 managed objects -- 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: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 08:12:43 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Jun 2021 08:12:43 +0000 Subject: Change in libosmocore[master]: bts_features: add feature for BCCH carrier power reduction mode In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24774 ) Change subject: bts_features: add feature for BCCH carrier power reduction mode ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24774 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I69283b3f35988fc7a1a1dcf1a1ad3b67f08ec716 Gerrit-Change-Number: 24774 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 28 Jun 2021 08:12: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 Jun 28 08:22:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Jun 2021 08:22:35 +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 1: (3 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24776/1/src/common/rsl.c File src/common/rsl.c: https://gerrit.osmocom.org/c/osmo-bts/+/24776/1/src/common/rsl.c at 2212 PS1, Line 2212: ts->bcch_power_red_db = 2; Aren't you overwriting this value upon next loop iteration in "ts->bcch_power_red_db = 0;" (line 2202)? https://gerrit.osmocom.org/c/osmo-bts/+/24776/1/src/common/rsl.c at 3604 PS1, Line 3604: /* Osmocom specific extension for BCCH carrier power reduction */ Some reference to spec here or above in the function would be helpful, specially since this seem to be available only since recent versions. https://gerrit.osmocom.org/c/osmo-bts/+/24776/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/24776/1/src/common/scheduler.c at 1322 PS1, Line 1322: br->att = 0; why is this needed? -- 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: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 28 Jun 2021 08:22: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 Mon Jun 28 08:27:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Jun 2021 08:27:51 +0000 Subject: Change in osmo-bsc[master]: power_control: implement BCCH carrier power reduction operation In-Reply-To: References: Message-ID: pespin 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 1: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24777/1/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24777/1/src/osmo-bsc/bsc_vty.c at 6025 PS1, Line 6025: "bts <0-255> bcch-power-red <0-6>", I wonder why isn't this in the BTS_NODE? https://gerrit.osmocom.org/c/osmo-bsc/+/24777/1/src/osmo-bsc/bts_osmobts.c File src/osmo-bsc/bts_osmobts.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24777/1/src/osmo-bsc/bts_osmobts.c at 71 PS1, Line 71: return abis_rsl_sendmsg(msg); So AFAIU using the VTY command immediately sends an RSL message? what if the config is read at startup and the RSL conn is not yet up? the setting is lost? -- 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: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 28 Jun 2021 08:27:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 08:34:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 08:34:05 +0000 Subject: Change in osmo-pcu[master]: Support proto IPAC_PROTO_EXT_PCU BSC<->PCU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24756 ) Change subject: Support proto IPAC_PROTO_EXT_PCU BSC<->PCU ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24756 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I633db291107883c2e370a9b56606d562a990b714 Gerrit-Change-Number: 24756 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Jun 2021 08:34:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 08:34:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 08:34:41 +0000 Subject: Change in osmo-pcu[master]: pcuif_proto.h: Add new container message In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24620 ) Change subject: pcuif_proto.h: Add new container message ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24620 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib6c7bf5ca5a06186a71ec50cfc1a91a5c9b01d9c Gerrit-Change-Number: 24620 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Jun 2021 08:34:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 08:36:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 08:36:43 +0000 Subject: Change in simtrace2[master]: cardemu: support 1v8 for the tester In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24775 ) Change subject: cardemu: support 1v8 for the tester ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24775 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I520aa26c6e0fb34568a4f632943efa59a0da831c Gerrit-Change-Number: 24775 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Jun 2021 08:36: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 Jun 28 08:36:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 08:36:46 +0000 Subject: Change in simtrace2[master]: cardemu: support 1v8 for the tester In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24775 ) Change subject: cardemu: support 1v8 for the tester ...................................................................... cardemu: support 1v8 for the tester The tester has shifters, while the original simtrace relies upon the reader restarting the powerup attempt with > 1v8 after not respondig due to a lack of shifters and therefore 1v8 support. Change-Id: I520aa26c6e0fb34568a4f632943efa59a0da831c --- M firmware/libcommon/source/mode_cardemu.c 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/libcommon/source/mode_cardemu.c b/firmware/libcommon/source/mode_cardemu.c index b9971ed..2440ec5 100644 --- a/firmware/libcommon/source/mode_cardemu.c +++ b/firmware/libcommon/source/mode_cardemu.c @@ -461,7 +461,11 @@ static void process_vcc_adc(struct cardem_inst *ci) { +#ifdef octsimtest + if (ci->vcc_uv >= VCC_UV_THRESH_1V8) +#else if (ci->vcc_uv >= VCC_UV_THRESH_3V) +#endif ci->vcc_active = true; else ci->vcc_active = false; -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24775 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I520aa26c6e0fb34568a4f632943efa59a0da831c Gerrit-Change-Number: 24775 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 Mon Jun 28 08:37:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 08:37:47 +0000 Subject: Change in osmo-bts[master]: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24619 ) Change subject: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I73fdb17107494ade9263a62d1f729e67303fce87 Gerrit-Change-Number: 24619 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Jun 2021 08:37: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 Jun 28 08:37:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 08:37:54 +0000 Subject: Change in osmo-bts[master]: pcuif_proto.h: Add new container messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24618 ) Change subject: pcuif_proto.h: Add new container messages ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8deef11f9ec191475c99133629cd5cd9048c4bcb Gerrit-Change-Number: 24618 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Jun 2021 08:37: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 Jun 28 08:38:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 08:38:17 +0000 Subject: Change in osmo-bsc[master]: Support proto IPAC_PROTO_EXT_PCU BSC<->PCU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24755 ) Change subject: Support proto IPAC_PROTO_EXT_PCU BSC<->PCU ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24755 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4b3919f3098b9468e5e024db1e45427af24c1ad4 Gerrit-Change-Number: 24755 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Jun 2021 08: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 Mon Jun 28 08:39:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 08:39:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Test forwarding PCUIF<->IPA/OSMO/PCU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24772 ) Change subject: bts: Test forwarding PCUIF<->IPA/OSMO/PCU ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24772/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24772/1//COMMIT_MSG at 7 PS1, Line 7: Test the comment above the test case unfortunately doesn't match the test case at all. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24772 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I78880098a55d1cb456011746efa0a47832a86ca8 Gerrit-Change-Number: 24772 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 28 Jun 2021 08:39:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 08:39:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 08:39:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: cipher mode: move cipher expect to new function In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24758 ) Change subject: msc: cipher mode: move cipher expect to new function ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24758 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1f775889fb801d441ea6c8b0f0c34718b814c09e Gerrit-Change-Number: 24758 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Jun 2021 08:39:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 08:39:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 08:39:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: cipher mode: move cipher expect to new function In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24758 ) Change subject: msc: cipher mode: move cipher expect to new function ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24758 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1f775889fb801d441ea6c8b0f0c34718b814c09e Gerrit-Change-Number: 24758 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Jun 2021 08:39:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 08:39:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 08:39:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: generate Milenage ck in f_get_expected_encryption() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24759 ) Change subject: msc: generate Milenage ck in f_get_expected_encryption() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24759 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iec618ba7fddb2290fc0137d99a9b8d5e2b428b98 Gerrit-Change-Number: 24759 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 28 Jun 2021 08:39: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 Jun 28 08:39:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 08:39:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add vec_keep to lock the AuthVector In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24760 ) Change subject: msc: add vec_keep to lock the AuthVector ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24760 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4bca739c2aad8342915e00a218f90fc19be7eafe Gerrit-Change-Number: 24760 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 28 Jun 2021 08:39: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 Jun 28 08:39:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 08:39:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add inter-BSC HO tests with A5 encryption In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24761 ) Change subject: msc: add inter-BSC HO tests with A5 encryption ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I57e43c60d4389bd301d0195179321a34401bd1dc Gerrit-Change-Number: 24761 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 28 Jun 2021 08:39:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 08:39:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 08:39:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add inter-MSC HO tests with A5 encryption In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24767 ) Change subject: msc: add inter-MSC HO tests with A5 encryption ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24767 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia1df783be33bf752d291acb857d3c48882c65975 Gerrit-Change-Number: 24767 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 28 Jun 2021 08:39: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 Jun 28 08:41:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 08:41:06 +0000 Subject: Change in libosmocore[master]: bts_features: add feature for BCCH carrier power reduction mode In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24774 ) Change subject: bts_features: add feature for BCCH carrier power reduction mode ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24774 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I69283b3f35988fc7a1a1dcf1a1ad3b67f08ec716 Gerrit-Change-Number: 24774 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 28 Jun 2021 08:41: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 Jun 28 08:41:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 08:41:10 +0000 Subject: Change in libosmocore[master]: bts_features: add feature for BCCH carrier power reduction mode In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24774 ) Change subject: bts_features: add feature for BCCH carrier power reduction mode ...................................................................... bts_features: add feature for BCCH carrier power reduction mode Change-Id: I69283b3f35988fc7a1a1dcf1a1ad3b67f08ec716 Related: SYS#4919 --- M include/osmocom/gsm/bts_features.h M src/gsm/bts_features.c 2 files changed, 3 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/include/osmocom/gsm/bts_features.h b/include/osmocom/gsm/bts_features.h index 8bd5ef5..5374619 100644 --- a/include/osmocom/gsm/bts_features.h +++ b/include/osmocom/gsm/bts_features.h @@ -30,6 +30,7 @@ BTS_FEAT_CCN, /* Is CCN supported by the cell? TS 44.060 sec 8.8.2 */ 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, _NUM_BTS_FEAT }; diff --git a/src/gsm/bts_features.c b/src/gsm/bts_features.c index 6e63d5c..6671946 100644 --- a/src/gsm/bts_features.c +++ b/src/gsm/bts_features.c @@ -45,6 +45,7 @@ { BTS_FEAT_CCN, "Cell Change Notification (CCN)" }, { 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" }, { 0, NULL } }; @@ -77,5 +78,6 @@ { BTS_FEAT_CCN, "CCN" }, { BTS_FEAT_VAMOS, "VAMOS" }, { BTS_FEAT_ABIS_OSMO_PCU, "ABIS_OSMO_PCU" }, + { BTS_FEAT_BCCH_POWER_RED, "BCCH_PWR_RED" }, {} }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24774 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I69283b3f35988fc7a1a1dcf1a1ad3b67f08ec716 Gerrit-Change-Number: 24774 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 Jun 28 08:43:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Jun 2021 08:43:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Test forwarding PCUIF<->IPA/OSMO/PCU 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/+/24772 to look at the new patch set (#2). Change subject: bts: Test forwarding PCUIF<->IPA/OSMO/PCU ...................................................................... bts: Test forwarding PCUIF<->IPA/OSMO/PCU Change-Id: I78880098a55d1cb456011746efa0a47832a86ca8 --- M bts/BTS_Tests.cfg M bts/BTS_Tests.ttcn M bts/BTS_Tests_OML.ttcn M library/AbisOML_Types.ttcn M library/PCUIF_Types.ttcn 5 files changed, 195 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/72/24772/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24772 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I78880098a55d1cb456011746efa0a47832a86ca8 Gerrit-Change-Number: 24772 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 08:44:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 08:44:17 +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 1: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24777/1/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24777/1/src/osmo-bsc/bsc_vty.c at 6025 PS1, Line 6025: "bts <0-255> bcch-power-red <0-6>", > I wonder why isn't this in the BTS_NODE? this is an interactive command, and not something part of the 'configure' node. Not sure if that is intentional. At the very least we should have a 'configure' command, while this one for interactive use is only useful for R&D and testing, right? https://gerrit.osmocom.org/c/osmo-bsc/+/24777/1/src/osmo-bsc/bts_osmobts.c File src/osmo-bsc/bts_osmobts.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24777/1/src/osmo-bsc/bts_osmobts.c at 71 PS1, Line 71: return abis_rsl_sendmsg(msg); > So AFAIU using the VTY command immediately sends an RSL message? what if the config is read at start [?] the existing VTY command is not a 'configure' command! -- 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: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 28 Jun 2021 08:44: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 Mon Jun 28 08:44:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 08:44:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: CSN1: Support enc/dec of Packet Measurement related messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24750 ) Change subject: CSN1: Support enc/dec of Packet Measurement related messages ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24750 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5567a0d86c70d67e2012ba284146952a40c279d7 Gerrit-Change-Number: 24750 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 28 Jun 2021 08:44: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 Jun 28 08:45:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 08:45:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Support passing PCUIF messages over IPA multiplex In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24656 ) Change subject: bts: Support passing PCUIF messages over IPA multiplex ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24656 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3cd0988cb654f1c5816d1c4717255a5e802d7925 Gerrit-Change-Number: 24656 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 28 Jun 2021 08:45: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 Jun 28 08:45:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 08:45:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: CSN1: Support enc/dec of Packet Measurement related messages In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24750 ) Change subject: CSN1: Support enc/dec of Packet Measurement related messages ...................................................................... CSN1: Support enc/dec of Packet Measurement related messages Related: SYS#5303 Change-Id: I5567a0d86c70d67e2012ba284146952a40c279d7 --- M library/RLCMAC_CSN1_Templates.ttcn M library/RLCMAC_CSN1_Types.ttcn 2 files changed, 210 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/library/RLCMAC_CSN1_Templates.ttcn b/library/RLCMAC_CSN1_Templates.ttcn index 39f240b..254983a 100644 --- a/library/RLCMAC_CSN1_Templates.ttcn +++ b/library/RLCMAC_CSN1_Templates.ttcn @@ -158,6 +158,106 @@ } }; + /* TS 44.060 sec 11.2.9 */ + template (value) NCMeasurement ts_NCMeasurement(uint6_t frequency_n, BIT6 bsic, uint6_t rxlev) + := { + frequency_n := frequency_n, + bsic_n_presence := '1'B, + bsic_n := bsic, + rxlev_n := rxlev + }; + template (value) NCMeasurementReport ts_NCMeasurementReport(BIT1 nc_mode, + uint6_t rxlev_serving_cell, + template (value) NCMeasurementList nc_meas_list := {}) + := { + nc_mode := nc_mode, + rxlev_serving_cell := rxlev_serving_cell, + zero := '0'B, + num_nc_measurements := 0, /* automatically updated */ + nm_measurements := nc_meas_list + }; + template RlcmacUlCtrlMsg ts_RlcMacUlCtrl_PKT_MEAS_REPORT(template (value) GprsTlli tlli, + template (value) NCMeasurementReport nc_meas_rep) + := { + msg_type := PACKET_MEASUREMENT_REPORT, + u := { + meas_report := { + tlli := tlli, + psi5_change_mark_presence := '0'B, + psi5_change_mark := omit, + additions_99 := '0'B, + nc_meas_report := nc_meas_rep + } + } + }; + + /* TS 44.060 sec 11.2.9b */ + template RepeatedAddFrequencyItem tr_RepeatedAddFrequencyItem(template (present) uint10_t start_frequency := ?, + template (present) uint6_t bsic := ?) + := { + presence := '1'B, + item := { + start_frequency := start_frequency, + bsic := bsic, + cell_sel_par_present := ?, + cell_sel_par := *, + nr_of_frequencies := 0, + freq_diff_length := ? + /* TODO: support Frequency diff list */ + } + }; + template NCFrequencyList tr_NCFrequencyList(template FreqIndexList removed_freq_index := *, template RepeatedAddFrequencyItemList repeated_add_frequency := *) + := { + removed_freq_present := ?, + nr_of_removed_freq := *, + removed_freq_index := removed_freq_index, + repeated_add_frequency := repeated_add_frequency, + repeated_add_frequency_term := '0'B + }; + template NCMeasurementParameters tr_NCMeasurementParameters(template (present) NetworkControlOrder nco := ?, + template uint3_t nc_non_drx_period := *, + template uint3_t nc_reporting_period_i := *, + template uint3_t nc_reporting_period_t := *, + template NCFrequencyList nc_freq_list := *) + := { + nco := nco, + nc_period_present := ?, + nc_non_drx_period := nc_non_drx_period, + nc_reporting_period_i := nc_reporting_period_i, + nc_reporting_period_t := nc_reporting_period_t, + nc_freq_list_present := ?, + nc_freq_list := nc_freq_list + }; + /* This template is used by osmo-pcu to reset the GSM Neighbour Cell List of the MS */ + template (value) NCMeasurementParameters ts_NCMeasurementParametersRESET + := { + nco := NC_RESET, + nc_period_present := '0'B, + nc_non_drx_period := omit, + nc_reporting_period_i := omit, + nc_reporting_period_t := omit, + nc_freq_list_present := '0'B, + nc_freq_list := omit + }; + template RlcmacDlCtrlMsg tr_RlcMacDlCtrl_PKT_MEAS_ORDER(template (present) GlobalTfiOrTlli tfi_or_tlli := ?, + template (present) uint3_t pmo_index := ?, + template (present) uint3_t pmo_count := ?, + template (present) NCMeasurementParameters nc_meas_param := ?) + := { + msg_type := PACKET_MEASUREMENT_ORDER, + u := { + meas_order := { + page_mode := ?, + tfi_or_tlli := tfi_or_tlli, + pmo_index := pmo_index, + pmo_count := pmo_count, + nc_meas_param_present := '1'B, + nc_meas_param := nc_meas_param, + zero := '0'B + } + } + }; + /* TS 44.060 sec 11.2.9e */ template RlcmacDlCtrlMsg tr_RlcMacDlCtrl_PKT_NEIGH_CELL_DATA(template (present) GlobalTfi tfi := ?, template (present) uint5_t container_index := ?) diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn index 0dd8a8b..d9a5662 100644 --- a/library/RLCMAC_CSN1_Types.ttcn +++ b/library/RLCMAC_CSN1_Types.ttcn @@ -163,6 +163,80 @@ variant (tbf_starting_time) "PRESENCE(tbf_starting_time_present = '1'B)" }; + /* 11.2.9b Packet Measurement Order */ + type enumerated NetworkControlOrder { + NC_0 ('00'B), + NC_1 ('01'B), + NC_2 ('10'B), + NC_RESET ('11'B) + } with { variant "FIELDLENGTH(2)" }; + type record CellSelection { + BIT1 cell_barr_access_2, + BIT1 exc_acc, + BIT1 same_ra_as_serving_cell, + BIT1 gprs_rxlev_access_min_present ('0'B), + BIT1 gprs_temporary_offset_present ('0'B), + BIT1 gprs_reselct_offset_present ('0'B), + BIT1 hcs_params_present ('0'B), + BIT1 si13_pbcch_location_present ('0'B) + /* TODO: add optional parameters above^ */ + }; + type record AddFrequency { + uint10_t start_frequency, + uint6_t bsic, + BIT1 cell_sel_par_present, + CellSelection cell_sel_par optional, + uint5_t nr_of_frequencies, + uint3_t freq_diff_length + /* TODO: support Frequency diff list */ + } with { + variant (cell_sel_par) "PRESENCE(cell_sel_par_present = '1'B)" + }; + type record RepeatedAddFrequencyItem { + BIT1 presence, + AddFrequency item + } with { variant "PRESENCE(presence = '1'B)" }; + type record of uint6_t FreqIndexList; + type record of RepeatedAddFrequencyItem RepeatedAddFrequencyItemList; + type record NCFrequencyList { + BIT1 removed_freq_present, + uint5_t nr_of_removed_freq optional, + FreqIndexList removed_freq_index optional, + RepeatedAddFrequencyItemList repeated_add_frequency optional, + BIT1 repeated_add_frequency_term ('0'B) + } with { + variant (nr_of_removed_freq) "PRESENCE(removed_freq_present = '1'B)" + variant (removed_freq_index) "PRESENCE(removed_freq_present = '1'B)" + variant (nr_of_removed_freq) "LENGTHTO(removed_freq_index)-1" + variant (nr_of_removed_freq) "UNIT(elements)" + }; + type record NCMeasurementParameters { + NetworkControlOrder nco, + BIT1 nc_period_present, + uint3_t nc_non_drx_period optional, + uint3_t nc_reporting_period_i optional, + uint3_t nc_reporting_period_t optional, + BIT1 nc_freq_list_present, + NCFrequencyList nc_freq_list optional + } with { + variant (nc_non_drx_period) "PRESENCE(nc_period_present = '1'B)" + variant (nc_reporting_period_i) "PRESENCE(nc_period_present = '1'B)" + variant (nc_reporting_period_t) "PRESENCE(nc_period_present = '1'B)" + variant (nc_freq_list) "PRESENCE(nc_freq_list_present = '1'B)" + }; + type record PacketMeasOrder { + PageMode page_mode, + GlobalTfiOrTlli tfi_or_tlli, + uint3_t pmo_index, + uint3_t pmo_count, + BIT1 nc_meas_param_present, + NCMeasurementParameters nc_meas_param optional, + BIT1 zero('0'B) /* The value '1' was allocated in an earlier version of the protocol and shall not be used. */ + /* TODO: support Additions 98 onwards */ + } with { + variant (nc_meas_param) "PRESENCE(nc_meas_param_present = '1'B)" + }; + private type record PktDlAssRelAdditions { BIT1 rel99_presence, // 0/1 PktDlAssR99Additions rel99 optional @@ -632,6 +706,7 @@ /* 11.2.0.1 */ type union RlcmacDlCtrlUnion { PacketDlAssignment dl_assignment, + PacketMeasOrder meas_order, PacketUlAssignment ul_assignment, PacketPagingReq paging, PacketUlAckNack ul_ack_nack, @@ -647,6 +722,7 @@ RlcmacDlCtrlUnion u } with { variant (u) "CROSSTAG(dl_assignment, msg_type = PACKET_DL_ASSIGNMENT; + meas_order, msg_type = PACKET_MEASUREMENT_ORDER; ul_assignment, msg_type = PACKET_UL_ASSIGNMENT; paging, msg_type = PACKET_PAGING_REQUEST; ul_ack_nack, msg_type = PACKET_UL_ACK_NACK; @@ -759,6 +835,38 @@ variant (tlli) "BYTEORDER(first)" }; + /* 11.2.9 Packet Measurement Report */ + type record NCMeasurement { + uint6_t frequency_n, + BIT1 bsic_n_presence, + BIT6 bsic_n optional, + uint6_t rxlev_n + } with { + variant (bsic_n) "PRESENCE(bsic_n_presence = '1'B)" + }; + type record of NCMeasurement NCMeasurementList; + type record NCMeasurementReport { + BIT1 nc_mode, + uint6_t rxlev_serving_cell, + BIT1 zero ('0'B), /*The value '1' was allocated in an earlier version of the protocol and shall not be used.*/ + uint3_t num_nc_measurements, + NCMeasurementList nm_measurements + } with { + variant (num_nc_measurements) "LENGTHTO(nm_measurements)" + variant (num_nc_measurements) "UNIT(elements)" + }; + type record PacketMeasReport { + GprsTlli tlli, + BIT1 psi5_change_mark_presence, + BIT2 psi5_change_mark optional, + BIT1 additions_99 ('0'B), /* TODO: 1 -> support Additions 99 onwards */ + NCMeasurementReport nc_meas_report optional + } with { + variant (tlli) "BYTEORDER(first)" + variant (psi5_change_mark) "PRESENCE(psi5_change_mark_presence = '1'B)" + variant (nc_meas_report) "PRESENCE(additions_99 = '0'B)" + }; + /* TS 44.060 sec 12.30 MS Radio Access Capability 2 * (for value part, see 3GPP TS 24.008 sec 10.5.5.12a and table 10.5.146) */ type union MSRadioAccCap2 { @@ -844,6 +952,7 @@ PacketDlAckNack dl_ack_nack, EgprsPacketDlAckNack dl_ack_nack_egprs, PacketUlDummy ul_dummy, + PacketMeasReport meas_report, PacketResourceReq resource_req, PacketCellChangeNotification cell_chg_notif, octetstring other @@ -857,6 +966,7 @@ dl_ack_nack, msg_type = PACKET_DL_ACK_NACK; dl_ack_nack_egprs, msg_type = PACKET_EGPRS_DL_ACK_NACK; ul_dummy, msg_type = PACKET_UL_DUMMY_CTRL; + meas_report, msg_type = PACKET_MEASUREMENT_REPORT; resource_req, msg_type = PACKET_RESOURCE_REQUEST; cell_chg_notif, msg_type = PACKET_CELL_CHANGE_NOTIFICATION; other, OTHERWISE -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24750 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5567a0d86c70d67e2012ba284146952a40c279d7 Gerrit-Change-Number: 24750 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 08:45:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 08:45:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Support passing PCUIF messages over IPA multiplex In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24656 ) Change subject: bts: Support passing PCUIF messages over IPA multiplex ...................................................................... bts: Support passing PCUIF messages over IPA multiplex Related: SYS#5303 Change-Id: I3cd0988cb654f1c5816d1c4717255a5e802d7925 --- M bts/BTS_Tests_OML.ttcn M bts/regen_makefile.sh M library/IPA_Emulation.ttcnpp M library/IPA_Types.ttcn 4 files changed, 48 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/bts/BTS_Tests_OML.ttcn b/bts/BTS_Tests_OML.ttcn index 6770dab..ddeb139 100644 --- a/bts/BTS_Tests_OML.ttcn +++ b/bts/BTS_Tests_OML.ttcn @@ -52,6 +52,8 @@ /* Port for OML */ port IPA_OML_PT OML; var uint8_t g_bts_nr := 0; + /* Port for Abis/Osmo/PCU */ + port IPA_OSMO_PCU_PT IPA_OSMO_PCU; /* global test case guard timer */ timer T_oml_guard := 60.0; @@ -97,6 +99,7 @@ vc_IPA_OML := IPA_Emulation_CT.create(id & "-OML-IPA"); map(vc_IPA_OML:IPA_PORT, system:IPA_CODEC_PT); connect(vc_IPA_OML:IPA_OML_PORT, self:OML); + connect(vc_IPA_OML:IPA_OSMO_PCU_PORT, self:IPA_OSMO_PCU); vc_IPA_OML.start(IPA_Emulation.main_server(mp_oml_ip, mp_oml_port)); T_oml_guard.start; diff --git a/bts/regen_makefile.sh b/bts/regen_makefile.sh index 9f1bf1d..8771500 100755 --- a/bts/regen_makefile.sh +++ b/bts/regen_makefile.sh @@ -2,6 +2,6 @@ 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" -export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL -DIPA_EMULATION_OML -DIPA_EMULATION_CTRL" +export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL -DIPA_EMULATION_OML -DIPA_EMULATION_CTRL -DIPA_EMULATION_OSMO_PCU" ../regen-makefile.sh BTS_Tests.ttcn $FILES diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index 906664f..5cdf324 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -55,6 +55,10 @@ import from Osmocom_CTRL_Types all; #endif +#ifdef IPA_EMULATION_OSMO_PCU +import from PCUIF_Types all; +#endif + modulepar { /* Use Osmocom extended IPA mux header */ boolean mp_ipa_mgcp_uses_osmo_ext := true; @@ -190,6 +194,12 @@ } with { extension "internal" } #endif +#ifdef IPA_EMULATION_OSMO_PCU +/* Client port for Osmocom PCU extension inside IPA */ +type port IPA_OSMO_PCU_PT message { + inout PCUIF_Message, ASP_IPA_Event; +} with { extension "internal" } +#endif @@ -224,6 +234,10 @@ /* up-facing port for RSPRO */ port IPA_RSPRO_PT IPA_RSPRO_PORT; #endif +#ifdef IPA_EMULATION_OSMO_PCU + /* up-facing port for RSPRO */ + port IPA_OSMO_PCU_PT IPA_OSMO_PCU_PORT; +#endif /* up-facing port for other streams */ port IPA_SP_PT IPA_SP_PORT; @@ -350,6 +364,11 @@ IPA_RSPRO_PORT.send(evt); } #endif +#ifdef IPA_EMULATION_OSMO_PCU + if (IPA_OSMO_PCU_PORT.checkstate("Connected")) { + IPA_OSMO_PCU_PORT.send(evt); + } +#endif /* FIXME: to other ports */ } @@ -585,6 +604,13 @@ } #endif +#ifdef IPA_EMULATION_OSMO_PCU +private function f_osmo_pcu_to_user(octetstring msg) runs on IPA_Emulation_CT { + var PCUIF_Message pcuif_msg := dec_PCUIF_Message(msg); + IPA_OSMO_PCU_PORT.send(pcuif_msg); +} +#endif + #ifdef IPA_EMULATION_MGCP private function f_mgcp_to_user(octetstring msg) runs on IPA_Emulation_CT { var charstring msg_ch := oct2char(msg); @@ -657,6 +683,9 @@ #ifdef IPA_EMULATION_RSPRO var RsproPDU rspro; #endif +#ifdef IPA_EMULATION_OSMO_PCU + var PCUIF_Message pcu; +#endif /* Set function for dissecting the binary */ var f_IPL4_getMsgLen vl_f := refers(f_IPL4_fixedMsgLen); @@ -733,6 +762,11 @@ f_rspro_to_user(ipa_rx.msg); } #endif +#ifdef IPA_EMULATION_OSMO_PCU + case (IPAC_PROTO_EXT_OSMO_PCU) { + f_osmo_pcu_to_user(ipa_rx.msg); + } +#endif case else { IPA_SP_PORT.send(f_to_asp(ipa_rx)); } @@ -826,6 +860,14 @@ } #endif +#ifdef IPA_EMULATION_OSMO_PCU + [] IPA_OSMO_PCU_PORT.receive(PCUIF_Message:?) -> value pcu { + payload := enc_PCUIF_Message(pcu); + ipa_ud := valueof(t_ASP_IPA_UD(IPAC_PROTO_OSMO, payload, IPAC_PROTO_EXT_OSMO_PCU)); + IPA_PORT.send(f_from_asp(f_ipa_conn_id(), ipa_ud)); + } +#endif + #ifdef IPA_EMULATION_RSL /* Received RSL -> down into IPA */ [] IPA_RSL_PORT.receive(ASP_RSL_Unitdata:?) -> value rsl { diff --git a/library/IPA_Types.ttcn b/library/IPA_Types.ttcn index 110e5b1..95623ef 100644 --- a/library/IPA_Types.ttcn +++ b/library/IPA_Types.ttcn @@ -35,7 +35,8 @@ IPAC_PROTO_EXT_ORC ('04'H), IPAC_PROTO_EXT_GSUP ('05'H), IPAC_PROTO_EXT_OAP ('06'H), - IPAC_PROTO_EXT_RSPRO ('07'H) + IPAC_PROTO_EXT_RSPRO ('07'H), + IPAC_PROTO_EXT_OSMO_PCU ('08'H) } with { variant "FIELDLENGTH(8)" } external function enc_PDU_IPA(in PDU_IPA pdu) return octetstring -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24656 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3cd0988cb654f1c5816d1c4717255a5e802d7925 Gerrit-Change-Number: 24656 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 08:45:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 08:45:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Rename function issuing OML SetAttributes In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24771 ) Change subject: bts: Rename function issuing OML SetAttributes ...................................................................... bts: Rename function issuing OML SetAttributes GetAttributes support will be introduced next, and current naming is misleading. Change-Id: Id84eda70e97364b7ec6a8d351f0b54f07faba670 --- M bts/BTS_Tests_OML.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/bts/BTS_Tests_OML.ttcn b/bts/BTS_Tests_OML.ttcn index ddeb139..00c66c3 100644 --- a/bts/BTS_Tests_OML.ttcn +++ b/bts/BTS_Tests_OML.ttcn @@ -232,7 +232,7 @@ } /* Perform a "SET BTS ATTRIBUTES" procedure with the BTS */ -private function f_oml_bts_attr() +private function f_oml_bts_setattr() runs on BSC_OML_CT { var OML_FOM_ObjectInstance obj_inst := valueof(ts_OML_ObjectInstance(g_bts_nr, 255, 255)); var template (value) OML_FOM_IE_List ies := { @@ -539,7 +539,7 @@ [] OML.receive { repeat; } } - f_oml_bts_attr(); + f_oml_bts_setattr(); f_oml_opstart(obj_class, obj_inst, false, NM_OPSTATE_ENABLED); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24771 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id84eda70e97364b7ec6a8d351f0b54f07faba670 Gerrit-Change-Number: 24771 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 Jun 28 08:46:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 08:46:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Test forwarding PCUIF<->IPA/OSMO/PCU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24772 ) Change subject: bts: Test forwarding PCUIF<->IPA/OSMO/PCU ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24772 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I78880098a55d1cb456011746efa0a47832a86ca8 Gerrit-Change-Number: 24772 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Jun 2021 08:46:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 08:46:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 08:46:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Test forwarding PCUIF<->IPA/OSMO/PCU In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24772 ) Change subject: bts: Test forwarding PCUIF<->IPA/OSMO/PCU ...................................................................... bts: Test forwarding PCUIF<->IPA/OSMO/PCU Change-Id: I78880098a55d1cb456011746efa0a47832a86ca8 --- M bts/BTS_Tests.cfg M bts/BTS_Tests.ttcn M bts/BTS_Tests_OML.ttcn M library/AbisOML_Types.ttcn M library/PCUIF_Types.ttcn 5 files changed, 195 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bts/BTS_Tests.cfg b/bts/BTS_Tests.cfg index aaffbf6..36d81e2 100644 --- a/bts/BTS_Tests.cfg +++ b/bts/BTS_Tests.cfg @@ -31,6 +31,7 @@ #BTS_Tests.mp_tolerance_rxlev := 10; #BTS_Tests.mp_tolerance_rxqual := 1; +BTS_Tests_OML.mp_pcu_socket := "/tmp/pcu_sock" [MAIN_CONTROLLER] diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index e855405..a08c3ff 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -70,6 +70,7 @@ friend module BTS_Tests_virtphy; friend module BTS_Tests_LAPDm; friend module BTS_Tests_perf; +friend module BTS_Tests_OML; /* The tests assume a BTS with the following timeslot configuration: * TS0 : Combined CCCH + SDCCH/4 @@ -440,7 +441,7 @@ } /* PCU socket may at any time receive a new INFO.ind */ -private altstep as_pcu_info_ind(PCUIF_CODEC_PT pt, integer pcu_conn_id, +friend altstep as_pcu_info_ind(PCUIF_CODEC_PT pt, integer pcu_conn_id, out PCUIF_Message pcu_last_info) { var PCUIF_send_data sd; [] pt.receive(t_SD_PCUIF(pcu_conn_id, tr_PCUIF_INFO_IND(0, ?))) -> value sd { diff --git a/bts/BTS_Tests_OML.ttcn b/bts/BTS_Tests_OML.ttcn index 00c66c3..40fb5cd 100644 --- a/bts/BTS_Tests_OML.ttcn +++ b/bts/BTS_Tests_OML.ttcn @@ -16,6 +16,13 @@ import from AbisOML_Types all; import from IPA_Emulation all; import from IPA_Types all; +import from Misc_Helpers all; + +import from PCUIF_Types all; +import from PCUIF_CodecPort all; +import from PCUIF_CodecPort all; + +import from BTS_Tests all; const integer NUM_TRX := 8; @@ -43,6 +50,8 @@ uint8_t mp_air_timer := 100; uint8_t mp_ny1 := 10; uint8_t mp_bsic := 63; + + charstring mp_pcu_socket := PCU_SOCK_DEFAULT; }; /* BSC side OML component */ @@ -52,8 +61,17 @@ /* Port for OML */ port IPA_OML_PT OML; var uint8_t g_bts_nr := 0; + /* Port for Abis/Osmo/PCU */ port IPA_OSMO_PCU_PT IPA_OSMO_PCU; + /* PCU Interface of BTS */ + port PCUIF_CODEC_PT PCU; + var integer g_pcu_conn_id; + /* Last PCU INFO IND we received */ + var PCUIF_Message g_pcu_last_info; + + /* As rxed by Get Attributes Response NM_ATT_MANUF_ID IE, see f_oml_getattr() */ + var bitstring g_bts_features; /* global test case guard timer */ timer T_oml_guard := 60.0; @@ -112,6 +130,27 @@ activate(as_IPA_evt()); } +private function f_init_pcu(PCUIF_CODEC_PT pt, charstring id, + out integer pcu_conn_id, out PCUIF_Message pcu_last_info) { + timer T := 2.0; + var PCUIF_send_data sd; + + if (mp_pcu_socket == "") { + pcu_conn_id := -1; + return; + } + map(self:PCU, system:PCU); + pcu_conn_id := f_pcuif_connect(pt, mp_pcu_socket); + + T.start; + alt { + [] as_pcu_info_ind(pt, pcu_conn_id, pcu_last_info); + [] T.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for PCU INFO_IND"); + } + } + pt.send(t_SD_PCUIF(pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, testcasename()))); +} /* Perform an "OPSTART" procedure with the speciifed MO" */ private function f_oml_opstart(template (value) OML_FOM_ObjectClass obj_class, @@ -290,12 +329,15 @@ } } -private function f_oml_exp_rx(template OML_PDU exp_rx, charstring err_msg) runs on BSC_OML_CT +private function f_oml_exp_rx(template OML_PDU exp_rx, charstring err_msg) + runs on BSC_OML_CT return OML_PDU { + var OML_PDU rx; timer T := 5.0; + T.start; alt { - [] OML.receive(exp_rx) { + [] OML.receive(exp_rx) -> value rx { setverdict(pass); } [] OML.receive { repeat; } @@ -303,6 +345,7 @@ setverdict(fail, "Timeout waiting for ", err_msg); } } + return rx; } /* Send an OML message and expect a failure event report in response */ @@ -351,7 +394,23 @@ } +private function f_oml_getattr(template OML_PDU exp_rx := tr_OML_GetAttributesResponse(NM_OC_BTS, ?, ?)) runs on BSC_OML_CT +{ + var OML_FOM_ObjectInstance obj_inst := valueof(ts_OML_ObjectInstance(g_bts_nr, 255, 255)); + var OML_FOM_IE_Type attr_li[2] := { NM_ATT_MANUF_ID, NM_ATT_SW_CONFIG }; + var octetstring req_attr := ''O; + for (var integer i := 0; i < lengthof(attr_li); i := i + 1) { + req_attr := req_attr & int2oct(enum2int(attr_li[i]), 1); + } + var OML_PDU cmd := valueof(ts_OML_GetAttributes(NM_OC_BTS, obj_inst, req_attr)); + OML.send(cmd); + var OML_PDU rx := f_oml_exp_rx(exp_rx, "BTS GetAttributes Response"); + + var OML_FOM_IE_Body ie_ari := f_OML_FOM_get_ie(rx.u.fom, NM_ATT_GET_ARI); + var OML_FOM_IE_Body manuf_id := f_OML_FOM_IE_List_get_ie(ie_ari.ari.ies, NM_ATT_MANUF_ID); + g_bts_features := oct2bit(manuf_id.other.payload); +} @@ -616,6 +675,57 @@ } } +/* Make sure that the IUT forwards Container PCUIF messages between BSC and PCU */ +testcase TC_ipa_osmo_pcu_anr_fwd() runs on BSC_OML_CT { + var PCUIF_send_data pcu_sd_msg; + var PCUIF_Message msg_rx; + timer T := 2.0; + var octetstring payloadReq := f_rnd_octstring(300); + var octetstring payloadRep := f_rnd_octstring(300); + + f_init_oml(testcasename()); + f_init_pcu(PCU, testcasename(), g_pcu_conn_id, g_pcu_last_info); + f_oml_getattr(); + + log("BTS Features:", g_bts_features); + if (lengthof(g_bts_features) < 21 or g_bts_features[20] != '1'B) { + setverdict(fail, "Feature ABIS_OSMO_PCU not supported!"); + } + + IPA_OSMO_PCU.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)); + IPA_OSMO_PCU.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_RESP)); + IPA_OSMO_PCU.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)); + + IPA_OSMO_PCU.send(ts_PCUIF_CONTAINER(0, ts_PCUIF_CONT_OTHER(100, payloadReq))) + T.start; + alt { + [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_CONTAINER(0, tr_PCUIF_CONT_OTHER(100, payloadReq)))) { + setverdict(pass); + } + [] PCU.receive(PCUIF_send_data:?) -> value pcu_sd_msg { + setverdict(fail, "Unexpected message received: ", pcu_sd_msg.data, " vs exp: ", + t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_CONTAINER(0, tr_PCUIF_CONT_OTHER(100, payloadReq)))); + } + [] T.timeout { setverdict(fail, "Timeout waiting for ANR request on PCU inteface");} + } + T.stop; + + /* Send back the response: */ + PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_CONTAINER(0, ts_PCUIF_CONT_OTHER(100, payloadRep)))) + T.start; + alt { + [] IPA_OSMO_PCU.receive(tr_PCUIF_CONTAINER(0, tr_PCUIF_CONT_OTHER(100, payloadRep))) { + setverdict(pass); + } + [] IPA_OSMO_PCU.receive(PCUIF_Message:?) -> value msg_rx { + setverdict(fail, "Unexpected message received: ", msg_rx, " vs exp: ", + tr_PCUIF_CONTAINER(0, tr_PCUIF_CONT_OTHER(100, payloadRep))); + } + [] T.timeout { setverdict(fail, "Timeout waiting for ANR request on BSC inteface"); } + } + setverdict(pass); +} + control { execute( TC_wrong_mdisc() ); @@ -634,6 +744,8 @@ execute( TC_ts_opstart_noattr() ); execute( TC_initial_state_reports() ); execute( TC_ipa_rsl_connect_nack() ); + + execute( TC_ipa_osmo_pcu_anr_fwd() ); } /* BTS: diff --git a/library/AbisOML_Types.ttcn b/library/AbisOML_Types.ttcn index 6229f25..ae39671 100644 --- a/library/AbisOML_Types.ttcn +++ b/library/AbisOML_Types.ttcn @@ -1226,6 +1226,21 @@ return resp; } +function f_OML_FOM_IE_List_get_ie(OML_FOM_IE_List ie_list, OML_FOM_IE_Type iei) return OML_FOM_IE_Body +{ + for (var integer i := 0; i < lengthof(ie_list); i := i + 1) { + if (ie_list[i].iei == iei) { + return ie_list[i].body; + } + } + var OML_FOM_IE_Body dummy; + return dummy; /*TODO: setverdict(fail?) */ +} + +function f_OML_FOM_get_ie(OML_FOM fom, OML_FOM_IE_Type iei) return OML_FOM_IE_Body +{ + return f_OML_FOM_IE_List_get_ie(fom.ies, iei); +} /*********************************************************************** diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 6cfe410..1e57fb2 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -37,7 +37,8 @@ PCU_IF_MSG_TIME_IND ('52'O), PCU_IF_MSG_INTERF_IND ('53'O), PCU_IF_MSG_PAG_REQ ('60'O), - PCU_IF_MSG_TXT_IND ('70'O) + PCU_IF_MSG_TXT_IND ('70'O), + PCU_IF_MSG_CONTAINER ('80'O) } with { variant "FIELDLENGTH(8)" }; type enumerated PCUIF_Sapi { @@ -253,6 +254,26 @@ variant (tlli) "BYTEORDER(last)" }; +type union PCUIF_ContainerMsgUnion { + /* This field can be removed once first container message is added, see + * https://bugs.eclipse.org/bugs/show_bug.cgi?id=574469 */ + octetstring tmp_fixme, + octetstring other +} with { variant "" }; + +type record PCUIF_container { + uint8_t msg_type, + OCT1 spare, + uint16_t len, /* network byte order */ + PCUIF_ContainerMsgUnion u +} with { + variant (len) "BYTEORDER(last)" + variant (len) "LENGTHTO(u)" + variant (u) "CROSSTAG( + tmp_fixme, msg_type = 255; + other, OTHERWISE)" +}; + type union PCUIF_MsgUnion { PCUIF_data data_req, @@ -268,7 +289,8 @@ PCUIF_time_ind time_ind, PCUIF_interf_ind interf_ind, PCUIF_pag_req pag_req, - PCUIF_app_info_req app_info_req + PCUIF_app_info_req app_info_req, + PCUIF_container container } with { variant "" }; type record PCUIF_Message { @@ -290,7 +312,8 @@ time_ind, msg_type = PCU_IF_MSG_TIME_IND; interf_ind, msg_type = PCU_IF_MSG_INTERF_IND; pag_req, msg_type = PCU_IF_MSG_PAG_REQ; - app_info_req, msg_type = PCU_IF_MSG_APP_INFO_REQ)" + app_info_req, msg_type = PCU_IF_MSG_APP_INFO_REQ; + container, msg_type = PCU_IF_MSG_CONTAINER)" /* PCUIFv10: 1006 * 8 = 8048 bits */ variant "PADDING(8048)" }; @@ -984,6 +1007,43 @@ } +template (value) PCUIF_Message ts_PCUIF_CONTAINER(template (value) uint8_t bts_nr, + template (value) PCUIF_container container) := { + msg_type := PCU_IF_MSG_CONTAINER, + bts_nr := bts_nr, + spare := '0000'O, + u := { + container := container + } +} +template (present) PCUIF_Message tr_PCUIF_CONTAINER(template (present) uint8_t bts_nr, + template (present) PCUIF_container container) := { + msg_type := PCU_IF_MSG_CONTAINER, + bts_nr := bts_nr, + spare := '0000'O, + u := { + container := container + } +} + +template (value) PCUIF_container ts_PCUIF_CONT_OTHER(uint8_t msg_type, template (value) octetstring payload) := { + msg_type := msg_type, + spare := '00'O, + len := lengthof(payload), + u := { + other := payload + } +} +template (present) PCUIF_container tr_PCUIF_CONT_OTHER(template (present) uint8_t msg_type, + template (present) octetstring payload) := { + msg_type := msg_type, + spare := '00'O, + len := ?, + u := { + other := payload + } +} + function f_PCUIF_PDCHMask_set(inout PCUIF_info_ind info, BIT8 pdch_mask, template (present) uint8_t trx_nr := ?) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24772 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I78880098a55d1cb456011746efa0a47832a86ca8 Gerrit-Change-Number: 24772 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 08:47:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 08:47:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: add testcase TC_paging_imsi_200percent_with_ps In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24752 ) Change subject: BTS_Tests: add testcase TC_paging_imsi_200percent_with_ps ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24752 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie72e788d9ebff6ca4e50314746127a9689948062 Gerrit-Change-Number: 24752 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, 28 Jun 2021 08:47:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 08:47:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 08:47:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: add testcase TC_paging_imsi_200percent_with_ps In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24752 ) Change subject: BTS_Tests: add testcase TC_paging_imsi_200percent_with_ps ...................................................................... BTS_Tests: add testcase TC_paging_imsi_200percent_with_ps The current paging load tests only test what happens when the paging load is introduced from the PS side. However there are no tests that tests what happens when PS pagings are introduced from the PCU side into an already overloaded system. osmo-bts was equipped recently with a mechanism that detects congestive situations. Once a congestion is detcted osmo-bts will drop pagings from the BTS side. The rationale of the new testcase is that the behavior must not change when the PS pagings start since osmo-bts is dropping them. Change-Id: Ie72e788d9ebff6ca4e50314746127a9689948062 Depends: osmo-bts I30f97672d7a0c369c4a656e878ab8cbbd83e31ea Related: SYS#5306 --- M bts/BTS_Tests.ttcn M library/PCUIF_CodecPort.ttcn 2 files changed, 106 insertions(+), 9 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index a08c3ff..64e3fc2 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -3551,6 +3551,18 @@ boolean combined_ccch, integer bs_ag_blks_res, float load_factor, + /* Mix in a paging request through the PCU socket for every Nth (ps_load_modulus) + * paging command that is issued via RSL. */ + integer ps_load_modulus, + /* Wait until the paging queue inside the BTS is congested before starting to add + * pagings via the PCU socket (0 = disabled) */ + boolean ps_wait_cong, + /* Maximum time to wait until the paging queue is drained at the end of the test. + * This usually takes about 15s (size: 200, ~ 13 per s -> 15s), it is recommended + * to set this value to 18s, however the draining process may take significantly + * longer when the queue contains paging requests for PS as those are implemented + * as immediate assignments and require an entire MAC block alone. */ + float queue_drain_timeout, boolean exp_load_ind, boolean exp_overload, boolean use_tmsi @@ -3560,20 +3572,34 @@ integer num_paging_sent, integer num_paging_rcv_msgs, integer num_paging_rcv_ids, - integer num_overload + integer num_overload, + /* When free space inside the paging queue reaches more than 2 thirds + * of its capacity cong_detected is set to true. */ + boolean cong_detected } /* Helper function for paging related testing */ private function f_TC_paging(PagingTestCfg cfg) runs on test_CT return PagingTestState { - f_init(); + /* Using the PCU socket affects the timing of the paging processing. We only + * activate the PCU socket if we do paging load tests that include additional + * paging load that is introduced through the PCU socket. */ + if (cfg.ps_load_modulus > 0) { + f_init_with_pcuif(); + } else { + f_init(); + } f_init_l1ctl(); f_l1_tune(L1CTL); + var octetstring imm_ass := f_rnd_octstring(23); + var ASP_RSL_Unitdata load_ind; + var PagingTestState st := { num_paging_sent := 0, num_paging_rcv_msgs := 0, num_paging_rcv_ids := 0, - num_overload := 0 + num_overload := 0, + cong_detected := false }; var float max_pch_blocks_per_sec := f_pch_block_rate_est(cfg.combined_ccch, cfg.bs_ag_blks_res); @@ -3604,8 +3630,18 @@ [not cfg.exp_overload] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND(0))) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Unexpected PCH Overload"); } - [cfg.exp_load_ind] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND)) { + [cfg.exp_load_ind] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND)) -> value load_ind { log("Rx LOAD_IND"); + + /* Detect paging congestion: The logic inside the BTS will diagnose the + * paging queue as congested when the fill state is more than 66% (which + * is two thirds fill state, or approx. 66 of 200 paging slots. When a + * paging congestion is detected pagings that are issued through the PCU + * socket (PS) are dropped in order to prefer the CS related pagings. */ + if (load_ind.rsl.ies[1].body.paging_load < 66) { + st.cong_detected := true; + } + /* FIXME: analyze/verify interval + contents */ repeat; } @@ -3614,6 +3650,8 @@ /* check if paging requests arrive on Um side */ [] as_l1_count_paging(st.num_paging_rcv_msgs, st.num_paging_rcv_ids, cfg); [] L1CTL.receive { repeat; } + /* Only relevant when testing including with PCU sock connected */ + [] PCU.receive { repeat; } [] T_itv.timeout { /* Send paging cmds based on elapsed time */ var integer new_sent := f_min(pkt_total, float2int(T_total.read * pch_blocks_per_sec) + 1); @@ -3630,6 +3668,13 @@ /* Send RSL PAGING COMMAND */ RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_PAGING_CMD(mi, st.num_paging_sent mod 4))); + /* Add additional pagings through the PCU socket interface. */ + if (cfg.ps_load_modulus > 0 and st.num_paging_sent mod cfg.ps_load_modulus == 0) { + if (st.cong_detected == true or cfg.ps_wait_cong == false) { + f_PCUIF_tx_imm_ass_pch(PCU, g_pcu_conn_id, imm_ass, '123459987'H, wait_for_cnf := false); + } + } + st.num_paging_sent := st.num_paging_sent + 1; } if (st.num_paging_sent < pkt_total) { @@ -3650,19 +3695,20 @@ } } - /* wait for max 18s for paging queue to drain (size: 200, ~ 13 per s -> 15s) */ - timer T_wait := 18.0; + timer T_wait := cfg.queue_drain_timeout T_wait.start; alt { [] as_l1_count_paging(st.num_paging_rcv_msgs, st.num_paging_rcv_ids, cfg); [] L1CTL.receive { repeat; } /* 65535 == empty paging queue, we can terminate*/ [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND(65535))) { } - [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND)) { repeat; } + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND)) -> value load_ind { repeat; } /* ignore other RSL messages like RF RESource INDication */ [] RSL_CCHAN.receive { repeat; } + /* Only relevant when testing including with PCU sock connected */ + [] PCU.receive { repeat; } [] T_wait.timeout { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Waiting for empty paging queue"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("Waiting for paging queue, last detected fill state: ", load_ind.rsl.ies[1].body.paging_load)); } } @@ -3681,6 +3727,9 @@ combined_ccch := true, bs_ag_blks_res := si3.payload.si3.ctrl_chan_desc.bs_ag_blks_res, load_factor := 0.8, + ps_load_modulus := 0, + ps_wait_cong := false, + queue_drain_timeout := 18.0, exp_load_ind := true, exp_overload := false, use_tmsi := false @@ -3705,6 +3754,9 @@ combined_ccch := true, bs_ag_blks_res := si3.payload.si3.ctrl_chan_desc.bs_ag_blks_res, load_factor := 0.8, + ps_load_modulus := 0, + ps_wait_cong := false, + queue_drain_timeout := 18.0, exp_load_ind := true, exp_overload := false, use_tmsi := true @@ -3729,6 +3781,9 @@ combined_ccch := true, bs_ag_blks_res := si3.payload.si3.ctrl_chan_desc.bs_ag_blks_res, load_factor := 2.0, + ps_load_modulus := 0, + ps_wait_cong := false, + queue_drain_timeout := 18.0, exp_load_ind := true, exp_overload := true, use_tmsi := false @@ -3755,6 +3810,9 @@ combined_ccch := true, bs_ag_blks_res := si3.payload.si3.ctrl_chan_desc.bs_ag_blks_res, load_factor := 2.0, + ps_load_modulus := 0, + ps_wait_cong := false, + queue_drain_timeout := 18.0, exp_load_ind := true, exp_overload := true, use_tmsi := true @@ -3771,6 +3829,38 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } +/* Same as above, but with additional paging load created by PS pagings that + * are issued through the PCU socket. The additional load is introduced when + * the paging queue is already two thirds full. Since the BTS implements a + * prioritization logic that drops the pagings from the PCU under in those + * congestive sitautions the behaviour on the PS side is expected to be + * unaffected and match the behavior of TC_paging_imsi_200percent() */ +testcase TC_paging_imsi_200percent_with_ps() runs on test_CT { + var SystemInformation si3 := valueof(ts_SI3_default); + var PagingTestCfg cfg := { + combined_ccch := true, + bs_ag_blks_res := si3.payload.si3.ctrl_chan_desc.bs_ag_blks_res, + load_factor := 2.0, + ps_load_modulus := 16, + ps_wait_cong := true, + queue_drain_timeout := 18.0, + exp_load_ind := true, + exp_overload := true, + use_tmsi := false + }; + var PagingTestState st := f_TC_paging(cfg); + /* We expect about 80-85% to pass, given that we can fill the paging buffer of 200 + * slots and will fully drain that buffer before returning */ + var template integer tpl := (st.num_paging_sent*78/100 .. st.num_paging_sent *85/100); + if (not match(st.num_paging_rcv_ids, tpl)) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("Expected ", tpl, " pagings but have ", st.num_paging_rcv_ids)); + } else { + setverdict(pass); + } + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + + /*********************************************************************** * Immediate Assignment / AGCH @@ -7502,6 +7592,7 @@ execute( TC_ipa_crcx_sdcch_not_active() ); if (mp_pcu_socket != "") { + execute( TC_paging_imsi_200percent_with_ps() ); execute( TC_pcu_act_req() ); execute( TC_pcu_act_req_wrong_ts() ); execute( TC_pcu_act_req_wrong_bts() ); diff --git a/library/PCUIF_CodecPort.ttcn b/library/PCUIF_CodecPort.ttcn index 4b2a8ce..f3e4810 100644 --- a/library/PCUIF_CodecPort.ttcn +++ b/library/PCUIF_CodecPort.ttcn @@ -139,7 +139,7 @@ } function f_PCUIF_tx_imm_ass_pch(PCUIF_CODEC_PT pt, integer conn_id, octetstring imm_ass, hexstring imsi, - uint8_t bts_nr := 0) return uint32_t { + uint8_t bts_nr := 0, boolean wait_for_cnf := true) return uint32_t { var PCUIF_send_data sd; timer T := 3.0; /* append 3 last imsi digits so BTS can compute pagng group */ @@ -151,6 +151,12 @@ } pt.send(t_SD_PCUIF(conn_id, ts_PCUIF_DATA_REQ(bts_nr, 0, 0, 0, 0, PCU_IF_SAPI_PCH, prefix & imm_ass))); + + /* Exit early when the caller is not interested in the confirmation message */ + if (wait_for_cnf == false) { + return 0; + } + T.start; alt { [] pt.receive(t_SD_PCUIF(conn_id, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24752 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie72e788d9ebff6ca4e50314746127a9689948062 Gerrit-Change-Number: 24752 Gerrit-PatchSet: 2 Gerrit-Owner: dexter 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 Mon Jun 28 10:09:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Jun 2021 10:09:32 +0000 Subject: Change in libosmocore[master]: cosmetic: gsm_12_21.h: Fix trailing whitespace References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24778 ) Change subject: cosmetic: gsm_12_21.h: Fix trailing whitespace ...................................................................... cosmetic: gsm_12_21.h: Fix trailing whitespace Change-Id: Ifdcdcfe30c41da233899101e1057bfca7d645a66 --- M include/osmocom/gsm/protocol/gsm_12_21.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/78/24778/1 diff --git a/include/osmocom/gsm/protocol/gsm_12_21.h b/include/osmocom/gsm/protocol/gsm_12_21.h index 34622b3..aa03281 100644 --- a/include/osmocom/gsm/protocol/gsm_12_21.h +++ b/include/osmocom/gsm/protocol/gsm_12_21.h @@ -462,7 +462,7 @@ NM_ATT_BS11_RF_RES_IND_PER = 0x8f, - + NM_ATT_BS11_RX_LEV_MIN_CELL = 0x90, NM_ATT_BS11_ABIS_EXT_TIME = 0x91, NM_ATT_BS11_TIMER_HO_REQUEST = 0x92, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24778 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifdcdcfe30c41da233899101e1057bfca7d645a66 Gerrit-Change-Number: 24778 Gerrit-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 Jun 28 10:12:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Jun 2021 10:12:29 +0000 Subject: Change in libosmocore[master]: cosmetic: gsm_12_21.h: Fix trailing whitespace In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/libosmocore/+/24778 ) Change subject: cosmetic: gsm_12_21.h: Fix trailing whitespace ...................................................................... cosmetic: gsm_12_21.h: Fix trailing whitespace Change-Id: Ifdcdcfe30c41da233899101e1057bfca7d645a66 --- M include/osmocom/gsm/protocol/gsm_12_21.h 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/78/24778/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24778 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifdcdcfe30c41da233899101e1057bfca7d645a66 Gerrit-Change-Number: 24778 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 Jun 28 11:10:03 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 28 Jun 2021 11:10:03 +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 1: (3 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24776/1/src/common/rsl.c File src/common/rsl.c: https://gerrit.osmocom.org/c/osmo-bts/+/24776/1/src/common/rsl.c at 2212 PS1, Line 2212: ts->bcch_power_red_db = 2; > Aren't you overwriting this value upon next loop iteration in "ts->bcch_power_red_db = 0;" (line 220 [?] Each loop iteration affects only one timeslot with index 'tn'. Here we just check if BCCH/CCCH follows (it can additionally be on TS2, TS4, and TS6) and limit the value to 2 dB if so. This is required by the specs. I'll add more references. https://gerrit.osmocom.org/c/osmo-bts/+/24776/1/src/common/rsl.c at 3604 PS1, Line 3604: /* Osmocom specific extension for BCCH carrier power reduction */ > Some reference to spec here or above in the function would be helpful, specially since this seem to [?] Ack https://gerrit.osmocom.org/c/osmo-bts/+/24776/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/24776/1/src/common/scheduler.c at 1322 PS1, Line 1322: br->att = 0; > why is this needed? To ensure no attenuation on active channels, because this feature is for IDLE channels. -- 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: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 28 Jun 2021 11:10:03 +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 Jun 28 11:34:38 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 28 Jun 2021 11:34:38 +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 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24777/1/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24777/1/src/osmo-bsc/bsc_vty.c at 6025 PS1, Line 6025: "bts <0-255> bcch-power-red <0-6>", > this is an interactive command, and not something part of the 'configure' node. [?] This is not a configuration command, and it is intentional to have it in the ENABLE_NODE. Similar to 'resend-power-control-defaults' and 'resend-system-information', this command does not affect the internal BSC's structures and simply triggers sending of an A-bis/RSL message to a BTS. I don't know why would we want to have it in the BTS_NODE? My initial idea was to implement a CTRL interface command for managing the BCCH carrier power reduction mode. This seemed to be logical, but then I would need to define both GET and SET commands. For that, I would need to store the actual 'bcch-power-red' somewhere and ensure that it holds a valid value even if the BTS restarts. So I gave up and decided to add a VTY command. -- 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: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 28 Jun 2021 11:34:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge 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 Jun 28 12:27:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Jun 2021 12:27:17 +0000 Subject: Change in docker-playground[master]: bts-oml: Set mp_pcu_socket References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/24779 ) Change subject: bts-oml: Set mp_pcu_socket ...................................................................... bts-oml: Set mp_pcu_socket Since recently (osmo-ttcn3-hacks.git I78880098a55d1cb456011746efa0a47832a86ca8), BTS_Tests_OML use mp_pcu_socket to set up PCUIF, which is used in some tests (like validating forwarding of PCUIF messages PCU<->BSC). Related: SYS#5303 Change-Id: Iac4aac8d98e2f45021858ddaa5e20ca4c6effb31 --- M ttcn3-bts-test/oml/BTS_Tests.cfg 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/79/24779/1 diff --git a/ttcn3-bts-test/oml/BTS_Tests.cfg b/ttcn3-bts-test/oml/BTS_Tests.cfg index c7215e1..ee2b4e0 100644 --- a/ttcn3-bts-test/oml/BTS_Tests.cfg +++ b/ttcn3-bts-test/oml/BTS_Tests.cfg @@ -18,6 +18,7 @@ BTS_Tests_OML.mp_oml_ip := "172.18.9.10" BTS_Tests_OML.mp_oml_port := 3002 +BTS_Tests_OML.mp_pcu_socket := "/data/unix/pcu_sock" [MAIN_CONTROLLER] -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24779 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iac4aac8d98e2f45021858ddaa5e20ca4c6effb31 Gerrit-Change-Number: 24779 Gerrit-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 Jun 28 14:10:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Jun 2021 14:10:59 +0000 Subject: Change in osmo-bsc[master]: lchan-select: Avoid setting variable for no reason References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24780 ) Change subject: lchan-select: Avoid setting variable for no reason ...................................................................... lchan-select: Avoid setting variable for no reason That variable is never used after being set. Furthermore, it is being set to the same value already stored, so there's no use in setting it and it creates confusion. Change-Id: Ib6ee28aa9a449992f5d3dea6df7dd2b7e30e73c9 --- M src/osmo-bsc/lchan_select.c 1 file changed, 3 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/80/24780/1 diff --git a/src/osmo-bsc/lchan_select.c b/src/osmo-bsc/lchan_select.c index 53c4358..a1f6c82 100644 --- a/src/osmo-bsc/lchan_select.c +++ b/src/osmo-bsc/lchan_select.c @@ -220,35 +220,24 @@ 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) { + if (!lchan) lchan = _lc_dyn_find_bts(bts, GSM_PCHAN_TCH_F_PDCH, GSM_PCHAN_TCH_F, log); - /* TCH/F_PDCH used as TCH/F -- here, type is already - * set to GSM_LCHAN_TCH_F, but for clarity's sake... */ - if (lchan) - type = GSM_LCHAN_TCH_F; - } /* Try fully dynamic TCH/F_TCH/H_PDCH as TCH/F... */ - if (!lchan && bts->network->dyn_ts_allow_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_TCH_F, log); - if (lchan) - type = GSM_LCHAN_TCH_F; - } 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) { + if (!lchan) lchan = _lc_dyn_find_bts(bts, GSM_PCHAN_TCH_F_TCH_H_PDCH, GSM_PCHAN_TCH_H, log); - if (lchan) - type = GSM_LCHAN_TCH_H; - } break; default: LOG_BTS(bts, DRLL, LOGL_ERROR, "Unknown gsm_chan_t %u\n", type); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24780 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib6ee28aa9a449992f5d3dea6df7dd2b7e30e73c9 Gerrit-Change-Number: 24780 Gerrit-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 Jun 28 14:22:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 28 Jun 2021 14:22:48 +0000 Subject: Change in osmo-bsc[master]: lchan-select: Avoid setting variable for no reason In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24780 ) Change subject: lchan-select: Avoid setting variable for no reason ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24780 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib6ee28aa9a449992f5d3dea6df7dd2b7e30e73c9 Gerrit-Change-Number: 24780 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 28 Jun 2021 14:22:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 14:23:01 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 28 Jun 2021 14:23:01 +0000 Subject: Change in libosmocore[master]: cosmetic: gsm_12_21.h: Fix trailing whitespace In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24778 ) Change subject: cosmetic: gsm_12_21.h: Fix trailing whitespace ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24778 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifdcdcfe30c41da233899101e1057bfca7d645a66 Gerrit-Change-Number: 24778 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 28 Jun 2021 14:23: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 Jun 28 14:25:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Jun 2021 14:25:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: cosmetic: bsc: Fix wrong dyn ts type mentioned in comment References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24781 ) Change subject: cosmetic: bsc: Fix wrong dyn ts type mentioned in comment ...................................................................... cosmetic: bsc: Fix wrong dyn ts type mentioned in comment Change-Id: I020c1ee909a12540774d665f914f1115870bea7e --- M bsc/BSC_Tests.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/81/24781/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index a4b2391..cf6eaf6 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -6667,7 +6667,7 @@ runs on test_CT { var RslChannelNr chan_nr := valueof(t_RslChanNr_PDCH(ts_nr)); var RSL_Message rsl_unused; - /* ask BSC via VTY to activate a given IPA style chan as PDCH */ + /* ask BSC via VTY to activate a given OSMO style chan as PDCH */ /* FIXME: no VTY command to activate Osmocom PDCH !! */ /* expect the BSC to issue the related RSL command */ rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT(chan_nr, ?)); @@ -6684,7 +6684,7 @@ runs on test_CT { var RslChannelNr chan_nr := valueof(t_RslChanNr_PDCH(ts_nr)); var RSL_Message rsl_unused; - /* ask BSC via VTY to activate a given IPA style chan as PDCH */ + /* ask BSC via VTY to activate a given OSMO style chan as PDCH */ /* FIXME: no VTY command to activate Osmocom PDCH !! */ /* expect the BSC to issue the related RSL command */ rsl_unused := f_exp_ipa_rx(0, tr_RSL_RF_CHAN_REL(chan_nr)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24781 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I020c1ee909a12540774d665f914f1115870bea7e Gerrit-Change-Number: 24781 Gerrit-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 Jun 28 14:27:36 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 28 Jun 2021 14:27:36 +0000 Subject: Change in docker-playground[master]: bts-oml: Set mp_pcu_socket In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24779 ) Change subject: bts-oml: Set mp_pcu_socket ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24779 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iac4aac8d98e2f45021858ddaa5e20ca4c6effb31 Gerrit-Change-Number: 24779 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 28 Jun 2021 14: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 Jun 28 14:58:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Jun 2021 14:58:21 +0000 Subject: Change in libosmocore[master]: cosmetic: gsm_12_21.h: Fix trailing whitespace In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24778 ) Change subject: cosmetic: gsm_12_21.h: Fix trailing whitespace ...................................................................... cosmetic: gsm_12_21.h: Fix trailing whitespace Change-Id: Ifdcdcfe30c41da233899101e1057bfca7d645a66 --- M include/osmocom/gsm/protocol/gsm_12_21.h 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/include/osmocom/gsm/protocol/gsm_12_21.h b/include/osmocom/gsm/protocol/gsm_12_21.h index 34622b3..6156ce9 100644 --- a/include/osmocom/gsm/protocol/gsm_12_21.h +++ b/include/osmocom/gsm/protocol/gsm_12_21.h @@ -445,7 +445,7 @@ NM_ATT_IPACC_NS_CFG = 0xa0, NM_ATT_IPACC_BSSGP_CFG = 0xa1, NM_ATT_IPACC_NS_LINK_CFG = 0xa2, - NM_ATT_IPACC_RLC_CFG = 0xa3, + NM_ATT_IPACC_RLC_CFG = 0xa3, NM_ATT_IPACC_ALM_THRESH_LIST = 0xa4, NM_ATT_IPACC_MONIT_VAL_LIST = 0xa5, NM_ATT_IPACC_TIB_CONTROL = 0xa6, @@ -462,7 +462,7 @@ NM_ATT_BS11_RF_RES_IND_PER = 0x8f, - + NM_ATT_BS11_RX_LEV_MIN_CELL = 0x90, NM_ATT_BS11_ABIS_EXT_TIME = 0x91, NM_ATT_BS11_TIMER_HO_REQUEST = 0x92, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24778 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifdcdcfe30c41da233899101e1057bfca7d645a66 Gerrit-Change-Number: 24778 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 15:00:50 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 28 Jun 2021 15:00:50 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses 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-bts/+/24513 to look at the new patch set (#4). 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/bts.h M src/common/abis.c M src/common/bts.c M src/common/main.c M src/common/vty.c 5 files changed, 256 insertions(+), 67 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/13/24513/4 -- 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: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 15:02:10 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 28 Jun 2021 15:02:10 +0000 Subject: Change in libosmo-abis[master]: ipa: add optional connect timeout to ipa_client_conn_open In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24514 ) Change subject: ipa: add optional connect timeout to ipa_client_conn_open ...................................................................... Abandoned I have found a better solution -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I7bc4345876e3c20266985270d0ddfa770437a053 Gerrit-Change-Number: 24514 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 15:02:32 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 28 Jun 2021 15:02:32 +0000 Subject: Change in libosmocore[master]: socket: add function to wait until a socket becomes writeable In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24435 ) Change subject: socket: add function to wait until a socket becomes writeable ...................................................................... Abandoned I have found a better solution -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1c68185120fa2a6c9b6cb8aa2a25232a44ff5508 Gerrit-Change-Number: 24435 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 15:14:47 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 28 Jun 2021 15:14:47 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses 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-bts/+/24513 to look at the new patch set (#5). 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/bts.h M src/common/abis.c M src/common/bts.c M src/common/main.c M src/common/vty.c 5 files changed, 256 insertions(+), 67 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/13/24513/5 -- 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: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 15:24:02 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 28 Jun 2021 15:24:02 +0000 Subject: Change in osmo-bts[master]: Revert "power_control: BS power shall not be reduced on C0" References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24782 ) Change subject: Revert "power_control: BS power shall not be reduced on C0" ...................................................................... Revert "power_control: BS power shall not be reduced on C0" This reverts commit cd30a40be15267c7257b733da4e9ffdf17f0614d. As a part of SYS#4919 "BTS energy saving", we want to support constrained (up to 6 dB) BS power control on BCCH carriers. Change-Id: I0d2b48c4b2af2d8e94f4ad02fa4774dbd0a0a654 Related: SYS#4919 --- M src/common/l1sap.c 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/82/24782/1 diff --git a/src/common/l1sap.c b/src/common/l1sap.c index c4f258a..c028a2c 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1629,8 +1629,7 @@ lchan->meas.flags |= LC_UL_M_F_L1_VALID; lchan_ms_pwr_ctrl(lchan, data[0] & 0x1f, data_ind->rssi); - if (trx->bts->c0 != trx) /* BS Power Control shall not be used on C0 */ - lchan_bs_pwr_ctrl(lchan, (const struct gsm48_hdr *) &data[5]); + lchan_bs_pwr_ctrl(lchan, (const struct gsm48_hdr *) &data[5]); } else le = &lchan->lapdm_ch.lapdm_dcch; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24782 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0d2b48c4b2af2d8e94f4ad02fa4774dbd0a0a654 Gerrit-Change-Number: 24782 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 Jun 28 15:24:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 28 Jun 2021 15:24:26 +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 2: This change is ready for review. -- 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: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 28 Jun 2021 15:24:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 15:25:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 15:25:33 +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 5: (4 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c File src/common/abis.c: https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 65 PS5, Line 65: W from these names it's not entirely clear to me what the states represent. "CONN" is probably actively connected. "DOWN" or "FAIL" sound a bit confusing and I would think that at least one of them sounds more like an event than a state? I'll see below if I can find out... https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 206 PS5, Line 206: . some strange space-based indenting here, at least it looks like that in gerrit https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 207 PS5, Line 207: .in_event_mask = 0 | S(ABIS_LINK_EV_SIGN_LINK_DOWN) please drop the "0 |". It doesn't add any functionality (the default behavior is the same), and I have not seen this anywhere else in our code. https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 216 PS5, Line 216: .in_event_mask = 0, how does this work? A FSM state "DOWN" which does not permit any input events, but which has multiple exit states? -- 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: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 28 Jun 2021 15:25: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 Mon Jun 28 15:35:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Jun 2021 15:35:30 +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 5: (14 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c File src/common/abis.c: https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 66 PS5, Line 66: ABIS_LINK_ST_CONN, CONN means CONNECTED here? CONNECTING? Most probably needs to be changed to some of those, it's not clear at first sight. https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 67 PS5, Line 67: ABIS_LINK_ST_FAIL, state is FAILED right? FAIL it's more like an event or action. https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 87 PS5, Line 87: static void abis_link_conn_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) we usually don't use "_action" suffix, only the name. Changing state name to something more meaningful may help here. https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 144 PS5, Line 144: /* In some implementations the user may specify a BSC host via commandline switch. If this is the case (doesn't look clear to me to take cmdline related specialties here, but OK) https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 148 PS5, Line 148: } else if ((struct llist_head *)priv->bsc_oml_host != (struct llist_head *)&bts->bsc_oml_hosts.next) { llist_first(&bts->bsc_oml_hosts)? Or do you actually mean the end of the list? isn't that "previous"? https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 149 PS5, Line 149: /* Get a BSC host from the list and move the list heade one position forward. */ type: header https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 153 PS5, Line 153: } else { maybe moving this early termiantion above (if condition) would help making the function a bit less complex https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 163 PS5, Line 163: osmo_get_macaddr(bts_dev_info.mac_addr, "eth0"); what is this? hardcoded eth0? this looks wrong https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 172 PS5, Line 172: if (line) { drop {} https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 176 PS5, Line 176: priv->line_ctr++; not sure what this is about https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 206 PS5, Line 206: .name = "CONN", CONNECTING https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 207 PS5, Line 207: .in_event_mask = 0 | S(ABIS_LINK_EV_SIGN_LINK_DOWN) this 0| can be dropped https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/main.c File src/common/main.c: https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/main.c at 399 PS5, Line 399: if (llist_count(&g_bts->bsc_oml_hosts) == 0) { what about the cmdline oml ip I saw in the fsm which was outisde the llist? https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/vty.c at 536 PS5, Line 536: { iirc you are maintaining a pointer to the currently "connecting" remote ip. If you remove it through this VTY cmd, when the conn fails it will try to access the already freed pointer. -- 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: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 28 Jun 2021 15:35:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 15:35:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Jun 2021 15:35:52 +0000 Subject: Change in osmo-bts[master]: Revert "power_control: BS power shall not be reduced on C0" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24782 ) Change subject: Revert "power_control: BS power shall not be reduced on C0" ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24782 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0d2b48c4b2af2d8e94f4ad02fa4774dbd0a0a654 Gerrit-Change-Number: 24782 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 28 Jun 2021 15:35: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 Jun 28 15:39:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Jun 2021 15:39:04 +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 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24776/1/src/common/rsl.c File src/common/rsl.c: https://gerrit.osmocom.org/c/osmo-bts/+/24776/1/src/common/rsl.c at 2212 PS1, Line 2212: ts->bcch_power_red_db = 2; > Each loop iteration affects only one timeslot with index 'tn'. [?] Ah I see now you are not changing "next", but "ts" in line 2212. -- 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: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 28 Jun 2021 15:39:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 15:39:49 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 28 Jun 2021 15:39:49 +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 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24776/1/src/common/rsl.c File src/common/rsl.c: https://gerrit.osmocom.org/c/osmo-bts/+/24776/1/src/common/rsl.c at 2212 PS1, Line 2212: ts->bcch_power_red_db = 2; > Ah I see now you are not changing "next", but "ts" in line 2212. Yes, and this is why 'next' is const. -- 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: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 28 Jun 2021 15:39:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 15:50:47 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 28 Jun 2021 15:50:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: cosmetic: bsc: Fix wrong dyn ts type mentioned in comment In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24781 ) Change subject: cosmetic: bsc: Fix wrong dyn ts type mentioned in comment ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24781 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I020c1ee909a12540774d665f914f1115870bea7e Gerrit-Change-Number: 24781 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 28 Jun 2021 15:50: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 Jun 28 16:06:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Jun 2021 16:06:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: cosmetic: bsc: Fix wrong dyn ts type mentioned in comment In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24781 ) Change subject: cosmetic: bsc: Fix wrong dyn ts type mentioned in comment ...................................................................... cosmetic: bsc: Fix wrong dyn ts type mentioned in comment Change-Id: I020c1ee909a12540774d665f914f1115870bea7e --- M bsc/BSC_Tests.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index a4b2391..cf6eaf6 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -6667,7 +6667,7 @@ runs on test_CT { var RslChannelNr chan_nr := valueof(t_RslChanNr_PDCH(ts_nr)); var RSL_Message rsl_unused; - /* ask BSC via VTY to activate a given IPA style chan as PDCH */ + /* ask BSC via VTY to activate a given OSMO style chan as PDCH */ /* FIXME: no VTY command to activate Osmocom PDCH !! */ /* expect the BSC to issue the related RSL command */ rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT(chan_nr, ?)); @@ -6684,7 +6684,7 @@ runs on test_CT { var RslChannelNr chan_nr := valueof(t_RslChanNr_PDCH(ts_nr)); var RSL_Message rsl_unused; - /* ask BSC via VTY to activate a given IPA style chan as PDCH */ + /* ask BSC via VTY to activate a given OSMO style chan as PDCH */ /* FIXME: no VTY command to activate Osmocom PDCH !! */ /* expect the BSC to issue the related RSL command */ rsl_unused := f_exp_ipa_rx(0, tr_RSL_RF_CHAN_REL(chan_nr)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24781 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I020c1ee909a12540774d665f914f1115870bea7e Gerrit-Change-Number: 24781 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 16:07:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Jun 2021 16:07:16 +0000 Subject: Change in docker-playground[master]: bts-oml: Set mp_pcu_socket In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24779 ) Change subject: bts-oml: Set mp_pcu_socket ...................................................................... Patch Set 1: This should be merged today to have the newly added test which was merged today to pass fine in jenkins. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24779 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iac4aac8d98e2f45021858ddaa5e20ca4c6effb31 Gerrit-Change-Number: 24779 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Jun 2021 16:07:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 17:58:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Jun 2021 17:58:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Introduce test TC_dyn_ts_sdcch8_act_deact References: Message-ID: pespin has uploaded this change for review. ( 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(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/83/24783/1 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: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 17:58:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Jun 2021 17:58:23 +0000 Subject: Change in libosmocore[master]: Rename osmo dyn ts enums to contain SDCCH8 References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24784 ) 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 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(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/84/24784/1 diff --git a/include/osmocom/gsm/gsm_utils.h b/include/osmocom/gsm/gsm_utils.h index 0909006..3a4e5ed 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH, _GSM_PCHAN_MAX }; +/* Backward compatibility with older naming: */ +#define GSM_PCHAN_TCH_F_TCH_H_PDCH GSM_PCHAN_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH /* 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..df7d2f7 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_TCHFull_TCHHalf_SDCCH_PDCH = 0x90, }; +/* Backward compatibility with older naming: */ +#define NM_CHANC_OSMO_TCHFull_TCHHalf_PDCH NM_CHANC_OSMO_TCHFull_TCHHalf_SDCCH_PDCH /*! 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..236c8cc 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH] = NM_CHANC_OSMO_TCHFull_TCHHalf_SDCCH_PDCH, /* 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: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 28 21:03:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 21:03:47 +0000 Subject: Change in docker-playground[master]: bts-oml: Set mp_pcu_socket In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24779 ) Change subject: bts-oml: Set mp_pcu_socket ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24779 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iac4aac8d98e2f45021858ddaa5e20ca4c6effb31 Gerrit-Change-Number: 24779 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Jun 2021 21:03: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 Jun 28 21:03:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 21:03:49 +0000 Subject: Change in docker-playground[master]: bts-oml: Set mp_pcu_socket In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24779 ) Change subject: bts-oml: Set mp_pcu_socket ...................................................................... bts-oml: Set mp_pcu_socket Since recently (osmo-ttcn3-hacks.git I78880098a55d1cb456011746efa0a47832a86ca8), BTS_Tests_OML use mp_pcu_socket to set up PCUIF, which is used in some tests (like validating forwarding of PCUIF messages PCU<->BSC). Related: SYS#5303 Change-Id: Iac4aac8d98e2f45021858ddaa5e20ca4c6effb31 --- M ttcn3-bts-test/oml/BTS_Tests.cfg 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved; Verified diff --git a/ttcn3-bts-test/oml/BTS_Tests.cfg b/ttcn3-bts-test/oml/BTS_Tests.cfg index c7215e1..ee2b4e0 100644 --- a/ttcn3-bts-test/oml/BTS_Tests.cfg +++ b/ttcn3-bts-test/oml/BTS_Tests.cfg @@ -18,6 +18,7 @@ BTS_Tests_OML.mp_oml_ip := "172.18.9.10" BTS_Tests_OML.mp_oml_port := 3002 +BTS_Tests_OML.mp_pcu_socket := "/data/unix/pcu_sock" [MAIN_CONTROLLER] -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24779 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iac4aac8d98e2f45021858ddaa5e20ca4c6effb31 Gerrit-Change-Number: 24779 Gerrit-PatchSet: 1 Gerrit-Owner: pespin 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 Jun 28 21:04:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Jun 2021 21:04:38 +0000 Subject: Change in libosmocore[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/libosmocore/+/24784 ) Change subject: Rename osmo dyn ts enums to contain SDCCH8 ...................................................................... Patch Set 1: is this safe? what about a BSC that thinks SDCCH8 is within that type of dynamic channel, while the BTS version is older and only supports TCH + PDCH? -- 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: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 28 Jun 2021 21:04:38 +0000 Gerrit-HasComments: 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 Jun 28 22:57:28 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 28 Jun 2021 22:57:28 +0000 Subject: Change in osmo-ccid-firmware[master]: cuart: reset on poweroff References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/24787 ) Change subject: cuart: reset on poweroff ...................................................................... cuart: reset on poweroff Those settings (ccid setparameters, and internal uart driving) shiuld be reset upon powering off. Change-Id: I20bb650d731d54f743d7031fe67916239233ecd3 --- M sysmoOCTSIM/cuart_driver_asf4_usart_async.c 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/87/24787/1 diff --git a/sysmoOCTSIM/cuart_driver_asf4_usart_async.c b/sysmoOCTSIM/cuart_driver_asf4_usart_async.c index 42c2110..7822c1b 100644 --- a/sysmoOCTSIM/cuart_driver_asf4_usart_async.c +++ b/sysmoOCTSIM/cuart_driver_asf4_usart_async.c @@ -481,6 +481,12 @@ 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/+/24787 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: I20bb650d731d54f743d7031fe67916239233ecd3 Gerrit-Change-Number: 24787 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 Mon Jun 28 23:10:55 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 28 Jun 2021 23:10:55 +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 (#3). 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 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 7 files changed, 157 insertions(+), 27 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/46/24646/3 -- 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: 3 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 Tue Jun 29 09:03:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 09:03:07 +0000 Subject: Change in libosmocore[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/libosmocore/+/24784 ) Change subject: Rename osmo dyn ts enums to contain SDCCH8 ...................................................................... Patch Set 1: > Patch Set 1: > > is this safe? what about a BSC that thinks SDCCH8 is within that type of dynamic channel, while the BTS version is older and only supports TCH + PDCH? I first through about adding anew BTS_FEATURE to signal "SDCCH8 support in osmo dyn ts". BUt anyway, even if there's no such feature, in that case I'd expect Chan Activation to fail and hence the TS to return to PDCH, so not a big problem. I can write a test to verify that situation. -- 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: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 29 Jun 2021 09:03: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 Jun 29 09:14:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 29 Jun 2021 09:14:50 +0000 Subject: Change in libosmocore[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/libosmocore/+/24784 ) Change subject: Rename osmo dyn ts enums to contain SDCCH8 ...................................................................... Patch Set 1: > Patch Set 1: > > > Patch Set 1: > > > > is this safe? what about a BSC that thinks SDCCH8 is within that type of dynamic channel, while the BTS version is older and only supports TCH + PDCH? > > I first through about adding anew BTS_FEATURE to signal "SDCCH8 support in osmo dyn ts". BUt anyway, even if there's no such feature, in that case I'd expect Chan Activation to fail and hence the TS to return to PDCH, so not a big problem. I can write a test to verify that situation. I'd think the feature is a cleaner approach, rathe than trying something and see if/how it fails. We'd also have to test various old versions of osmo-bts-* if they all properly behave in that failure path, ... -- 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: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 29 Jun 2021 09:14: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 Tue Jun 29 10:06:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 10:06:07 +0000 Subject: Change in libosmocore[master]: bts_feature: Introduce feature to confiure dyn ts as sdcch8 References: Message-ID: pespin has uploaded this change for review. ( 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, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/88/24788/1 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..a6d5766 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 } }; -- 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: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 10:11:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 10:11:28 +0000 Subject: Change in libosmocore[master]: bts_feature: Introduce feature to confiure dyn ts as sdcch8 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/+/24788 to look at the new patch set (#2). 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(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/88/24788/2 -- 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: 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 Jun 29 10:13:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 10:13:11 +0000 Subject: Change in osmo-bts[master]: doc: rsl.adoc: Fix trailing whitespace References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24789 ) Change subject: doc: rsl.adoc: Fix trailing whitespace ...................................................................... doc: rsl.adoc: Fix trailing whitespace Change-Id: Ibc93a87ad51c77fff08ecc54dcc01784756fb39f --- M doc/manuals/abis/rsl.adoc 1 file changed, 17 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/89/24789/1 diff --git a/doc/manuals/abis/rsl.adoc b/doc/manuals/abis/rsl.adoc index b973cf5..1205a44 100644 --- a/doc/manuals/abis/rsl.adoc +++ b/doc/manuals/abis/rsl.adoc @@ -488,7 +488,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -508,7 +508,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -528,7 +528,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -547,7 +547,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -568,7 +568,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -589,7 +589,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -606,7 +606,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -625,7 +625,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -643,7 +643,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -662,7 +662,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -679,7 +679,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -696,7 +696,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -714,7 +714,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -732,7 +732,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -749,7 +749,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -766,7 +766,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -844,7 +844,7 @@ | 0x01 | RSL_IE_CHAN_NR | <> | 0x60 | RSL_IE_OSMO_REP_ACCH_CAP | <> | 0x61 | RSL_IE_OSMO_TRAINING_SEQUENCE | <> -| 0xf0 | RSL_IE_IPAC_REMOTE_IP | <> +| 0xf0 | RSL_IE_IPAC_REMOTE_IP | <> | 0xf1 | RSL_IE_IPAC_REMOTE_PORT | <> | 0xf3 | RSL_IE_IPAC_LOCAL_PORT | <> | 0xf4 | RSL_IE_IPAC_SPEECH_MODE | <> @@ -1089,4 +1089,3 @@ illustrated by the differences of <> and <>. Since the secondary TRX has no BCCH, it does not (need to) receive any 'RSL BCCH INFORMATION' messages from the BSC. - -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24789 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ibc93a87ad51c77fff08ecc54dcc01784756fb39f Gerrit-Change-Number: 24789 Gerrit-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 Jun 29 10:28:59 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 10:28:59 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/24790 ) Change subject: ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg ...................................................................... ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg Conditionally exclude it for non-master versions of the IUT. Change-Id: I59f81c2dd72ddc2d292f8f34281fa79289d49c6d Related: SYS#5324 --- 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, 14 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/90/24790/1 diff --git a/ttcn3-bsc-test/jenkins-sccplite.sh b/ttcn3-bsc-test/jenkins-sccplite.sh index bc6eaa0..2abd7be 100755 --- a/ttcn3-bsc-test/jenkins-sccplite.sh +++ b/ttcn3-bsc-test/jenkins-sccplite.sh @@ -19,6 +19,12 @@ 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" == +(master|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 18236a2..d440f5f 100755 --- a/ttcn3-bsc-test/jenkins.sh +++ b/ttcn3-bsc-test/jenkins.sh @@ -22,6 +22,12 @@ mkdir $VOL_BASE_DIR/bts-omldummy +# Exclude A5/4 for non-master versions of the IUT +if ! [[ "$IMAGE_SUFFIX" == +(master|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 2044346..244e205 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 + encryption a5 0 1 3 4 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 564ebce..0618e44 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 + encryption a5 0 1 3 4 neci 1 paging any use tch 0 handover 1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24790 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I59f81c2dd72ddc2d292f8f34281fa79289d49c6d Gerrit-Change-Number: 24790 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 Jun 29 10:43:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 10:43:41 +0000 Subject: Change in osmo-bsc[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-bsc/+/24786 ) Change subject: Support SDCCH8 in osmo dyn ts ...................................................................... Patch Set 2: This change is ready for review. -- 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: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 29 Jun 2021 10:43:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 11:20:42 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 11:20:42 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/docker-playground/+/24790 ) Change subject: ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg ...................................................................... ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg Conditionally exclude it for non-master versions of the IUT. Change-Id: I59f81c2dd72ddc2d292f8f34281fa79289d49c6d Related: SYS#5324 --- 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, 14 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/90/24790/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24790 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I59f81c2dd72ddc2d292f8f34281fa79289d49c6d Gerrit-Change-Number: 24790 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 11:20:43 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 11:20:43 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: add image_suffix_is_master() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/24791 ) Change subject: jenkins-common.sh: add image_suffix_is_master() ...................................................................... jenkins-common.sh: add image_suffix_is_master() Since recently, we also have a new IMAGE_SUFFIX '2021q1-centos8'. We cannot rely on image_suffix_is_latest() anymore, because this prefix does not qualify as 'latest'. If one needs to enable a feature that is only available in master, then here is a way: if ! image_suffix_is_master; then # Patch the configuration files fi Change-Id: I65df66cd2e14934bed8114618d6ffad7831d1025 --- M jenkins-common.sh 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/91/24791/1 diff --git a/jenkins-common.sh b/jenkins-common.sh index 36f7e9c..2cf5c50 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -343,6 +343,14 @@ esac } +# Check if IMAGE_SUFFIX starts with "master" (e.g. "master-centos8") +image_suffix_is_master() { + case "$IMAGE_SUFFIX" in + master*) return 0 ;; + *) return 1 ;; + esac +} + set -x # non-jenkins execution: assume local user name -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24791 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I65df66cd2e14934bed8114618d6ffad7831d1025 Gerrit-Change-Number: 24791 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 Jun 29 12:13:11 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 29 Jun 2021 12:13:11 +0000 Subject: Change in libosmocore[master]: ns2: Ignore NSVC with data_weight 0 for data References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24792 ) Change subject: ns2: Ignore NSVC with data_weight 0 for data ...................................................................... ns2: Ignore NSVC with data_weight 0 for data Change-Id: If0c2bee285f85110771326e07b513fc3e3f9d3f0 Fixes: OS#5189 --- M src/gb/gprs_ns2.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/92/24792/1 diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 3bf31a3..720e836 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -414,6 +414,8 @@ mod = (bvci + load_selector) % nse->sum_data_weight; llist_for_each_entry(tmp, &nse->nsvc, list) { + if (tmp->data_weight == 0) + continue; if (!ns2_vc_is_unblocked(tmp)) continue; if (i == mod || mod < i + tmp->data_weight) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24792 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If0c2bee285f85110771326e07b513fc3e3f9d3f0 Gerrit-Change-Number: 24792 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 Jun 29 12:52:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 12:52:06 +0000 Subject: Change in libosmocore[master]: ns2: Ignore NSVC with data_weight 0 for data In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24792 ) Change subject: ns2: Ignore NSVC with data_weight 0 for data ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24792 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If0c2bee285f85110771326e07b513fc3e3f9d3f0 Gerrit-Change-Number: 24792 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Jun 2021 12:52: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 Jun 29 13:10:41 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 13:10:41 +0000 Subject: Change in osmo-bsc[master]: gsm_data.h: remove declaration of non-existing ts_pchan() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24793 ) Change subject: gsm_data.h: remove declaration of non-existing ts_pchan() ...................................................................... gsm_data.h: remove declaration of non-existing ts_pchan() Change-Id: I2471d0f2825661e60539d9504632fc80145c603d --- M include/osmocom/bsc/gsm_data.h 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/93/24793/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index c5d2b86..569e288 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1065,7 +1065,6 @@ uint8_t gsm_ts_tsc(const struct gsm_bts_trx_ts *ts); -enum gsm_phys_chan_config ts_pchan(struct gsm_bts_trx_ts *ts); uint8_t pchan_subslots(enum gsm_phys_chan_config pchan); uint8_t pchan_subslots_vamos(enum gsm_phys_chan_config pchan); bool ts_is_tch(struct gsm_bts_trx_ts *ts); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24793 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2471d0f2825661e60539d9504632fc80145c603d Gerrit-Change-Number: 24793 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 Jun 29 13:35:56 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Jun 2021 13:35:56 +0000 Subject: Change in osmo-bsc[master]: hodec2: add test case showing low rxlev tch/h<->tch/f oscillation References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24794 ) Change subject: hodec2: add test case showing low rxlev tch/h<->tch/f oscillation ...................................................................... hodec2: add test case showing low rxlev tch/h<->tch/f oscillation Related: SYS#5365 Change-Id: Iee2d4b9eaf902ba7fb546a9bb261324b2f7d1fc7 --- M tests/handover/handover_tests.ok A tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty 2 files changed, 30 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/94/24794/1 diff --git a/tests/handover/handover_tests.ok b/tests/handover/handover_tests.ok index d0ce163..7de70e1 100644 --- a/tests/handover/handover_tests.ok +++ b/tests/handover/handover_tests.ok @@ -9,6 +9,7 @@ pass test_amr_tch_h_to_f_congestion_two_cells.ho_vty pass test_amr_tch_h_to_f_rxlev.ho_vty pass test_amr_tch_h_to_f_rxlev_congested.ho_vty +pass test_amr_tch_h_to_f_rxlev_oscillation.ho_vty pass test_amr_tch_h_to_f_rxqual.ho_vty pass test_amr_tch_h_to_f_rxqual_congested.ho_vty pass test_balance_congestion.ho_vty diff --git a/tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty b/tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty new file mode 100644 index 0000000..076076b --- /dev/null +++ b/tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty @@ -0,0 +1,29 @@ +# Low RxLev causes upgrade of TCH/H to TCH/F. +# That leads to congestion of TCH/F, but do not handover back to non-congested TCH/H. + +network + handover2 afs-bias rxlev 0 + handover2 min rxlev -80 + handover2 window rxlev averaging 1 + handover2 min-free-slots tch/f 3 + handover2 min-free-slots tch/h 4 + +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/H- - - * +meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 +# average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev +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 lchan 0 0 1 0 rxlev 23 rxqual 1 ta 0 +congestion-check +# FAIL: should stay on TCH/F because rxlev is low, do not oscillate between TCH/F and /H. +expect-as from lchan 0 0 1 0 to lchan 0 0 4 0 +expect-ts-use trx 0 0 states * - - - TCH/H- - - * +meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 +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 lchan 0 0 1 0 rxlev 23 rxqual 1 ta 0 +congestion-check +expect-as from lchan 0 0 1 0 to lchan 0 0 4 0 +expect-ts-use trx 0 0 states * - - - TCH/H- - - * -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24794 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iee2d4b9eaf902ba7fb546a9bb261324b2f7d1fc7 Gerrit-Change-Number: 24794 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 Jun 29 13:35:58 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Jun 2021 13:35:58 +0000 Subject: Change in osmo-bsc[master]: hodec2: fix low rxlev tch/h<->tch/f oscillation References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24795 ) Change subject: hodec2: fix low rxlev tch/h<->tch/f oscillation ...................................................................... hodec2: fix low rxlev tch/h<->tch/f oscillation Related: SYS#5365 Change-Id: Ibc3ac7ce6190b4e854fa42d5376a7038ddfbd6e5 --- M src/osmo-bsc/handover_decision_2.c M tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty 2 files changed, 9 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/95/24795/1 diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index d4ebc41..4fa41fb 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -1169,6 +1169,7 @@ bool assignment; bool handover; int neighbors_count = 0; + bool tch_f_with_low_rxlev; OSMO_ASSERT(candidates); @@ -1186,8 +1187,14 @@ assignment = ho_get_hodec2_as_active(bts->ho); handover = ho_get_ho_active(bts->ho); + tch_f_with_low_rxlev = (lchan->type == GSM_LCHAN_TCH_F + && rxlev_current >= 0 + && rxlev2dbm(rxlev_current) < ho_get_hodec2_min_rxlev(bts->ho)); - if (assignment) + /* See if re-assignment within the same cell can resolve congestion. + * But: when TCH/F has low rxlev, do not re-assign. If a low rxlev TCH/F were re-assigned to TCH/H, we would + * subsequently oscillate back to TCH/F due to low rxlev. So skip TCH/F with low rxlev. */ + if (assignment && !tch_f_with_low_rxlev) collect_assignment_candidate(lchan, clist, candidates, rxlev_current); if (handover) { diff --git a/tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty b/tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty index 076076b..2ef927d 100644 --- a/tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty +++ b/tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty @@ -17,13 +17,4 @@ meas-rep lchan 0 0 1 0 rxlev 23 rxqual 1 ta 0 congestion-check -# FAIL: should stay on TCH/F because rxlev is low, do not oscillate between TCH/F and /H. -expect-as from lchan 0 0 1 0 to lchan 0 0 4 0 -expect-ts-use trx 0 0 states * - - - TCH/H- - - * -meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 -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 lchan 0 0 1 0 rxlev 23 rxqual 1 ta 0 -congestion-check -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 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24795 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibc3ac7ce6190b4e854fa42d5376a7038ddfbd6e5 Gerrit-Change-Number: 24795 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 Jun 29 13:39:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 13:39:32 +0000 Subject: Change in osmo-bsc[master]: hodec2: add test case showing low rxlev tch/h<->tch/f oscillation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24794 ) Change subject: hodec2: add test case showing low rxlev tch/h<->tch/f oscillation ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24794 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iee2d4b9eaf902ba7fb546a9bb261324b2f7d1fc7 Gerrit-Change-Number: 24794 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 29 Jun 2021 13:39: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 Jun 29 13:40:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 13:40:17 +0000 Subject: Change in osmo-bsc[master]: hodec2: fix low rxlev tch/h<->tch/f oscillation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24795 ) Change subject: hodec2: fix low rxlev tch/h<->tch/f oscillation ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24795 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibc3ac7ce6190b4e854fa42d5376a7038ddfbd6e5 Gerrit-Change-Number: 24795 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 29 Jun 2021 13:40: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 Jun 29 13:53:13 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Jun 2021 13:53:13 +0000 Subject: Change in osmo-bsc[master]: hodec2: add test case showing low rxqual tch/h<->tch/f oscillation References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24796 ) Change subject: hodec2: add test case showing low rxqual tch/h<->tch/f oscillation ...................................................................... hodec2: add test case showing low rxqual tch/h<->tch/f oscillation Related: SYS#5198 Change-Id: I43726c5563c9c31389600ef0ff6855add5af3a03 --- A tests/handover/test_amr_tch_h_to_f_rxqual_oscillation.ho_vty 1 file changed, 29 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/96/24796/1 diff --git a/tests/handover/test_amr_tch_h_to_f_rxqual_oscillation.ho_vty b/tests/handover/test_amr_tch_h_to_f_rxqual_oscillation.ho_vty new file mode 100644 index 0000000..a98e917 --- /dev/null +++ b/tests/handover/test_amr_tch_h_to_f_rxqual_oscillation.ho_vty @@ -0,0 +1,29 @@ +# Low RxQual causes upgrade of TCH/H to TCH/F. +# That leads to congestion of TCH/F, but do not handover back to non-congested TCH/H. + +network + handover2 afs-bias rxlev 0 + handover2 min rxqual 5 + handover2 window rxqual averaging 1 + handover2 min-free-slots tch/f 3 + handover2 min-free-slots tch/h 4 + +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/H- - - * +meas-rep lchan 0 0 4 0 rxlev 30 rxqual 6 ta 0 +# average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev +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 lchan 0 0 1 0 rxlev 30 rxqual 6 ta 0 +congestion-check +# FAIL: should stay on TCH/F because rxqual is low, do not oscillate between TCH/F and /H. +expect-as from lchan 0 0 1 0 to lchan 0 0 4 0 +expect-ts-use trx 0 0 states * - - - TCH/H- - - * +meas-rep lchan 0 0 4 0 rxlev 30 rxqual 6 ta 0 +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 lchan 0 0 1 0 rxlev 30 rxqual 6 ta 0 +congestion-check +expect-as from lchan 0 0 1 0 to lchan 0 0 4 0 +expect-ts-use trx 0 0 states * - - - TCH/H- - - * -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I43726c5563c9c31389600ef0ff6855add5af3a03 Gerrit-Change-Number: 24796 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 Jun 29 13:53:13 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Jun 2021 13:53:13 +0000 Subject: Change in osmo-bsc[master]: hodec2: fix low rxqual tch/h<->tch/f oscillation References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24797 ) Change subject: hodec2: fix low rxqual tch/h<->tch/f oscillation ...................................................................... hodec2: fix low rxqual tch/h<->tch/f oscillation Related: SYS#5198 Change-Id: I96cd5a494e661ba3bb0b6d22d25a9968d2a6813c --- M src/osmo-bsc/handover_decision_2.c M tests/handover/handover_tests.ok M tests/handover/test_amr_tch_h_to_f_rxqual_oscillation.ho_vty 3 files changed, 15 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/97/24797/1 diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 4fa41fb..1fa3c2a 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -1170,6 +1170,7 @@ bool handover; int neighbors_count = 0; bool tch_f_with_low_rxlev; + bool tch_f_with_low_rxqual; OSMO_ASSERT(candidates); @@ -1190,11 +1191,20 @@ tch_f_with_low_rxlev = (lchan->type == GSM_LCHAN_TCH_F && rxlev_current >= 0 && rxlev2dbm(rxlev_current) < ho_get_hodec2_min_rxlev(bts->ho)); + tch_f_with_low_rxqual = false; + if (lchan->type == GSM_LCHAN_TCH_F) { + int av_rxqual = get_meas_rep_avg(lchan, + ho_get_hodec2_full_tdma(bts->ho) ? + MEAS_REP_DL_RXQUAL_FULL : MEAS_REP_DL_RXQUAL_SUB, + ho_get_hodec2_rxqual_avg_win(bts->ho)); + if (av_rxqual >= 0 && av_rxqual > ho_get_hodec2_min_rxqual(bts->ho)) + tch_f_with_low_rxqual = true; + } /* See if re-assignment within the same cell can resolve congestion. - * But: when TCH/F has low rxlev, do not re-assign. If a low rxlev TCH/F were re-assigned to TCH/H, we would - * subsequently oscillate back to TCH/F due to low rxlev. So skip TCH/F with low rxlev. */ - if (assignment && !tch_f_with_low_rxlev) + * But: when TCH/F has low rxlev or rxqual, do not re-assign. If a low rxlev TCH/F were re-assigned to TCH/H, we + * would subsequently oscillate back to TCH/F due to low rxlev/rxqual. So skip TCH/F with low ratings. */ + if (assignment && !(tch_f_with_low_rxlev || tch_f_with_low_rxqual)) collect_assignment_candidate(lchan, clist, candidates, rxlev_current); if (handover) { diff --git a/tests/handover/handover_tests.ok b/tests/handover/handover_tests.ok index 7de70e1..b76c032 100644 --- a/tests/handover/handover_tests.ok +++ b/tests/handover/handover_tests.ok @@ -12,6 +12,7 @@ pass test_amr_tch_h_to_f_rxlev_oscillation.ho_vty pass test_amr_tch_h_to_f_rxqual.ho_vty pass test_amr_tch_h_to_f_rxqual_congested.ho_vty +pass test_amr_tch_h_to_f_rxqual_oscillation.ho_vty pass test_balance_congestion.ho_vty pass test_balance_congestion_2.ho_vty pass test_balance_congestion_by_percentage.ho_vty diff --git a/tests/handover/test_amr_tch_h_to_f_rxqual_oscillation.ho_vty b/tests/handover/test_amr_tch_h_to_f_rxqual_oscillation.ho_vty index a98e917..e628f03 100644 --- a/tests/handover/test_amr_tch_h_to_f_rxqual_oscillation.ho_vty +++ b/tests/handover/test_amr_tch_h_to_f_rxqual_oscillation.ho_vty @@ -17,13 +17,4 @@ meas-rep lchan 0 0 1 0 rxlev 30 rxqual 6 ta 0 congestion-check -# FAIL: should stay on TCH/F because rxqual is low, do not oscillate between TCH/F and /H. -expect-as from lchan 0 0 1 0 to lchan 0 0 4 0 -expect-ts-use trx 0 0 states * - - - TCH/H- - - * -meas-rep lchan 0 0 4 0 rxlev 30 rxqual 6 ta 0 -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 lchan 0 0 1 0 rxlev 30 rxqual 6 ta 0 -congestion-check -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 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24797 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I96cd5a494e661ba3bb0b6d22d25a9968d2a6813c Gerrit-Change-Number: 24797 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 Jun 29 13:55:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 13:55:44 +0000 Subject: Change in osmo-bsc[master]: hodec2: add test case showing low rxqual tch/h<->tch/f oscillation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24796 ) Change subject: hodec2: add test case showing low rxqual tch/h<->tch/f oscillation ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I43726c5563c9c31389600ef0ff6855add5af3a03 Gerrit-Change-Number: 24796 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 29 Jun 2021 13:55: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 Jun 29 13:57:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 13:57:00 +0000 Subject: Change in osmo-bsc[master]: hodec2: fix low rxqual tch/h<->tch/f oscillation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24797 ) Change subject: hodec2: fix low rxqual tch/h<->tch/f oscillation ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24797 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I96cd5a494e661ba3bb0b6d22d25a9968d2a6813c Gerrit-Change-Number: 24797 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 29 Jun 2021 13:57: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 Jun 29 13:58:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 13:58:15 +0000 Subject: Change in osmo-bsc[master]: hodec2: fix low rxqual tch/h<->tch/f oscillation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24797 ) Change subject: hodec2: fix low rxqual tch/h<->tch/f oscillation ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24797/1/src/osmo-bsc/handover_decision_2.c File src/osmo-bsc/handover_decision_2.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24797/1/src/osmo-bsc/handover_decision_2.c at 1194 PS1, Line 1194: tch_f_with_low_rxqual = false; May be worth adding these as a separate helper API btw: "tch_f_with_low_rxqual(lchan, rxlev_current);" or alike. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24797 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I96cd5a494e661ba3bb0b6d22d25a9968d2a6813c Gerrit-Change-Number: 24797 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 29 Jun 2021 13:58:15 +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 Jun 29 13:58:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 13:58:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Introduce test TC_dyn_ts_sdcch8_act_deact 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/+/24783 to look at the new patch set (#2). 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(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/83/24783/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-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 13:58:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 13:58:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Introduce test TC_dyn_ts_sdcch8_act_nack References: Message-ID: pespin has uploaded this change for review. ( 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(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/98/24798/1 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: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 14:00:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 14:00:07 +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 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: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24798/1/bsc/BSC_Tests.ttcn File bsc/BSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24798/1/bsc/BSC_Tests.ttcn at 6877 PS1, Line 6877: /* FIXME? Currently the TS stays in state BORKEN: */ I think this is expected as per some older discussion we had with Neels on whether timeslots should be kept as borken when activating a chan fail. Correct? -- 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: neels Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 29 Jun 2021 14:00:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 14:03:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 14:03:24 +0000 Subject: Change in osmo-bts[master]: Rename osmo dyn ts enums to contain SDCCH8 References: Message-ID: pespin has uploaded this change for review. ( 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(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/99/24799/1 diff --git a/doc/manuals/abis/rsl.adoc b/doc/manuals/abis/rsl.adoc index 1205a44..76ba259 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_TCHFull_TCHHalf_SDCCH_PDCH' 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_TCHFull_TCHHalf_SDCCH_PDCH' (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 9afb61e..c7a3c39 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH, "TCH/F_TCH/H_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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH, "Dynamic TCH/F or TCH/H or GPRS PDCH" }, { 0, NULL } }; @@ -120,7 +120,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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH: if (ts->dyn.pchan_is == ts->dyn.pchan_want) snprintf(ts2str, sizeof(ts2str), "(" GSM_TS_NAME_FMT ",pchan=%s as %s)", @@ -181,7 +181,7 @@ { uint8_t cbits, chan_nr; - OSMO_ASSERT(pchan != GSM_PCHAN_TCH_F_TCH_H_PDCH); + OSMO_ASSERT(pchan != GSM_PCHAN_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH); OSMO_ASSERT(pchan != GSM_PCHAN_TCH_F_PDCH); switch (pchan) { @@ -248,7 +248,7 @@ uint8_t chan_nr; switch (lchan->ts->pchan) { - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH: /* 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); @@ -274,7 +274,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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH && 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); @@ -352,7 +352,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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH) ok = false; break; case ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Lm_ACCHs(0): @@ -365,7 +365,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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH) ok = false; break; case ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(0): @@ -402,7 +402,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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH) ok = false; break; default: @@ -426,7 +426,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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH should not be * part of this, those TS are handled according to their dynamic state. */ }; @@ -435,7 +435,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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH: 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..e7c561f 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH: 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..390a7f5 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH) { 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 5a04bf0..41ab8da 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -100,7 +100,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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH: /* * When we're busy de-/activating the PDCH, we first set * ts->dyn.pchan_want, tell the PCU about it and wait for a @@ -868,7 +868,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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH && 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 502e619..d922174 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH: 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH). */ /* 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH) { 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)); @@ -1703,7 +1703,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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH && ts->dyn.pchan_want == GSM_PCHAN_PDCH) { /* * We ack the activation to the BSC right away, regardless of @@ -1843,7 +1843,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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH && lchan->ts->dyn.pchan_is == GSM_PCHAN_PDCH) { rc = dyn_ts_pdch_release(lchan); if (rc == 1) { @@ -3005,7 +3005,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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH: return osmo_dyn_ts_disconnected(ts); default: return; @@ -3103,7 +3103,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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH: return osmo_dyn_ts_connected(ts, rc); default: return; diff --git a/src/common/vty.c b/src/common/vty.c index 039e929..08a0496 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -1504,7 +1504,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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH: if (ts->dyn.pchan_is == ts->dyn.pchan_want) vty_out(vty, " as %s", gsm_pchan_name(ts->dyn.pchan_is)); @@ -1653,7 +1653,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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH: 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..78f5570 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH: 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH); switch (sapi) { case GsmL1_Sapi_Bcch: diff --git a/src/osmo-bts-lc15/oml.c b/src/osmo-bts-lc15/oml.c index acce1d4..044ada6 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH) { 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH: 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH) 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH: 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..f73120b 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH: 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH); switch (sapi) { case GsmL1_Sapi_Bcch: diff --git a/src/osmo-bts-oc2g/oml.c b/src/osmo-bts-oc2g/oml.c index 5646cfb..69fc5da 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH) { 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH: 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH) 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH: 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..3070487 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH: 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH); 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..284f7f7 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH) { 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..c4533b3 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH: 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH); switch (sapi) { case GsmL1_Sapi_Bcch: diff --git a/src/osmo-bts-sysmo/oml.c b/src/osmo-bts-sysmo/oml.c index 818d82b..ed565cf 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH) { 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH: 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH) 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH: 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..28ca003 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH); 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH: 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: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 14:09:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 14:09:22 +0000 Subject: Change in osmo-bts[master]: gsm_data: Drop unused function gsm_pchan_parse() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24800 ) Change subject: gsm_data: Drop unused function gsm_pchan_parse() ...................................................................... gsm_data: Drop unused function gsm_pchan_parse() Change-Id: I8f49811c1b694c5ef1fb9178d5ff4558172089b0 --- M include/osmo-bts/gsm_data.h M src/common/gsm_data.c 2 files changed, 0 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/00/24800/1 diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index 808b48a..20fe2b2 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -518,7 +518,6 @@ extern const struct value_string gsm_pchant_names[13]; extern const struct value_string gsm_pchant_descs[13]; const char *gsm_pchan_name(enum gsm_phys_chan_config c); -enum gsm_phys_chan_config gsm_pchan_parse(const char *name); const char *gsm_lchant_name(enum gsm_chan_t c); char *gsm_ts_name(const struct gsm_bts_trx_ts *ts); char *gsm_ts_and_pchan_name(const struct gsm_bts_trx_ts *ts); diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index 9afb61e..f533fb9 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -78,11 +78,6 @@ return get_value_string(gsm_pchant_names, c); } -enum gsm_phys_chan_config gsm_pchan_parse(const char *name) -{ - return get_string_value(gsm_pchant_names, name); -} - /* TODO: move to libosmocore, next to gsm_chan_t_names? */ const char *gsm_lchant_name(enum gsm_chan_t c) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24800 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8f49811c1b694c5ef1fb9178d5ff4558172089b0 Gerrit-Change-Number: 24800 Gerrit-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 Jun 29 14:11:29 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 29 Jun 2021 14:11:29 +0000 Subject: Change in libosmocore[master]: linuxlist: add functions to check entry presence and list end References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24801 ) Change subject: linuxlist: add functions to check entry presence and list end ...................................................................... linuxlist: add functions to check entry presence and list end 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. Also it is not very easy to check if an element is actually the last element of a list. However this is needed when iterating the list from osmo_select_main() Change-Id: Icf455bf6ba9d60bd311af17c9e80febaa42cacc9 Related: SYS#4971 --- M include/osmocom/core/linuxlist.h 1 file changed, 25 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/01/24801/1 diff --git a/include/osmocom/core/linuxlist.h b/include/osmocom/core/linuxlist.h index f28f88b..6b50ae0 100644 --- a/include/osmocom/core/linuxlist.h +++ b/include/osmocom/core/linuxlist.h @@ -394,7 +394,32 @@ return i; } +/*! Check whether a given element actually exists in the list. + * \param head the llist head of the list to check. + * \param entry the element to check. + * \returns true if the element exists in the list, false otherwise. + */ +static inline bool llist_contains(struct llist_head *head, struct llist_head *entry) +{ + struct llist_head *llist_entry; + llist_for_each(llist_entry, head) { + if (llist_entry == entry) + return true; + } + return false; +} +/*! Check whether a given element is the last element of the list. + * \param head the llist head of the list to check. + * \param entry the element to check. + * \returns true if the element is the last element, false otherwise. + */ +static inline bool llist_is_last(struct llist_head *head, struct llist_head *entry) +{ + if (entry == head->prev) + return true; + return false; +} /*! Double linked lists with a single pointer list head. * Mostly useful for hash tables where the two pointer list head is -- 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: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 14:18:16 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 29 Jun 2021 14:18:16 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses 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-bts/+/24513 to look at the new patch set (#6). 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/bts.h M src/common/abis.c M src/common/bts.c M src/common/main.c M src/common/vty.c 5 files changed, 260 insertions(+), 67 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/13/24513/6 -- 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: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 14:18:36 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 29 Jun 2021 14:18:36 +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 6: (18 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c File src/common/abis.c: https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 65 PS5, Line 65: W > from these names it's not entirely clear to me what the states represent. [?] Done https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 66 PS5, Line 66: ABIS_LINK_ST_CONN, > CONN means CONNECTED here? CONNECTING? Most probably needs to be changed to some of those, it's not [?] Done https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 67 PS5, Line 67: ABIS_LINK_ST_FAIL, > state is FAILED right? FAIL it's more like an event or action. Done https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 87 PS5, Line 87: static void abis_link_conn_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) > we usually don't use "_action" suffix, only the name. [?] Done https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 144 PS5, Line 144: /* In some implementations the user may specify a BSC host via commandline switch. If this is the case > (doesn't look clear to me to take cmdline related specialties here, but OK) This is related to osmo-bts-omldummy, this implementation has a commandline switch to specify the BSC host. Thats the reason why this parameter exists. I wonder if we could get rid of this if we just use the commandline parameter to create a list entry in the bsc_oml_hosts list. What do you think? https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 148 PS5, Line 148: } else if ((struct llist_head *)priv->bsc_oml_host != (struct llist_head *)&bts->bsc_oml_hosts.next) { > llist_first(&bts->bsc_oml_hosts)? Or do you actually mean the end of the list? isn't that "previous" [?] I detect want to detect the end of the list. Its indeed .prev. I have reorganized this a bit and made some functions for libosmocore to handle that better. https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 149 PS5, Line 149: /* Get a BSC host from the list and move the list heade one position forward. */ > type: header Done https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 153 PS5, Line 153: } else { > maybe moving this early termiantion above (if condition) would help making the function a bit less c [?] I think I can not do that. I need to check priv->dst_host and the end of the list first before I can know that the code should return/exit https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 163 PS5, Line 163: osmo_get_macaddr(bts_dev_info.mac_addr, "eth0"); > what is this? hardcoded eth0? this looks wrong This is probably only to get a unique identifier. It was already in the BTS code. Yes it looks wrong, especially since the name "eth0" is not used so much anymore. However this is a different topic, apparently this line never caused problems or nobody really cares about whats in bts_dev_info.mac_addr? https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 172 PS5, Line 172: if (line) { > drop {} The e1inp_line_get2 macro behaves strange when I leave the braces away. The original code also has the braces. I do not understand why it fails. The macro is defined as: #define e1inp_line_get2(line, USE) OSMO_ASSERT( osmo_use_count_get_put(&(line)->use_count, USE, 1) == 0 ); I also tried to leave the ; away, but it still does not compile. The error is: abis.c: In function ?abis_link_connecting?: abis.c:174:2: error: ?else? without a previous ?if? else https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 176 PS5, Line 176: priv->line_ctr++; > not sure what this is about As I understand the line model in libosmo-abis each address (BSC) needs its own line. It is not possible to re-use a line with a different ip-address. It is also not possible to get rid of a line once it is created. https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 206 PS5, Line 206: .name = "CONN", > CONNECTING Done https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 206 PS5, Line 206: . > some strange space-based indenting here, at least it looks like that in gerrit Done https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 207 PS5, Line 207: .in_event_mask = 0 | S(ABIS_LINK_EV_SIGN_LINK_DOWN) > please drop the "0 |". [?] Done https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 207 PS5, Line 207: .in_event_mask = 0 | S(ABIS_LINK_EV_SIGN_LINK_DOWN) > this 0| can be dropped Done https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 216 PS5, Line 216: .in_event_mask = 0, > how does this work? A FSM state "DOWN" which does not permit any input events, but which has multip [?] It does not need any events. It has an onenter function that initiates the connection. If it succeeds it changes in the CONN(ECTED) state or it it may run into an unrecoverable problem, then it changes to the FAIL(ED) state. https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/main.c File src/common/main.c: https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/main.c at 399 PS5, Line 399: if (llist_count(&g_bts->bsc_oml_hosts) == 0) { > what about the cmdline oml ip I saw in the fsm which was outisde the llist? This option only exists for osmo-bts-omldummy (see other comment) https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/vty.c at 536 PS5, Line 536: { > iirc you are maintaining a pointer to the currently "connecting" remote ip. [?] This is now checked. Thanks. -- 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: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 29 Jun 2021 14:18:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge 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 Jun 29 14:20:20 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Jun 2021 14:20:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: cipher mode: move cipher expect to new function 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-ttcn3-hacks/+/24758 to look at the new patch set (#2). Change subject: msc: cipher mode: move cipher expect to new function ...................................................................... msc: cipher mode: move cipher expect to new function Move the ciphering calculations from f_mm_common() to new function f_get_expected_encryption(), so that it can be re-used for ciphering in inter-BSC handover (upcoming patch). Add tr_BSSMAP_CipherModeCmd2() to conveniently use the values returned by f_get_expected_encryption(). To verify the Ciphering Mode Command in f_mm_common(), use the new tr_BSSMAP_CipherModeCmd2(), and rely on template matching instead of checking each IE individually. Related: SYS#5324 Change-Id: I1f775889fb801d441ea6c8b0f0c34718b814c09e --- M library/BSSMAP_Templates.ttcn M msc/BSC_ConnectionHandler.ttcn 2 files changed, 55 insertions(+), 29 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/58/24758/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24758 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1f775889fb801d441ea6c8b0f0c34718b814c09e Gerrit-Change-Number: 24758 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 Tue Jun 29 14:21:06 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Jun 2021 14:21:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: cipher mode: move cipher expect to new function In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24758 ) Change subject: msc: cipher mode: move cipher expect to new function ...................................................................... Patch Set 2: (2 comments) applied review (and added some comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24758/1/library/BSSMAP_Templates.ttcn File library/BSSMAP_Templates.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24758/1/library/BSSMAP_Templates.ttcn at 549 PS1, Line 549: template BSSMAP_IE_KC128 tr_BSSMAP_IE_Kc128(template OCT16 kc128) := { > could be template (present) both as return and as argument, as "omit" is not permitted in both place [?] i haven't yet understood the benefit of adding keywords like that. (i do experience a disadvantage via tooling: universal-ctags fails to pick up templates with "(foo)" keywords. so looking up templates with such keywords becomes annoying, my usual tag jump fails and i need to start grepping...) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24758/1/msc/BSC_ConnectionHandler.ttcn File msc/BSC_ConnectionHandler.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24758/1/msc/BSC_ConnectionHandler.ttcn at 568 PS1, Line 568: runs > strange indent of 4 chars? just move to previous line? often the 'runs on' is written without any indent, in which case the 'git diff' no longer shows the function name in the diff chunk headers -- it shows the 'runs on' line instead. So that's why I added indent. Wanted it to be less indented than the arguments ... i guess that's how i came up with 4 spaces here. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24758 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1f775889fb801d441ea6c8b0f0c34718b814c09e Gerrit-Change-Number: 24758 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 29 Jun 2021 14:21:06 +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 Jun 29 14:25:20 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Jun 2021 14:25:20 +0000 Subject: Change in osmo-bsc[master]: hodec2: add test case showing low rxqual tch/h<->tch/f oscillation 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/+/24796 to look at the new patch set (#2). Change subject: hodec2: add test case showing low rxqual tch/h<->tch/f oscillation ...................................................................... hodec2: add test case showing low rxqual tch/h<->tch/f oscillation Related: SYS#5198 Change-Id: I43726c5563c9c31389600ef0ff6855add5af3a03 --- M tests/handover/handover_tests.ok A tests/handover/test_amr_tch_h_to_f_rxqual_oscillation.ho_vty 2 files changed, 30 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/96/24796/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I43726c5563c9c31389600ef0ff6855add5af3a03 Gerrit-Change-Number: 24796 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 Tue Jun 29 14:34:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 14:34:54 +0000 Subject: Change in osmo-bsc[master]: hodec2: add test case showing low rxqual tch/h<->tch/f oscillation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24796 ) Change subject: hodec2: add test case showing low rxqual tch/h<->tch/f oscillation ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I43726c5563c9c31389600ef0ff6855add5af3a03 Gerrit-Change-Number: 24796 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Jun 2021 14:34: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 Jun 29 14:43:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 14:43:13 +0000 Subject: Change in libosmocore[master]: linuxlist: add functions to check entry presence and list end In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24801 ) Change subject: linuxlist: add functions to check entry presence and list end ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/24801/1/include/osmocom/core/linuxlist.h File include/osmocom/core/linuxlist.h: https://gerrit.osmocom.org/c/libosmocore/+/24801/1/include/osmocom/core/linuxlist.h at 417 PS1, Line 417: static inline bool llist_is_last(struct llist_head *head, struct llist_head *entry) There's "#define llist_last_entry(ptr, type, member)" already defined above. So maybe simply define a "#define llist_last" too to keep APIs similar, and simply use in your app code: if (&foobar->entry == llist_last(&xyz->list)) { ... } https://gerrit.osmocom.org/c/libosmocore/+/24801/1/include/osmocom/core/linuxlist.h at 419 PS1, Line 419: if (entry == head->prev) return (entry == head->prev); -- 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: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Jun 2021 14:43:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 14:50:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 14:50:00 +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 6: (3 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c File src/common/abis.c: https://gerrit.osmocom.org/c/osmo-bts/+/24513/5/src/common/abis.c at 144 PS5, Line 144: /* In some implementations the user may specify a BSC host via commandline switch. If this is the case > This is related to osmo-bts-omldummy, this implementation has a commandline switch to specify the BS [?] Yes please, better do that. Create an entry for the llist in osmo-bts-omldummy specific code. https://gerrit.osmocom.org/c/osmo-bts/+/24513/6/src/common/abis.c File src/common/abis.c: https://gerrit.osmocom.org/c/osmo-bts/+/24513/6/src/common/abis.c at 130 PS6, Line 130: osmo_fsm_inst_state_chg(fi, ABIS_LINK_ST_FAILED, 0, 0); maybe "ABIS_LINK_ST_CONN_DROPPED" would be more meaningful, since it's actually what happens when you are in that state. "FAILED" seems a bit too generic. https://gerrit.osmocom.org/c/osmo-bts/+/24513/6/src/common/abis.c at 147 PS6, Line 147: if (!llist_contains(&bts->bsc_oml_hosts, priv->bsc_oml_host)) you are potentially accessing already freed memory here, since priv->bsc_oml_host is a pointer pointing to memory which may have been free by VTY. What you need to do is, in the VTY code, when removing the entry, change "priv->bsc_oml_host" to the next item in the list. The best may be actually sending an event to the FSM before freeing the memory: "dispatch(EV_OML_HOST_REMOVED, bsc_oml_host);" and update the llist internally in the FSM. -- 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: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 29 Jun 2021 14:50:00 +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 Tue Jun 29 15:05:00 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 29 Jun 2021 15:05:00 +0000 Subject: Change in osmo-bsc[master]: hodec2: add test case showing low rxqual tch/h<->tch/f oscillation In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24796 ) Change subject: hodec2: add test case showing low rxqual tch/h<->tch/f oscillation ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I43726c5563c9c31389600ef0ff6855add5af3a03 Gerrit-Change-Number: 24796 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Jun 2021 15:05:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 15:14:50 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 15:14:50 +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 (#3). 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. For more details, see 3GPP TS 45.008, section 7.1. Change-Id: I3dcee6e910ccc61c5c63c728db9ea04327e2fc98 Depends: I69283b3f35988fc7a1a1dcf1a1ad3b67f08ec716 Related: SYS#4919 --- M include/osmo-bts/gsm_data.h 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 6 files changed, 69 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/76/24776/3 -- 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: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 15:21:23 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 29 Jun 2021 15:21:23 +0000 Subject: Change in osmo-bts[master]: gsm_data: Drop unused function gsm_pchan_parse() In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24800 ) Change subject: gsm_data: Drop unused function gsm_pchan_parse() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24800 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8f49811c1b694c5ef1fb9178d5ff4558172089b0 Gerrit-Change-Number: 24800 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Tue, 29 Jun 2021 15:21:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 15:22:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 15:22:59 +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 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24776/4/src/common/rsl.c File src/common/rsl.c: https://gerrit.osmocom.org/c/osmo-bts/+/24776/4/src/common/rsl.c at 2217 PS4, Line 2217: if (c0->ts[7].bcch_power_red_db > 0) why is this needed? isn't it already done by above loop? it's because ts[0] is not GSM_PCHAN_CCCH? -- 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: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Jun 2021 15:22:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 15:24:20 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 15:24:20 +0000 Subject: Change in osmo-bts[master]: doc: rsl.adoc: Fix trailing whitespace In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24789 ) Change subject: doc: rsl.adoc: Fix trailing whitespace ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24789 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ibc93a87ad51c77fff08ecc54dcc01784756fb39f Gerrit-Change-Number: 24789 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 29 Jun 2021 15:24: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 Jun 29 15:24:38 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 15:24:38 +0000 Subject: Change in osmo-bts[master]: gsm_data: Drop unused function gsm_pchan_parse() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24800 ) Change subject: gsm_data: Drop unused function gsm_pchan_parse() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24800 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8f49811c1b694c5ef1fb9178d5ff4558172089b0 Gerrit-Change-Number: 24800 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 29 Jun 2021 15:24: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 Jun 29 15:25:18 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 29 Jun 2021 15:25:18 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24790 ) Change subject: ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24790 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I59f81c2dd72ddc2d292f8f34281fa79289d49c6d Gerrit-Change-Number: 24790 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 29 Jun 2021 15: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 Tue Jun 29 15:29:58 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 15:29:58 +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 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24776/4/src/common/rsl.c File src/common/rsl.c: https://gerrit.osmocom.org/c/osmo-bts/+/24776/4/src/common/rsl.c at 2217 PS4, Line 2217: if (c0->ts[7].bcch_power_red_db > 0) > why is this needed? isn't it already done by above loop? it's because ts[0] is not GSM_PCHAN_CCCH? Yeah, ts[0] can be either of GSM_PCHAN_CCCH, GSM_PCHAN_CCCH_SDCCH4, GSM_PCHAN_CCCH_SDCCH4_CBCH. I don't want to check them all in the loop, because combined combinations are only allowed on ts[0]. But I think I can simplify the code a bit and make it more readable, given that additional BCCH/CCCH can only be allocated on TS2, TS4, and TS6. -- 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: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Jun 2021 15:29: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 Tue Jun 29 15:32:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 15:32:07 +0000 Subject: Change in osmo-bts[master]: doc: rsl.adoc: Fix trailing whitespace In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24789 ) Change subject: doc: rsl.adoc: Fix trailing whitespace ...................................................................... doc: rsl.adoc: Fix trailing whitespace Change-Id: Ibc93a87ad51c77fff08ecc54dcc01784756fb39f --- M doc/manuals/abis/rsl.adoc 1 file changed, 17 insertions(+), 18 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/doc/manuals/abis/rsl.adoc b/doc/manuals/abis/rsl.adoc index b973cf5..1205a44 100644 --- a/doc/manuals/abis/rsl.adoc +++ b/doc/manuals/abis/rsl.adoc @@ -488,7 +488,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -508,7 +508,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -528,7 +528,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -547,7 +547,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -568,7 +568,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -589,7 +589,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -606,7 +606,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -625,7 +625,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -643,7 +643,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -662,7 +662,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -679,7 +679,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -696,7 +696,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -714,7 +714,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -732,7 +732,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -749,7 +749,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -766,7 +766,7 @@ [options="header"] [cols="30%,25%,15%,15%,15%"] |=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH | Message discriminator | 48.058 9.1 | M | V | 1 | Message type | <> | M | V | 1 | Channel number | 48.058 9.3.1 | M | TV | 2 @@ -844,7 +844,7 @@ | 0x01 | RSL_IE_CHAN_NR | <> | 0x60 | RSL_IE_OSMO_REP_ACCH_CAP | <> | 0x61 | RSL_IE_OSMO_TRAINING_SEQUENCE | <> -| 0xf0 | RSL_IE_IPAC_REMOTE_IP | <> +| 0xf0 | RSL_IE_IPAC_REMOTE_IP | <> | 0xf1 | RSL_IE_IPAC_REMOTE_PORT | <> | 0xf3 | RSL_IE_IPAC_LOCAL_PORT | <> | 0xf4 | RSL_IE_IPAC_SPEECH_MODE | <> @@ -1089,4 +1089,3 @@ illustrated by the differences of <> and <>. Since the secondary TRX has no BCCH, it does not (need to) receive any 'RSL BCCH INFORMATION' messages from the BSC. - -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24789 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ibc93a87ad51c77fff08ecc54dcc01784756fb39f Gerrit-Change-Number: 24789 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 Jun 29 15:32:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 15:32:09 +0000 Subject: Change in osmo-bts[master]: gsm_data: Drop unused function gsm_pchan_parse() In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24800 ) Change subject: gsm_data: Drop unused function gsm_pchan_parse() ...................................................................... gsm_data: Drop unused function gsm_pchan_parse() Change-Id: I8f49811c1b694c5ef1fb9178d5ff4558172089b0 --- M include/osmo-bts/gsm_data.h M src/common/gsm_data.c 2 files changed, 0 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, approved fixeria: Looks good to me, but someone else must approve diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index 808b48a..20fe2b2 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -518,7 +518,6 @@ extern const struct value_string gsm_pchant_names[13]; extern const struct value_string gsm_pchant_descs[13]; const char *gsm_pchan_name(enum gsm_phys_chan_config c); -enum gsm_phys_chan_config gsm_pchan_parse(const char *name); const char *gsm_lchant_name(enum gsm_chan_t c); char *gsm_ts_name(const struct gsm_bts_trx_ts *ts); char *gsm_ts_and_pchan_name(const struct gsm_bts_trx_ts *ts); diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index 9afb61e..f533fb9 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -78,11 +78,6 @@ return get_value_string(gsm_pchant_names, c); } -enum gsm_phys_chan_config gsm_pchan_parse(const char *name) -{ - return get_string_value(gsm_pchant_names, name); -} - /* TODO: move to libosmocore, next to gsm_chan_t_names? */ const char *gsm_lchant_name(enum gsm_chan_t c) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24800 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8f49811c1b694c5ef1fb9178d5ff4558172089b0 Gerrit-Change-Number: 24800 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 15:32:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 15:32:22 +0000 Subject: Change in osmo-bsc[master]: gsm_data.h: remove declaration of non-existing ts_pchan() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24793 ) Change subject: gsm_data.h: remove declaration of non-existing ts_pchan() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24793 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2471d0f2825661e60539d9504632fc80145c603d Gerrit-Change-Number: 24793 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Jun 2021 15:32: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 Jun 29 15:33:01 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 15:33:01 +0000 Subject: Change in osmo-bsc[master]: gsm_data.h: remove declaration of non-existing ts_pchan() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24793 ) Change subject: gsm_data.h: remove declaration of non-existing ts_pchan() ...................................................................... gsm_data.h: remove declaration of non-existing ts_pchan() Change-Id: I2471d0f2825661e60539d9504632fc80145c603d --- M include/osmocom/bsc/gsm_data.h 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index c5d2b86..569e288 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1065,7 +1065,6 @@ uint8_t gsm_ts_tsc(const struct gsm_bts_trx_ts *ts); -enum gsm_phys_chan_config ts_pchan(struct gsm_bts_trx_ts *ts); uint8_t pchan_subslots(enum gsm_phys_chan_config pchan); uint8_t pchan_subslots_vamos(enum gsm_phys_chan_config pchan); bool ts_is_tch(struct gsm_bts_trx_ts *ts); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24793 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2471d0f2825661e60539d9504632fc80145c603d Gerrit-Change-Number: 24793 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 15:33:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 15:33:15 +0000 Subject: Change in docker-playground[master]: 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/+/24790 ) Change subject: ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24790 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I59f81c2dd72ddc2d292f8f34281fa79289d49c6d Gerrit-Change-Number: 24790 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Jun 2021 15: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 Jun 29 15:34:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 15:34:18 +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 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24776/4/src/common/rsl.c File src/common/rsl.c: https://gerrit.osmocom.org/c/osmo-bts/+/24776/4/src/common/rsl.c at 2217 PS4, Line 2217: if (c0->ts[7].bcch_power_red_db > 0) > Yeah, ts[0] can be either of GSM_PCHAN_CCCH, GSM_PCHAN_CCCH_SDCCH4, GSM_PCHAN_CCCH_SDCCH4_CBCH. [?] It's 8 iterations after all, I'd prefer having a more readable code not creating confusion tbh. -- 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: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Jun 2021 15:34:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 16:03:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 16:03:09 +0000 Subject: Change in osmo-bts[master]: Support SDCCH8 in osmo dyn ts References: Message-ID: pespin has uploaded this change for review. ( 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(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/02/24802/1 diff --git a/src/common/bts.c b/src/common/bts.c index bf29113..32b2fa3 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -371,6 +371,7 @@ /* features implemented in 'common', available for all models */ 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_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 ec6cf93..2b2a180 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_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH) ok = false; break; case ABIS_RSL_CHAN_NR_CBITS_BCCH: diff --git a/src/common/rsl.c b/src/common/rsl.c index d922174..0f15be4 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, @@ -2982,6 +2992,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: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 16:03:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 16:03:58 +0000 Subject: Change in osmo-bts[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-bts/+/24799 ) Change subject: Rename osmo dyn ts enums to contain SDCCH8 ...................................................................... Patch Set 2: This change is ready for review. -- 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: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 29 Jun 2021 16:03: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 Jun 29 16:04:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Jun 2021 16:04:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Introduce test TC_dyn_osmo_pdch_sdcch8_act References: Message-ID: pespin has uploaded this change for review. ( 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(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/03/24803/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 64e3fc2..198cd27 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: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 16:55:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 29 Jun 2021 16:55:57 +0000 Subject: Change in libosmocore[master]: ns2: Ignore NSVC with data_weight 0 for data In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24792 ) Change subject: ns2: Ignore NSVC with data_weight 0 for data ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24792 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If0c2bee285f85110771326e07b513fc3e3f9d3f0 Gerrit-Change-Number: 24792 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Jun 2021 16:55: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 Jun 29 16:56:27 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 29 Jun 2021 16:56:27 +0000 Subject: Change in libosmocore[master]: ns2: Ignore NSVC with data_weight 0 for data In-Reply-To: References: Message-ID: daniel has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24792 ) Change subject: ns2: Ignore NSVC with data_weight 0 for data ...................................................................... ns2: Ignore NSVC with data_weight 0 for data Change-Id: If0c2bee285f85110771326e07b513fc3e3f9d3f0 Fixes: OS#5189 --- M src/gb/gprs_ns2.c 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 3bf31a3..720e836 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -414,6 +414,8 @@ mod = (bvci + load_selector) % nse->sum_data_weight; llist_for_each_entry(tmp, &nse->nsvc, list) { + if (tmp->data_weight == 0) + continue; if (!ns2_vc_is_unblocked(tmp)) continue; if (i == mod || mod < i + tmp->data_weight) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24792 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If0c2bee285f85110771326e07b513fc3e3f9d3f0 Gerrit-Change-Number: 24792 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 Tue Jun 29 17:22:02 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 17:22:02 +0000 Subject: Change in osmo-bsc[master]: power_control: omit BS Power Parameters IE if the maximum is 0 dB 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/+/22165 to look at the new patch set (#8). Change subject: power_control: omit BS Power Parameters IE if the maximum is 0 dB ...................................................................... power_control: omit BS Power Parameters IE if the maximum is 0 dB If BS Power Parameters IE is present in the channel activation message, the BTS shall employ dynamic BS power control for that logical channel and interpret BS Power IE as the maximum value. If the maximum value is 0 dB, then it does not make sense to send BS Power Parameters IE to the BTS, because the power control loop would never exceed the maximum. Change-Id: If8507992dfd90ade1edda99b72bf2420a702ccd5 Related: SYS#4918, SYS#4919 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/65/22165/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/22165 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If8507992dfd90ade1edda99b72bf2420a702ccd5 Gerrit-Change-Number: 22165 Gerrit-PatchSet: 8 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 17:22:03 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 17:22:03 +0000 Subject: Change in osmo-bsc[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-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, 62 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/04/24804/1 diff --git a/doc/manuals/chapters/power_control.adoc b/doc/manuals/chapters/power_control.adoc index fe2bf26..b146e2a 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 the 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..19a168e 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 bcch_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 e055981..05d52a7 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -749,6 +749,8 @@ int gsm_bts_set_bcch_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)) @@ -762,6 +764,32 @@ bts->bcch_max_power_red_db = red; + /* Timeslot 0 is always transmitting BCCH/CCCH */ + c0->ts[0].bcch_max_power_red_db = 0; + + for (tn = 1; tn < ARRAY_SIZE(c0->ts); tn++) { + struct gsm_bts_trx_ts *ts = &c0->ts[tn]; + const struct gsm_bts_trx_ts *next; + + if (ts->pchan_is == GSM_PCHAN_CCCH) + ts->bcch_max_power_red_db = 0; + else + ts->bcch_max_power_red_db = red; + + if (ts->bcch_max_power_red_db > 0) { + /* Next timeslot following this one */ + next = &c0->ts[(tn + 1) % 8]; + + /* If BCCH/CCCH follows, limit to 2 dB */ + if (next->pchan_is == GSM_PCHAN_CCCH) + ts->bcch_max_power_red_db = 2; + } + } + + /* Timeslot 7 is always preceding BCCH/CCCH */ + if (c0->ts[7].bcch_max_power_red_db > 0) + c0->ts[7].bcch_max_power_red_db = 2; + return 0; } diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 03ccec0..8ae83da 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->bcch_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: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 17:22:51 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 17:22:51 +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 2: This change is ready for review. -- 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: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 29 Jun 2021 17:22:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 18:39:19 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Jun 2021 18:39:19 +0000 Subject: Change in osmo-bsc[master]: hodec2: add test case showing low rxqual tch/h<->tch/f oscillation In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24796 ) Change subject: hodec2: add test case showing low rxqual tch/h<->tch/f oscillation ...................................................................... Patch Set 2: Code-Review+2 combine votes -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I43726c5563c9c31389600ef0ff6855add5af3a03 Gerrit-Change-Number: 24796 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Jun 2021 18:39:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 18:43:57 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Jun 2021 18:43:57 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24790 ) Change subject: ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg ...................................................................... Patch Set 2: sorry, recently started testing only in osmo-ttcn3-hacks and thus forgot about changing the docker-playground configs. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24790 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I59f81c2dd72ddc2d292f8f34281fa79289d49c6d Gerrit-Change-Number: 24790 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Jun 2021 18:43:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 18:44:04 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Jun 2021 18:44:04 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24790 ) Change subject: ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24790 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I59f81c2dd72ddc2d292f8f34281fa79289d49c6d Gerrit-Change-Number: 24790 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Jun 2021 18: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 Tue Jun 29 18:44:33 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 18:44:33 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24790 ) Change subject: ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24790 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I59f81c2dd72ddc2d292f8f34281fa79289d49c6d Gerrit-Change-Number: 24790 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Jun 2021 18:44: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 Jun 29 18:44:40 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 18:44:40 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: add image_suffix_is_master() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24791 ) Change subject: jenkins-common.sh: add image_suffix_is_master() ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24791 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I65df66cd2e14934bed8114618d6ffad7831d1025 Gerrit-Change-Number: 24791 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 29 Jun 2021 18:44:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 18:44:45 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 18:44:45 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: add image_suffix_is_master() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24791 ) Change subject: jenkins-common.sh: add image_suffix_is_master() ...................................................................... jenkins-common.sh: add image_suffix_is_master() Since recently, we also have a new IMAGE_SUFFIX '2021q1-centos8'. We cannot rely on image_suffix_is_latest() anymore, because this prefix does not qualify as 'latest'. If one needs to enable a feature that is only available in master, then here is a way: if ! image_suffix_is_master; then # Patch the configuration files fi Change-Id: I65df66cd2e14934bed8114618d6ffad7831d1025 --- M jenkins-common.sh 1 file changed, 8 insertions(+), 0 deletions(-) Approvals: fixeria: Looks good to me, approved; Verified diff --git a/jenkins-common.sh b/jenkins-common.sh index 36f7e9c..2cf5c50 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -343,6 +343,14 @@ esac } +# Check if IMAGE_SUFFIX starts with "master" (e.g. "master-centos8") +image_suffix_is_master() { + case "$IMAGE_SUFFIX" in + master*) return 0 ;; + *) return 1 ;; + esac +} + set -x # non-jenkins execution: assume local user name -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24791 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I65df66cd2e14934bed8114618d6ffad7831d1025 Gerrit-Change-Number: 24791 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 18:44:46 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 18:44:46 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24790 ) Change subject: ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg ...................................................................... ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg Conditionally exclude it for non-master versions of the IUT. Change-Id: I59f81c2dd72ddc2d292f8f34281fa79289d49c6d Related: SYS#5324 --- 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, 14 insertions(+), 2 deletions(-) Approvals: dexter: Looks good to me, but someone else must approve pespin: Looks good to me, approved neels: Looks good to me, approved fixeria: Verified diff --git a/ttcn3-bsc-test/jenkins-sccplite.sh b/ttcn3-bsc-test/jenkins-sccplite.sh index bc6eaa0..8c8613a 100755 --- a/ttcn3-bsc-test/jenkins-sccplite.sh +++ b/ttcn3-bsc-test/jenkins-sccplite.sh @@ -19,6 +19,12 @@ 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 18236a2..ef910bd 100755 --- a/ttcn3-bsc-test/jenkins.sh +++ b/ttcn3-bsc-test/jenkins.sh @@ -22,6 +22,12 @@ 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 2044346..244e205 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 + encryption a5 0 1 3 4 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 564ebce..0618e44 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 + encryption a5 0 1 3 4 neci 1 paging any use tch 0 handover 1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24790 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I59f81c2dd72ddc2d292f8f34281fa79289d49c6d Gerrit-Change-Number: 24790 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria 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 Jun 29 19:09:39 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 19:09:39 +0000 Subject: Change in osmo-bsc[master]: hodec2: add test case showing low rxlev tch/h<->tch/f oscillation In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24794 ) Change subject: hodec2: add test case showing low rxlev tch/h<->tch/f oscillation ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24794 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iee2d4b9eaf902ba7fb546a9bb261324b2f7d1fc7 Gerrit-Change-Number: 24794 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Jun 2021 19:09: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 Jun 29 19:10:28 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 19:10:28 +0000 Subject: Change in osmo-bsc[master]: hodec2: fix low rxlev tch/h<->tch/f oscillation In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24795 ) Change subject: hodec2: fix low rxlev tch/h<->tch/f oscillation ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24795 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibc3ac7ce6190b4e854fa42d5376a7038ddfbd6e5 Gerrit-Change-Number: 24795 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Jun 2021 19:10: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 Jun 29 19:12:22 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 19:12:22 +0000 Subject: Change in osmo-bsc[master]: hodec2: fix low rxqual tch/h<->tch/f oscillation In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24797 ) Change subject: hodec2: fix low rxqual tch/h<->tch/f oscillation ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24797 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I96cd5a494e661ba3bb0b6d22d25a9968d2a6813c Gerrit-Change-Number: 24797 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Jun 2021 19:12: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 Jun 29 19:14:43 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 19:14:43 +0000 Subject: Change in libosmocore[master]: linuxlist: add functions to check entry presence and list end In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24801 ) Change subject: linuxlist: add functions to check entry presence and list end ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24801/1/include/osmocom/core/linuxlist.h File include/osmocom/core/linuxlist.h: https://gerrit.osmocom.org/c/libosmocore/+/24801/1/include/osmocom/core/linuxlist.h at 417 PS1, Line 417: static inline bool llist_is_last(struct llist_head *head, struct llist_head *entry) > There's "#define llist_last_entry(ptr, type, member)" already defined above. [?] Ack, this qualifies more like a macros than a function. -- 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: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 29 Jun 2021 19:14:43 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 19:16:13 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 19:16:13 +0000 Subject: Change in libosmocore[master]: bts_feature: Introduce feature to confiure dyn ts as sdcch8 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24788 ) Change subject: bts_feature: Introduce feature to confiure dyn ts as sdcch8 ...................................................................... Patch Set 2: Code-Review+1 -- 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: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 29 Jun 2021 19:16:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 19:20:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 19:20:24 +0000 Subject: Change in libosmocore[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/libosmocore/+/24784 ) Change subject: Rename osmo dyn ts enums to contain SDCCH8 ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24784/1/include/osmocom/gsm/gsm_utils.h File include/osmocom/gsm/gsm_utils.h: https://gerrit.osmocom.org/c/libosmocore/+/24784/1/include/osmocom/gsm/gsm_utils.h at 216 PS1, Line 216: GSM_PCHAN_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH The name gets longer and harder to read. What if we just call it 'GSM_PCHAN_OSMO_DYN'? -- 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: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 29 Jun 2021 19:20:24 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 19:21:47 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Jun 2021 19:21:47 +0000 Subject: Change in libosmocore[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/libosmocore/+/24784 ) Change subject: Rename osmo dyn ts enums to contain SDCCH8 ...................................................................... Patch Set 1: /me also likes GSM_PCHAN_OSMO_DYN -- 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: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 29 Jun 2021 19:21:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 20:24:27 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Jun 2021 20:24:27 +0000 Subject: Change in osmo-bsc[master]: hodec2: fix low rxlev tch/h<->tch/f oscillation 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-bsc/+/24795 to look at the new patch set (#4). Change subject: hodec2: fix low rxlev tch/h<->tch/f oscillation ...................................................................... hodec2: fix low rxlev tch/h<->tch/f oscillation Related: SYS#5365 Change-Id: Ibc3ac7ce6190b4e854fa42d5376a7038ddfbd6e5 --- M src/osmo-bsc/handover_decision_2.c M tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty 2 files changed, 5 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/95/24795/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24795 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibc3ac7ce6190b4e854fa42d5376a7038ddfbd6e5 Gerrit-Change-Number: 24795 Gerrit-PatchSet: 4 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 Tue Jun 29 20:24:27 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Jun 2021 20:24:27 +0000 Subject: Change in osmo-bsc[master]: hodec2: fix low rxqual tch/h<->tch/f oscillation 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-bsc/+/24797 to look at the new patch set (#3). Change subject: hodec2: fix low rxqual tch/h<->tch/f oscillation ...................................................................... hodec2: fix low rxqual tch/h<->tch/f oscillation Related: SYS#5198 Change-Id: I96cd5a494e661ba3bb0b6d22d25a9968d2a6813c --- M src/osmo-bsc/handover_decision_2.c M tests/handover/test_amr_tch_h_to_f_rxqual_oscillation.ho_vty 2 files changed, 13 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/97/24797/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24797 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I96cd5a494e661ba3bb0b6d22d25a9968d2a6813c Gerrit-Change-Number: 24797 Gerrit-PatchSet: 3 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 Tue Jun 29 20:24:28 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Jun 2021 20:24:28 +0000 Subject: Change in osmo-bsc[master]: handover_decision_2.c: add is_low_rxlev() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24805 ) Change subject: handover_decision_2.c: add is_low_rxlev() ...................................................................... handover_decision_2.c: add is_low_rxlev() Remove code dup. Also this will be used another time by an upcoming patch. Change-Id: I4aaeb8bc35a142962ac8ca6401a76b0733f7979e --- M src/osmo-bsc/handover_decision_2.c 1 file changed, 9 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/05/24805/1 diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index d4ebc41..97c8b6e 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -250,6 +250,12 @@ ho_get_hodec2_rxlev_avg_win(bts->ho)); } +static bool is_low_rxlev(int rxlev_current, struct handover_cfg *neigh_cfg) +{ + return rxlev_current >= 0 + && rxlev2dbm(rxlev_current) < ho_get_hodec2_min_rxlev(neigh_cfg); +} + /* obtain averaged rxlev for given neighbor */ static int neigh_meas_avg(struct neigh_meas_proc *nmp, int window) { @@ -1069,7 +1075,6 @@ .bsic = nmp->bsic, }; struct ho_candidate c; - int min_rxlev; struct handover_cfg *neigh_cfg; /* skip empty slots */ @@ -1137,12 +1142,11 @@ /* if the minimum level is not reached. * In case of a remote-BSS, use the current BTS' configuration. */ - min_rxlev = ho_get_hodec2_min_rxlev(neigh_cfg); - if (rxlev2dbm(c.target.rxlev) < min_rxlev) { + if (is_low_rxlev(c.target.rxlev, neigh_cfg)) { LOGPHOCAND(&c, LOGL_DEBUG, "Not a candidate, because RX level (%d dBm) is lower" " than the minimum required RX level (%d dBm)\n", - rxlev2dbm(c.target.rxlev), min_rxlev); + rxlev2dbm(c.target.rxlev), ho_get_hodec2_min_rxlev(neigh_cfg)); return; } @@ -1505,7 +1509,7 @@ } /* Low Level */ - if (av_rxlev >= 0 && rxlev2dbm(av_rxlev) < ho_get_hodec2_min_rxlev(bts->ho)) { + if (is_low_rxlev(av_rxlev, bts->ho)) { global_ho_reason = HO_REASON_LOW_RXLEVEL; LOGPHOLCHAN(lchan, LOGL_NOTICE, "RX level is TOO LOW: %d < %d\n", rxlev2dbm(av_rxlev), ho_get_hodec2_min_rxlev(bts->ho)); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4aaeb8bc35a142962ac8ca6401a76b0733f7979e Gerrit-Change-Number: 24805 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 Jun 29 20:24:28 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Jun 2021 20:24:28 +0000 Subject: Change in osmo-bsc[master]: handover_decision_2.c: add current_rxqual() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24806 ) Change subject: handover_decision_2.c: add current_rxqual() ...................................................................... handover_decision_2.c: add current_rxqual() Pre-empt code dup: this will be also used by an upcoming patch, so first put it in a function. Change-Id: I0d5bdaa9605f2bd4241cdd47ccf1ce1c697818a8 --- M src/osmo-bsc/handover_decision_2.c 1 file changed, 10 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/06/24806/1 diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index c9d1198..7a14f06 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -250,6 +250,15 @@ 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, + ho_get_hodec2_rxqual_avg_win(bts->ho)); +} + static bool is_low_rxlev(int rxlev_current, struct handover_cfg *neigh_cfg) { return rxlev_current >= 0 @@ -1464,10 +1473,7 @@ /* get average levels. if not enough measurements yet, value is < 0 */ av_rxlev = current_rxlev(lchan); - av_rxqual = get_meas_rep_avg(lchan, - ho_get_hodec2_full_tdma(bts->ho) ? - MEAS_REP_DL_RXQUAL_FULL : MEAS_REP_DL_RXQUAL_SUB, - ho_get_hodec2_rxqual_avg_win(bts->ho)); + av_rxqual = current_rxqual(lchan); if (av_rxlev < 0 && av_rxqual < 0) { LOGPHOLCHAN(lchan, LOGL_INFO, "Skipping, Not enough recent measurements\n"); return; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24806 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0d5bdaa9605f2bd4241cdd47ccf1ce1c697818a8 Gerrit-Change-Number: 24806 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 Jun 29 20:25:47 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Jun 2021 20:25:47 +0000 Subject: Change in osmo-bsc[master]: hodec2: fix low rxqual tch/h<->tch/f oscillation In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24797 ) Change subject: hodec2: fix low rxqual tch/h<->tch/f oscillation ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24797/1/src/osmo-bsc/handover_decision_2.c File src/osmo-bsc/handover_decision_2.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24797/1/src/osmo-bsc/handover_decision_2.c at 1194 PS1, Line 1194: tch_f_with_low_rxqual = false; > May be worth adding these as a separate helper API btw: "tch_f_with_low_rxqual(lchan, rxlev_current) [?] look what you did! two new patches! but the code looks much nicer now, thx -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24797 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I96cd5a494e661ba3bb0b6d22d25a9968d2a6813c Gerrit-Change-Number: 24797 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Jun 2021 20:25: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 Tue Jun 29 20:37:14 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Jun 2021 20:37:14 +0000 Subject: Change in libosmocore[master]: add fixme: enforce 8 byte length of Kc References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24807 ) Change subject: add fixme: enforce 8 byte length of Kc ...................................................................... add fixme: enforce 8 byte length of Kc Change-Id: I57efb0a24cb71b365189eccb5088b130fad15093 --- M src/gsm/gsm0808_utils.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/07/24807/1 diff --git a/src/gsm/gsm0808_utils.c b/src/gsm/gsm0808_utils.c index b5b8431..78cbe92 100644 --- a/src/gsm/gsm0808_utils.c +++ b/src/gsm/gsm0808_utils.c @@ -721,6 +721,8 @@ } msgb_put_u8(msg, perm_algo); + /* FIXME: 48.008 3.2.2.10 Encryption Information says: + * "When present, the key shall be 8 octets long." */ ptr = msgb_put(msg, ei->key_len); memcpy(ptr, ei->key, ei->key_len); @@ -760,6 +762,8 @@ } ei->perm_algo_len = perm_algo_len; + /* FIXME: 48.008 3.2.2.10 Encryption Information says: + * "When present, the key shall be 8 octets long." */ ei->key_len = len - 1; memcpy(ei->key, elem, ei->key_len); elem+=ei->key_len; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24807 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I57efb0a24cb71b365189eccb5088b130fad15093 Gerrit-Change-Number: 24807 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 Jun 29 20:38:03 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Jun 2021 20:38:03 +0000 Subject: Change in libosmocore[master]: add fixme: enforce 8 byte length of Kc In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24807 ) Change subject: add fixme: enforce 8 byte length of Kc ...................................................................... Patch Set 1: I don't know about this patch ... what should we do with this? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24807 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I57efb0a24cb71b365189eccb5088b130fad15093 Gerrit-Change-Number: 24807 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 29 Jun 2021 20:38: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 Jun 29 20:44:48 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Jun 2021 20:44:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: cipher mode: move cipher expect to new function In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24758 ) Change subject: msc: cipher mode: move cipher expect to new function ...................................................................... Patch Set 2: Code-Review+2 well, let me just add a +2 because I applied the requested changes 1:1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24758 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1f775889fb801d441ea6c8b0f0c34718b814c09e Gerrit-Change-Number: 24758 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 29 Jun 2021 20:44:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 20:48:15 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Jun 2021 20:48:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: cipher mode: move cipher expect to new function In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24758 ) Change subject: msc: cipher mode: move cipher expect to new function ...................................................................... msc: cipher mode: move cipher expect to new function Move the ciphering calculations from f_mm_common() to new function f_get_expected_encryption(), so that it can be re-used for ciphering in inter-BSC handover (upcoming patch). Add tr_BSSMAP_CipherModeCmd2() to conveniently use the values returned by f_get_expected_encryption(). To verify the Ciphering Mode Command in f_mm_common(), use the new tr_BSSMAP_CipherModeCmd2(), and rely on template matching instead of checking each IE individually. Related: SYS#5324 Change-Id: I1f775889fb801d441ea6c8b0f0c34718b814c09e --- M library/BSSMAP_Templates.ttcn M msc/BSC_ConnectionHandler.ttcn 2 files changed, 55 insertions(+), 29 deletions(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index 1dcbef1..21cf742 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -546,6 +546,11 @@ } } +template (present) BSSMAP_IE_KC128 tr_BSSMAP_IE_Kc128(template (present) OCT16 kc128) := { + elementIdentifier := '83'O, + kC128_Value := kc128 +} + template (value) BSSMAP_IE_KC128 ts_BSSMAP_IE_Kc128(OCT16 kc128) := { elementIdentifier := '83'O, kC128_Value := kc128 @@ -1398,21 +1403,25 @@ } } -template PDU_BSSAP tr_BSSMAP_CipherModeCmd(template OCT1 alg, template OCT8 key) +template PDU_BSSAP tr_BSSMAP_CipherModeCmd2(template BSSMAP_IE_EncryptionInformation encryptionInformation := *, + template BSSMAP_IE_KC128 kC128 := *) modifies tr_BSSAP_BSSMAP := { pdu := { bssmap := { cipherModeCommand := { messageType := '53'O, layer3HeaderInfo := *, - encryptionInformation := tr_BSSMAP_IE_EncrInfo(key, alg), + encryptionInformation := encryptionInformation, cipherResponseMode := *, - kC128 := * + kC128 := kC128 } } } } +template PDU_BSSAP tr_BSSMAP_CipherModeCmd(template OCT1 alg, template OCT8 key, template BSSMAP_IE_KC128 kC128 := omit) + := tr_BSSMAP_CipherModeCmd2(tr_BSSMAP_IE_EncrInfo(key, alg), kC128); + template PDU_BSSAP ts_BSSMAP_CipherModeCompl(OCT1 alg) modifies ts_BSSAP_BSSMAP := { pdu := { diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index 01db3d0..64848c5 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -560,44 +560,61 @@ return res; } +function f_get_expected_encryption( + out template BSSMAP_IE_EncryptionInformation encryptionInformation, + out template BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm, + out template BSSMAP_IE_KC128 kC128, + out OCT1 a5_perm_alg) runs on BSC_ConnHdlr +{ + var OCT1 a5_ms := f_alg_mask_from_cm(g_pars.cm2, g_pars.cm3); + a5_perm_alg := g_pars.net.kc_support and4b a5_ms; + + if (not g_pars.net.expect_ciph) { + encryptionInformation := *; + chosenEncryptionAlgorithm := *; + kC128 := *; + return; + } + + encryptionInformation := tr_BSSMAP_IE_EncrInfo(g_pars.vec.kc, a5_perm_alg); + + var OCT1 chosen_alg := int2oct(f_alg_from_mask(f_best_alg_from_mask(a5_perm_alg)) + 1, 1); + chosenEncryptionAlgorithm := tr_BSSMAP_IE_ChosenEncryptionAlgorithm(chosen_alg); + + if (g_pars.use_umts_aka and f_alg_supported_by_mask(a5_perm_alg, 4)) { + /* A5/4 is permitted, expecting kc128 to be present */ + var OCT32 full_sha256 := f_calculate_HMAC_SHA256(g_pars.vec.ck & g_pars.vec.ik, '32'O, 32); + var OCT16 expect_kc128 := substr(full_sha256, 0, 16); + kC128 := tr_BSSMAP_IE_Kc128(expect_kc128); + } else { + kC128 := omit + } +} + function f_mm_common() runs on BSC_ConnHdlr { f_mm_auth(); if (g_pars.ran_is_geran) { if (g_pars.net.expect_ciph) { - var OCT1 a5_net := f_alg_mask_from_cm(g_pars.cm2, g_pars.cm3); - var OCT1 a5_intersect := g_pars.net.kc_support and4b a5_net; - var boolean has_a54 := f_alg_supported_by_mask(a5_intersect, 4); + var template BSSMAP_IE_EncryptionInformation encryptionInformation; + var template BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm; + var template BSSMAP_IE_KC128 kC128; + var OCT1 a5_perm_alg; + f_get_expected_encryption(encryptionInformation, chosenEncryptionAlgorithm, kC128, a5_perm_alg); var PDU_BSSAP pdu; + var template PDU_BSSAP expect_ciph_mode_cmd := tr_BSSMAP_CipherModeCmd2(encryptionInformation, kC128); alt { - [] BSSAP.receive(tr_BSSMAP_CipherModeCmd(a5_intersect, g_pars.vec.kc)) -> value pdu { - var PDU_BSSMAP_CipherModeCommand ciphmodcmd := pdu.pdu.bssmap.cipherModeCommand; - if (g_pars.use_umts_aka and has_a54) { - var OCT32 fulloutput := f_calculate_HMAC_SHA256(g_pars.vec.ck & g_pars.vec.ik, '32'O, 32); - var OCT16 kc128 := substr(fulloutput, 0, 16); - if (not ispresent(ciphmodcmd.kC128)) { - setverdict(fail, "kc128 missing in CiphModCmd"); - mtc.stop; - } - if (ciphmodcmd.kC128.kC128_Value != kc128) { - setverdict(fail, "kc128 wrong in CiphModCmd?!", kc128); - mtc.stop; - } - } else { - if (ispresent(ciphmodcmd.kC128)) { - setverdict(fail, "kc128 present in CiphModCmd, but should not exist!"); - mtc.stop; - } - } - - var OCT1 a5_chosen := f_best_alg_from_mask(a5_intersect); + [] BSSAP.receive(expect_ciph_mode_cmd) -> value pdu { + var OCT1 a5_chosen := f_best_alg_from_mask(a5_perm_alg); var integer a5_nr := f_alg_from_mask(a5_chosen); BSSAP.send(ts_BSSMAP_CipherModeCompl(int2oct(a5_nr+1, 1))); } - [] BSSAP.receive(tr_BSSMAP_CipherModeCmd(?, g_pars.vec.kc)) { - setverdict(fail, "Wrong ciphering algorithm mask in CiphModCmd"); + [] BSSAP.receive(tr_BSSMAP_CipherModeCmd2) -> value pdu { + log("Error: Ciphering Mode Command with unexpected content. Expected: ", + expect_ciph_mode_cmd, " got: ", pdu); + setverdict(fail, "Ciphering Mode Command with unexpected content."); mtc.stop; } [] BSSAP.receive(tr_BSSMAP_ClassmarkRequest) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24758 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1f775889fb801d441ea6c8b0f0c34718b814c09e Gerrit-Change-Number: 24758 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 20:48:15 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Jun 2021 20:48:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: generate Milenage ck in f_get_expected_encryption() In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24759 ) Change subject: msc: generate Milenage ck in f_get_expected_encryption() ...................................................................... msc: generate Milenage ck in f_get_expected_encryption() Instead of overwriting the ck of the original auth vector, generate the Milenage-on-GERAN Ck key only for the expected ciphering IEs, centrally in f_get_expected_encryption(). Related: SYS#5324 Change-Id: Iec618ba7fddb2290fc0137d99a9b8d5e2b428b98 --- M msc/BSC_ConnectionHandler.ttcn 1 file changed, 7 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index 64848c5..3fa5fac 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -435,7 +435,6 @@ g_pars.vec.autn, g_pars.vec.res)); GSUP.send(ts_GSUP_SAI_RES(g_pars.imsi, auth_tuple)); - g_pars.vec.kc := f_auth3g_kc(g_pars.vec); } else { g_pars.vec := f_gen_auth_vec_2g(); auth_tuple := valueof(ts_GSUP_IE_AuthTuple2G(g_pars.vec.rand, @@ -576,7 +575,13 @@ return; } - encryptionInformation := tr_BSSMAP_IE_EncrInfo(g_pars.vec.kc, a5_perm_alg); + var OCT8 kc; + if (g_pars.use_umts_aka) { + kc := f_auth3g_kc(g_pars.vec); + } else { + kc := g_pars.vec.kc; + } + encryptionInformation := tr_BSSMAP_IE_EncrInfo(kc, a5_perm_alg); var OCT1 chosen_alg := int2oct(f_alg_from_mask(f_best_alg_from_mask(a5_perm_alg)) + 1, 1); chosenEncryptionAlgorithm := tr_BSSMAP_IE_ChosenEncryptionAlgorithm(chosen_alg); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24759 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iec618ba7fddb2290fc0137d99a9b8d5e2b428b98 Gerrit-Change-Number: 24759 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 20:48:16 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Jun 2021 20:48:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add vec_keep to lock the AuthVector In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24760 ) Change subject: msc: add vec_keep to lock the AuthVector ...................................................................... msc: add vec_keep to lock the AuthVector Next to AuthVector vec, add boolean vec_keep. When set to true, as_GSUP_SAI() skips the vector regeneration. An upcoming patch adds encryption to inter-BSC handover, which will use vec_keep := true. (See I57e43c60d4389bd301d0195179321a34401bd1dc ) Rationale: Usually, a random auth vector is generated during as_GSUP_SAI(). For inter-BSC handover, there are two separate virt-BSC components running. But to be able to verify that the correct key is passed on from the old to the new BSS, both titan components need to have the same AuthVector data. The easiest solution is to generate the AuthVector before launching the components, and then prevent that it is changed by as_GSUP_SAI(). Related: SYS#5324 Related: I57e43c60d4389bd301d0195179321a34401bd1dc Change-Id: I4bca739c2aad8342915e00a218f90fc19be7eafe --- M msc/BSC_ConnectionHandler.ttcn M msc/MSC_Tests.ttcn 2 files changed, 10 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/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index 3fa5fac..cf4e846 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -93,6 +93,9 @@ BSSMAP_IE_ClassmarkInformationType2 cm2, BSSMAP_IE_ClassmarkInformationType3 cm3 optional, AuthVector vec optional, + /* BSC_ConnectionHandler generates an auth vector in as_GSUP_SAI(). For tests that want control over which + * vector is used, pass vec_keep := true to not regenerate a new auth vector in as_GSUP_SAI(). */ + boolean vec_keep, BSC_ConnHdlrNetworkPars net, boolean send_early_cm, charstring ipa_ctrl_ip, @@ -426,7 +429,9 @@ var GSUP_IE auth_tuple; [] GSUP.receive(tr_GSUP_SAI_REQ(g_pars.imsi)) { if (g_pars.use_umts_aka) { - g_pars.vec := f_gen_auth_vec_3g(); + if (not g_pars.vec_keep) { + g_pars.vec := f_gen_auth_vec_3g(); + } auth_tuple := valueof(ts_GSUP_IE_AuthTuple2G3G(g_pars.vec.rand, g_pars.vec.sres, g_pars.vec.kc, @@ -436,7 +441,9 @@ g_pars.vec.res)); GSUP.send(ts_GSUP_SAI_RES(g_pars.imsi, auth_tuple)); } else { - g_pars.vec := f_gen_auth_vec_2g(); + if (not g_pars.vec_keep) { + g_pars.vec := f_gen_auth_vec_2g(); + } auth_tuple := valueof(ts_GSUP_IE_AuthTuple2G(g_pars.vec.rand, g_pars.vec.sres, g_pars.vec.kc)); diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index e37bc52..46a368e 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -387,6 +387,7 @@ cm2 := valueof(ts_CM2_default), cm3 := omit, vec := omit, + vec_keep := false, net := net_pars, send_early_cm := true, ipa_ctrl_ip := mp_msc_ip, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24760 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4bca739c2aad8342915e00a218f90fc19be7eafe Gerrit-Change-Number: 24760 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 20:48:17 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Jun 2021 20:48:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add inter-BSC HO tests with A5 encryption In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24761 ) Change subject: msc: add inter-BSC HO tests with A5 encryption ...................................................................... msc: add inter-BSC HO tests with A5 encryption Related: SYS#5324 Change-Id: I57e43c60d4389bd301d0195179321a34401bd1dc --- M library/BSSMAP_Templates.ttcn M msc/MSC_Tests.ttcn 2 files changed, 80 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index 21cf742..67537fb 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -954,11 +954,18 @@ } } -template PDU_BSSAP tr_BSSMAP_HandoverRequest modifies tr_BSSAP_BSSMAP := { +template PDU_BSSAP tr_BSSMAP_HandoverRequest(template BSSMAP_IE_EncryptionInformation encryptionInformation := *, + template BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm := *, + template BSSMAP_IE_KC128 kC128 := * + ) + modifies tr_BSSAP_BSSMAP := { pdu := { bssmap := { handoverRequest := { - messageType := '10'O + messageType := '10'O, + encryptionInformation := encryptionInformation, + chosenEncryptionAlgorithm := chosenEncryptionAlgorithm, + kC128 := kC128 } } } diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 46a368e..221123b 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -5764,8 +5764,22 @@ * from now on this here is the new BSS. */ f_create_bssmap_exp_handoverRequest(193); + var template BSSMAP_IE_EncryptionInformation encryptionInformation; + var template BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm; + var template BSSMAP_IE_KC128 kC128; + var OCT1 a5_perm_alg; + f_get_expected_encryption(encryptionInformation, chosenEncryptionAlgorithm, kC128, a5_perm_alg); + var template PDU_BSSAP expect_ho_request := tr_BSSMAP_HandoverRequest(encryptionInformation, chosenEncryptionAlgorithm, kC128); var PDU_BSSAP ho_request; - BSSAP.receive(tr_BSSMAP_HandoverRequest) -> value ho_request; + alt { + [] BSSAP.receive(expect_ho_request); + [] BSSAP.receive(tr_BSSMAP_HandoverRequest) -> value ho_request { + log("Error: Wrong handoverRequest received. Expected: ", expect_ho_request, + " got ", ho_request); + setverdict(fail, "Wrong handoverRequest received"); + mtc.stop; + } + } /* new BSS composes a RR Handover Command */ var PDU_ML3_NW_MS rr_ho_cmd := valueof(ts_RR_HandoverCommand); @@ -5812,9 +5826,22 @@ f_init_handler(pars); f_create_bssmap_exp_handoverRequest(194); + var template BSSMAP_IE_EncryptionInformation encryptionInformation; + var template BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm; + var template BSSMAP_IE_KC128 kC128; + var OCT1 a5_perm_alg; + f_get_expected_encryption(encryptionInformation, chosenEncryptionAlgorithm, kC128, a5_perm_alg); + var template PDU_BSSAP expect_ho_request := tr_BSSMAP_HandoverRequest(encryptionInformation, chosenEncryptionAlgorithm, kC128); var PDU_BSSAP ho_request; - BSSAP.receive(tr_BSSMAP_HandoverRequest) -> value ho_request; - + alt { + [] BSSAP.receive(expect_ho_request); + [] BSSAP.receive(tr_BSSMAP_HandoverRequest) -> value ho_request { + log("Error: Wrong handoverRequest received. Expected: ", expect_ho_request, + " got ", ho_request); + setverdict(fail, "Wrong handoverRequest received"); + mtc.stop; + } + } /* new BSS composes a RR Handover Command */ 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); @@ -5861,15 +5888,42 @@ f_expect_clear(); setverdict(pass); } -function f_tc_ho_inter_bsc_main(boolean use_ipv6 := false) runs on MTC_CT { +function f_tc_ho_inter_bsc_main(boolean use_ipv6 := false, integer a5_n := 0) runs on MTC_CT { var BSC_ConnHdlr vc_conn0; var BSC_ConnHdlr vc_conn1; f_init(2); var BSC_ConnHdlrPars pars0 := f_init_pars(53); pars0.use_ipv6 := use_ipv6; + pars0.net.expect_ciph := a5_n > 0; + pars0.net.expect_auth := pars0.net.expect_ciph; + pars0.net.kc_support := bit2oct('00000001'B << a5_n); + pars0.cm2.classmarkInformationType2_oct5.a5_3 := '1'B; + pars0.cm2.classmarkInformationType2_oct5.a5_2 := '0'B; + pars0.cm2.classmarkInformationType2_oct5.cm3 := '1'B; + pars0.cm3 := valueof(ts_CM3_default); + pars0.use_umts_aka := true; + pars0.vec := f_gen_auth_vec_3g(); + pars0.vec_keep := true; + var BSC_ConnHdlrPars pars1 := f_init_pars(53); pars1.use_ipv6 := use_ipv6; + pars1.net.expect_ciph := pars0.net.expect_ciph; + pars1.net.expect_auth := pars0.net.expect_ciph; + pars1.net.kc_support := bit2oct('00000001'B << a5_n); + pars1.cm2 := pars0.cm2; + pars1.cm3 := pars0.cm3; + pars1.use_umts_aka := true; + /* Both components need the same auth vector info because we expect f_tc_ho_inter_bsc0's ciphering key to be + * identical to the one that shows up in f_tc_ho_inter_bsc1. Can only do that by feeding in a vector to both + * components and then not overwriting it in BSC_ConnectionHandler. */ + pars1.vec := pars0.vec; + pars1.vec_keep := true; + + 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); @@ -5877,7 +5931,16 @@ vc_conn1.done; } testcase TC_ho_inter_bsc() runs on MTC_CT { - f_tc_ho_inter_bsc_main(false); + f_tc_ho_inter_bsc_main(false, a5_n := 0); +} +testcase TC_ho_inter_bsc_a5_1() runs on MTC_CT { + f_tc_ho_inter_bsc_main(false, a5_n := 1); +} +testcase TC_ho_inter_bsc_a5_3() runs on MTC_CT { + f_tc_ho_inter_bsc_main(false, a5_n := 3); +} +testcase TC_ho_inter_bsc_a5_4() runs on MTC_CT { + f_tc_ho_inter_bsc_main(false, a5_n := 4); } testcase TC_ho_inter_bsc_ipv6() runs on MTC_CT { f_tc_ho_inter_bsc_main(true); @@ -6614,6 +6677,9 @@ execute( TC_ho_inter_bsc_unknown_cell() ); execute( TC_ho_inter_bsc() ); + execute( TC_ho_inter_bsc_a5_1() ); + execute( TC_ho_inter_bsc_a5_3() ); + execute( TC_ho_inter_bsc_a5_4() ); execute( TC_ho_inter_bsc_ipv6() ); execute( TC_ho_inter_msc_out() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I57e43c60d4389bd301d0195179321a34401bd1dc Gerrit-Change-Number: 24761 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 20:48:17 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Jun 2021 20:48:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add inter-MSC HO tests with A5 encryption In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24767 ) Change subject: msc: add inter-MSC HO tests with A5 encryption ...................................................................... msc: add inter-MSC HO tests with A5 encryption Related: SYS#5324 Change-Id: Ia1df783be33bf752d291acb857d3c48882c65975 --- M msc/MSC_Tests.ttcn 1 file changed, 61 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/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 221123b..b12fb5e 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -5992,10 +5992,24 @@ /* The target cell 017-017 LAC 1 is configured to be a remote MSC of name "msc-017-017-1". * This MSC tries to reach the other MSC via GSUP. */ + var template BSSMAP_IE_EncryptionInformation encryptionInformation; + var template BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm; + var template BSSMAP_IE_KC128 kC128; + var OCT1 a5_perm_alg; + f_get_expected_encryption(encryptionInformation, chosenEncryptionAlgorithm, kC128, a5_perm_alg); + var template PDU_BSSAP expect_ho_request := tr_BSSMAP_HandoverRequest(encryptionInformation, chosenEncryptionAlgorithm, kC128); + var octetstring remote_msc_name := '6D73632D3031372D3031372D3100'O; /* "msc-017-017-1\0" as octetstring */ var GSUP_PDU prep_ho_req; - GSUP.receive(tr_GSUP_E_AN_APDU(OSMO_GSUP_MSGT_E_PREPARE_HANDOVER_REQUEST, - pars.imsi, destination_name := remote_msc_name)) -> value prep_ho_req; + 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; + [] 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; + } + } var GSUP_IeValue source_name_ie; f_gsup_find_ie(prep_ho_req, OSMO_GSUP_SOURCE_NAME_IE, source_name_ie); @@ -6006,7 +6020,8 @@ 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}))); + speechCodec := ts_BSSMAP_IE_SpeechCodec({ts_CodecFR}), + chosenEncryptionAlgorithm := chosenEncryptionAlgorithm)); GSUP.send(ts_GSUP_E_PrepareHandoverResult( pars.imsi, ho_number, @@ -6142,7 +6157,18 @@ )); /* MSC asks local BSS to prepare Handover to it */ - BSSAP.receive(tr_BSSMAP_HandoverRequest); + 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(tr_BSSMAP_HandoverRequest) -> value ho_request { + log("Error: Wrong handoverRequest received. Expected: ", expect_ho_request, + " got ", ho_request); + setverdict(fail, "Wrong handoverRequest received"); + mtc.stop; + } + } /* Make sure the new BSSAP conn continues with the correct N_SD sequence numbers */ f_bssmap_continue_after_n_sd(last_n_sd); @@ -6153,7 +6179,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}))); + tla, ts_BSSMAP_IE_SpeechCodec({ts_CodecFR}), + chosenEncryptionAlgorithm := chosenEncryptionAlgorithm)); /* HandoverCommand goes out via remote MSC-I */ var GSUP_PDU prep_subsq_ho_res; @@ -6190,15 +6217,40 @@ setverdict(pass); } -testcase TC_ho_inter_msc_out() runs on MTC_CT { +function f_tc_ho_inter_msc_out_a5(integer a5_n) runs on MTC_CT { var BSC_ConnHdlr vc_conn; f_init(1); var BSC_ConnHdlrPars pars := f_init_pars(54); + pars.net.expect_ciph := a5_n > 0; + pars.net.expect_auth := pars.net.expect_ciph; + pars.net.kc_support := bit2oct('00000001'B << a5_n); + pars.cm2.classmarkInformationType2_oct5.a5_3 := '1'B; + pars.cm2.classmarkInformationType2_oct5.a5_2 := '0'B; + pars.cm2.classmarkInformationType2_oct5.cm3 := '1'B; + pars.cm3 := valueof(ts_CM3_default); + pars.use_umts_aka := true; + + if (a5_n > 0) { + f_vty_config(MSCVTY, "network", "authentication required"); + } + 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.done; } +testcase TC_ho_inter_msc_out() runs on MTC_CT { + f_tc_ho_inter_msc_out_a5(0); +} +testcase TC_ho_inter_msc_out_a5_1() runs on MTC_CT { + f_tc_ho_inter_msc_out_a5(1); +} +testcase TC_ho_inter_msc_out_a5_3() runs on MTC_CT { + f_tc_ho_inter_msc_out_a5(3); +} +testcase TC_ho_inter_msc_out_a5_4() runs on MTC_CT { + f_tc_ho_inter_msc_out_a5(4); +} testcase TC_ho_inter_msc_out_ipv6() runs on MTC_CT { var BSC_ConnHdlr vc_conn; f_init(1); @@ -6683,6 +6735,9 @@ execute( TC_ho_inter_bsc_ipv6() ); execute( TC_ho_inter_msc_out() ); + execute( TC_ho_inter_msc_out_a5_1() ); + execute( TC_ho_inter_msc_out_a5_3() ); + execute( TC_ho_inter_msc_out_a5_4() ); execute( TC_ho_inter_msc_out_ipv6() ); execute( TC_lu_imsi_auth_tmsi_check_imei() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24767 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia1df783be33bf752d291acb857d3c48882c65975 Gerrit-Change-Number: 24767 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 21:19:44 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 21:19:44 +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 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24776/4/src/common/rsl.c File src/common/rsl.c: https://gerrit.osmocom.org/c/osmo-bts/+/24776/4/src/common/rsl.c at 2217 PS4, Line 2217: if (c0->ts[7].bcch_power_red_db > 0) > It's 8 iterations after all, I'd prefer having a more readable code not creating confusion tbh. Ok, my new approach that I wanted to submit is even more cumbersome. Nevermind. -- 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: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Jun 2021 21:19:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 22:59:56 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 22:59:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: fix indention and readability of some comments References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24808 ) Change subject: BTS_Tests.ttcn: fix indention and readability of some comments ...................................................................... BTS_Tests.ttcn: fix indention and readability of some comments Change-Id: I95c63c2d2498fec1915a2333d31d05f433560830 --- M bts/BTS_Tests.ttcn 1 file changed, 11 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/08/24808/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 64e3fc2..cb37677 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -2575,8 +2575,8 @@ } } -/* see if the rsl meas res contains our expeced bs power level -bs power set during assignment */ +/* See if the RSL MEASurement RESult contains expeced BS power level + * set _during_ the CHANnel ACTIVation procedure. */ private function f_TC_rsl_bs_pwr_static_ass(charstring id) runs on ConnHdlr { f_l1_tune(L1CTL); RSL.clear; @@ -2598,8 +2598,8 @@ f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); } -/* see if the rsl meas res contains our expeced bs power level -bs power set after assignment */ +/* See if the RSL MEASurement RESult contains expeced BS power level + * set _after_ the CHANnel ACTIVation procedure. */ private function f_TC_rsl_bs_pwr_static_power_control(charstring id) runs on ConnHdlr { f_l1_tune(L1CTL); RSL.clear; @@ -2648,9 +2648,9 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } -/* target level -100, first rssi -90, ms power 7, expected increase to 7+6 within 6 seconds, -second rssi -110, ms power 7+6, expected decrease to 7 within 6 seconds, -These power levels are valid for all bands and require no special handling */ +/* Target level -100, first rssi -90, ms power 7, expected increase to 7+6 within 6 seconds, + * second rssi -110, ms power 7+6, expected decrease to 7 within 6 seconds. + * These power levels are valid for all bands and require no special handling. */ private function f_TC_rsl_ms_pwr_dyn_ass_updown(charstring id) runs on ConnHdlr { var uint5_t pwr_var := 7; var SacchL1Header l1h; @@ -2848,8 +2848,8 @@ } -/* see if we change the power level without receiving power parameters, which should not happen -rsl chan act WITHOUT power parameters */ +/* See if the power level remains constant when MS Power Parameters IE + * is _absent_ in the CHANnel ACTIVation message. */ private function f_TC_rsl_ms_pwr_dyn_active(charstring id) runs on ConnHdlr { var SacchL1Header l1h; @@ -2889,8 +2889,8 @@ } -/* see if we change the power level without receiving power parameters, which should not happen -ms power control WITHOUT power parameters */ +/* See if the power level remains constant when MS Power Parameters IE + * is _absent_ in the CHANnel ACTIVation and MS Power Control messages. */ private function f_TC_rsl_ms_pwr_dyn_active2(charstring id) runs on ConnHdlr { var SacchL1Header l1h; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24808 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I95c63c2d2498fec1915a2333d31d05f433560830 Gerrit-Change-Number: 24808 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 Jun 29 23:01:15 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 23:01:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Types: add matching templates for BS Power Control References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24809 ) Change subject: library/RSL_Types: add matching templates for BS Power Control ...................................................................... library/RSL_Types: add matching templates for BS Power Control Change-Id: Iceba738f71043dc22880d085836f8be9d14821ab Related: SYS#4919 --- M library/RSL_Types.ttcn 1 file changed, 19 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/09/24809/1 diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index 10284b8..28ae971 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -448,6 +448,15 @@ fpc := fpc, power_level := power_level } + template RSL_IE_BS_Power + tr_RSL_IE_BS_Power(template (present) uint4_t power_level, + template (present) boolean epc := ?, + template (present) boolean fpc := ?) := { + reserved := ?, + epc := epc, + fpc := fpc, + power_level := power_level + } /* 9.3.7 */ type enumerated RSL_AlgId { @@ -1622,6 +1631,16 @@ /* One optional IE: BS POWER PARAMETERS */ } } + template RSL_Message tr_RSL_BS_PWR_CTRL(template (present) RslChannelNr chan_nr, + template (present) RSL_IE_BS_Power bs_power) := { + msg_disc := tr_RSL_MsgDisc(RSL_MDISC_DCHAN, false), + msg_type := RSL_MT_BS_POWER_CONTROL, + ies := { + tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}), + tr_RSL_IE(RSL_IE_Body:{bs_power := bs_power}) + /* One optional IE: BS POWER PARAMETERS */ + } + } /* 8.4.19 BTS -> BSC */ template (value) RSL_Message ts_RSL_RF_CHAN_REL_ACK(template (value) RslChannelNr chan_nr) := -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24809 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iceba738f71043dc22880d085836f8be9d14821ab Gerrit-Change-Number: 24809 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 Jun 29 23:01:15 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 23:01:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC: add a test case for BCCH carrier power reduction mode References: Message-ID: fixeria has uploaded this change for review. ( 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 Related: SYS#4919 --- M bsc/BSC_Tests.ttcn 1 file changed, 27 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/10/24810/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index cf6eaf6..6739790 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -6787,6 +6787,32 @@ f_shutdown_helper(); } +/* Verify activation and deactivation of the BCCH carrier power reduction mode */ +testcase TC_bcch_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 bcch-power-red " & 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, "bcch-power-reduction"); + if (cred != int2str(red)) { + setverdict(fail, "Unexpected BCCH carrier power reduction value ", + cred, " (expected ", red, ")"); + } + } + + f_shutdown_helper(); +} + /*********************************************************************** * MSC Pooling ***********************************************************************/ @@ -9205,6 +9231,7 @@ /* Power control related */ execute( TC_assignment_verify_ms_power_params_ie() ); + execute( TC_bcch_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: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 29 23:08:06 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 23:08:06 +0000 Subject: Change in osmo-bts[master]: osmo-bts-omldummy: indicate BTS_FEAT_BCCH_POWER_RED as supported References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24811 ) Change subject: osmo-bts-omldummy: indicate BTS_FEAT_BCCH_POWER_RED as supported ...................................................................... osmo-bts-omldummy: indicate BTS_FEAT_BCCH_POWER_RED as supported This is required for ttcn3-bsc-test, see change [1]. Change-Id: I765d5e38cb0746e0458773abf3717ee9bf1cb7d1 Related: [1] I084f7736cd7d09b68ed49f8ba52a14de928d4c01 Related: SYS#4919 --- M src/osmo-bts-omldummy/bts_model.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/11/24811/1 diff --git a/src/osmo-bts-omldummy/bts_model.c b/src/osmo-bts-omldummy/bts_model.c index 5624fc1..46558a1 100644 --- a/src/osmo-bts-omldummy/bts_model.c +++ b/src/osmo-bts-omldummy/bts_model.c @@ -187,6 +187,7 @@ bts->variant = BTS_OSMO_OMLDUMMY; osmo_bts_set_feature(bts->features, BTS_FEAT_CBCH); osmo_bts_set_feature(bts->features, BTS_FEAT_HOPPING); + osmo_bts_set_feature(bts->features, BTS_FEAT_BCCH_POWER_RED); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24811 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I765d5e38cb0746e0458773abf3717ee9bf1cb7d1 Gerrit-Change-Number: 24811 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 Jun 29 23:08:12 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 29 Jun 2021 23:08:12 +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: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24810 to look at the new patch set (#2). 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(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/10/24810/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: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 07:46:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 07:46: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 4: this osmocom specific extension ofRSL definitely needs to be documented in the "abis" pdf manual we generate -- 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: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 30 Jun 2021 07:46: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 Wed Jun 30 07:54:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 07:54:52 +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 4: (1 comment) 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 the naming is a bit flawed. We are _not_ actually reducing the BCCH power. We are reducing the power of the carrier that contains the BCCH on all timeslots except the BCCH. The comment clarifies this with "bcch carrier power reduction" while the variable name is the opposite: bcch_power_red... -- 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: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 30 Jun 2021 07:54:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 07:54:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 07:54:57 +0000 Subject: Change in osmo-bts[master]: Revert "power_control: BS power shall not be reduced on C0" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24782 ) Change subject: Revert "power_control: BS power shall not be reduced on C0" ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24782 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0d2b48c4b2af2d8e94f4ad02fa4774dbd0a0a654 Gerrit-Change-Number: 24782 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Jun 2021 07:54:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 07:55:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 07:55:08 +0000 Subject: Change in osmo-bts[master]: osmo-bts-omldummy: indicate BTS_FEAT_BCCH_POWER_RED as supported In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24811 ) Change subject: osmo-bts-omldummy: indicate BTS_FEAT_BCCH_POWER_RED as supported ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24811 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I765d5e38cb0746e0458773abf3717ee9bf1cb7d1 Gerrit-Change-Number: 24811 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 30 Jun 2021 07:55:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 07:57:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 07:57:13 +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 1: 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: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Jun 2021 07:57:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 07:57:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 07:57:51 +0000 Subject: Change in osmo-bsc[master]: power_control: omit BS Power Parameters IE if the maximum is 0 dB In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/22165 ) Change subject: power_control: omit BS Power Parameters IE if the maximum is 0 dB ...................................................................... Patch Set 8: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/22165 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If8507992dfd90ade1edda99b72bf2420a702ccd5 Gerrit-Change-Number: 22165 Gerrit-PatchSet: 8 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Jun 2021 07:57: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 Jun 30 08:00:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:00:03 +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 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24777/2/include/osmocom/bsc/bts.h File include/osmocom/bsc/bts.h: https://gerrit.osmocom.org/c/osmo-bsc/+/24777/2/include/osmocom/bsc/bts.h at 548 PS2, Line 548: bcch_max_power_red_db also here we have this inversion of the variable name vs. the purpose. We are not reducing the bcch at all, but anything except the BCCH on the same carrier. Same goes for the name of the VTY command. I find that confusing. -- 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: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 30 Jun 2021 08:00:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:00:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:00:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Types: add matching templates for BS Power Control In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24809 ) Change subject: library/RSL_Types: add matching templates for BS Power Control ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24809 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iceba738f71043dc22880d085836f8be9d14821ab Gerrit-Change-Number: 24809 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 30 Jun 2021 08:00:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:00:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:00:43 +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 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24810/2/bsc/BSC_Tests.ttcn File bsc/BSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24810/2/bsc/BSC_Tests.ttcn at 6791 PS2, Line 6791: TC_bcch_power_red_mode likewise, we don't reduce the BCCH. -- 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: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 30 Jun 2021 08: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 Wed Jun 30 08:00:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:00:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests_SMSCB: ensure f_shutdown() is called in all test cases In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24768 ) Change subject: BTS_Tests_SMSCB: ensure f_shutdown() is called in all test cases ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24768 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3f2c327e1e44d5decd4a936f063af649687f950a Gerrit-Change-Number: 24768 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Jun 2021 08:00:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:01:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:01:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: fix indention and readability of some comments In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24808 ) Change subject: BTS_Tests.ttcn: fix indention and readability of some comments ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24808 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I95c63c2d2498fec1915a2333d31d05f433560830 Gerrit-Change-Number: 24808 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 30 Jun 2021 08: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 Jun 30 08:01:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:01:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests_SMSCB: ensure f_shutdown() is called in all test cases In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24768 ) Change subject: BTS_Tests_SMSCB: ensure f_shutdown() is called in all test cases ...................................................................... BTS_Tests_SMSCB: ensure f_shutdown() is called in all test cases This fixes sporadic test case failures due to race conditions. Change-Id: I3f2c327e1e44d5decd4a936f063af649687f950a --- M bts/BTS_Tests_SMSCB.ttcn 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bts/BTS_Tests_SMSCB.ttcn b/bts/BTS_Tests_SMSCB.ttcn index dda78fd..942bad3 100644 --- a/bts/BTS_Tests_SMSCB.ttcn +++ b/bts/BTS_Tests_SMSCB.ttcn @@ -1005,6 +1005,8 @@ setverdict(fail, "Segment ", i, " not received often enough"); } } + + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } /* Ensure only Paging Type 1 without ETWS Primary Notification are sent after disabling them */ @@ -1045,6 +1047,8 @@ setverdict(pass); } } + + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } /* Ensure ETWS Primary Notification is passed from RSL to PCU interface */ @@ -1070,6 +1074,8 @@ setverdict(fail, "PCU socket timeout receiving APP INFO (ETWS)"); } } + + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24768 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3f2c327e1e44d5decd4a936f063af649687f950a Gerrit-Change-Number: 24768 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 Wed Jun 30 08:01:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:01:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: fix indention and readability of some comments In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24808 ) Change subject: BTS_Tests.ttcn: fix indention and readability of some comments ...................................................................... BTS_Tests.ttcn: fix indention and readability of some comments Change-Id: I95c63c2d2498fec1915a2333d31d05f433560830 --- M bts/BTS_Tests.ttcn 1 file changed, 11 insertions(+), 11 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 64e3fc2..cb37677 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -2575,8 +2575,8 @@ } } -/* see if the rsl meas res contains our expeced bs power level -bs power set during assignment */ +/* See if the RSL MEASurement RESult contains expeced BS power level + * set _during_ the CHANnel ACTIVation procedure. */ private function f_TC_rsl_bs_pwr_static_ass(charstring id) runs on ConnHdlr { f_l1_tune(L1CTL); RSL.clear; @@ -2598,8 +2598,8 @@ f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); } -/* see if the rsl meas res contains our expeced bs power level -bs power set after assignment */ +/* See if the RSL MEASurement RESult contains expeced BS power level + * set _after_ the CHANnel ACTIVation procedure. */ private function f_TC_rsl_bs_pwr_static_power_control(charstring id) runs on ConnHdlr { f_l1_tune(L1CTL); RSL.clear; @@ -2648,9 +2648,9 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } -/* target level -100, first rssi -90, ms power 7, expected increase to 7+6 within 6 seconds, -second rssi -110, ms power 7+6, expected decrease to 7 within 6 seconds, -These power levels are valid for all bands and require no special handling */ +/* Target level -100, first rssi -90, ms power 7, expected increase to 7+6 within 6 seconds, + * second rssi -110, ms power 7+6, expected decrease to 7 within 6 seconds. + * These power levels are valid for all bands and require no special handling. */ private function f_TC_rsl_ms_pwr_dyn_ass_updown(charstring id) runs on ConnHdlr { var uint5_t pwr_var := 7; var SacchL1Header l1h; @@ -2848,8 +2848,8 @@ } -/* see if we change the power level without receiving power parameters, which should not happen -rsl chan act WITHOUT power parameters */ +/* See if the power level remains constant when MS Power Parameters IE + * is _absent_ in the CHANnel ACTIVation message. */ private function f_TC_rsl_ms_pwr_dyn_active(charstring id) runs on ConnHdlr { var SacchL1Header l1h; @@ -2889,8 +2889,8 @@ } -/* see if we change the power level without receiving power parameters, which should not happen -ms power control WITHOUT power parameters */ +/* See if the power level remains constant when MS Power Parameters IE + * is _absent_ in the CHANnel ACTIVation and MS Power Control messages. */ private function f_TC_rsl_ms_pwr_dyn_active2(charstring id) runs on ConnHdlr { var SacchL1Header l1h; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24808 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I95c63c2d2498fec1915a2333d31d05f433560830 Gerrit-Change-Number: 24808 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:01:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:01:47 +0000 Subject: Change in libosmocore[master]: add fixme: enforce 8 byte length of Kc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24807 ) Change subject: add fixme: enforce 8 byte length of Kc ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24807 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I57efb0a24cb71b365189eccb5088b130fad15093 Gerrit-Change-Number: 24807 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 30 Jun 2021 08:01: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 Jun 30 08:01:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:01:49 +0000 Subject: Change in libosmocore[master]: add fixme: enforce 8 byte length of Kc In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24807 ) Change subject: add fixme: enforce 8 byte length of Kc ...................................................................... add fixme: enforce 8 byte length of Kc Change-Id: I57efb0a24cb71b365189eccb5088b130fad15093 --- M src/gsm/gsm0808_utils.c 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/gsm/gsm0808_utils.c b/src/gsm/gsm0808_utils.c index b5b8431..78cbe92 100644 --- a/src/gsm/gsm0808_utils.c +++ b/src/gsm/gsm0808_utils.c @@ -721,6 +721,8 @@ } msgb_put_u8(msg, perm_algo); + /* FIXME: 48.008 3.2.2.10 Encryption Information says: + * "When present, the key shall be 8 octets long." */ ptr = msgb_put(msg, ei->key_len); memcpy(ptr, ei->key, ei->key_len); @@ -760,6 +762,8 @@ } ei->perm_algo_len = perm_algo_len; + /* FIXME: 48.008 3.2.2.10 Encryption Information says: + * "When present, the key shall be 8 octets long." */ ei->key_len = len - 1; memcpy(ei->key, elem, ei->key_len); elem+=ei->key_len; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24807 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I57efb0a24cb71b365189eccb5088b130fad15093 Gerrit-Change-Number: 24807 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:02:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:02:10 +0000 Subject: Change in osmo-bsc[master]: hodec2: add test case showing low rxlev tch/h<->tch/f oscillation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24794 ) Change subject: hodec2: add test case showing low rxlev tch/h<->tch/f oscillation ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24794 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iee2d4b9eaf902ba7fb546a9bb261324b2f7d1fc7 Gerrit-Change-Number: 24794 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Jun 2021 08:02: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 Jun 30 08:02:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:02:14 +0000 Subject: Change in osmo-bsc[master]: hodec2: add test case showing low rxqual tch/h<->tch/f oscillation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24796 ) Change subject: hodec2: add test case showing low rxqual tch/h<->tch/f oscillation ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I43726c5563c9c31389600ef0ff6855add5af3a03 Gerrit-Change-Number: 24796 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Jun 2021 08:02: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 Jun 30 08:02:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:02:26 +0000 Subject: Change in osmo-bsc[master]: handover_decision_2.c: add is_low_rxlev() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24805 ) Change subject: handover_decision_2.c: add is_low_rxlev() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4aaeb8bc35a142962ac8ca6401a76b0733f7979e Gerrit-Change-Number: 24805 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 30 Jun 2021 08:02: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 Jun 30 08:02:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:02:36 +0000 Subject: Change in osmo-bsc[master]: hodec2: fix low rxlev tch/h<->tch/f oscillation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24795 ) Change subject: hodec2: fix low rxlev tch/h<->tch/f oscillation ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24795 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibc3ac7ce6190b4e854fa42d5376a7038ddfbd6e5 Gerrit-Change-Number: 24795 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Jun 2021 08:02: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 Jun 30 08:02:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:02:46 +0000 Subject: Change in osmo-bsc[master]: handover_decision_2.c: add current_rxqual() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24806 ) Change subject: handover_decision_2.c: add current_rxqual() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24806 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0d5bdaa9605f2bd4241cdd47ccf1ce1c697818a8 Gerrit-Change-Number: 24806 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 30 Jun 2021 08:02: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 Jun 30 08:03:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:03:03 +0000 Subject: Change in osmo-bsc[master]: hodec2: fix low rxqual tch/h<->tch/f oscillation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24797 ) Change subject: hodec2: fix low rxqual tch/h<->tch/f oscillation ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24797 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I96cd5a494e661ba3bb0b6d22d25a9968d2a6813c Gerrit-Change-Number: 24797 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Jun 2021 08:03: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 Jun 30 08:03:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:03:24 +0000 Subject: Change in osmo-bsc[master]: hodec2: add test case showing low rxlev tch/h<->tch/f oscillation In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24794 ) Change subject: hodec2: add test case showing low rxlev tch/h<->tch/f oscillation ...................................................................... hodec2: add test case showing low rxlev tch/h<->tch/f oscillation Related: SYS#5365 Change-Id: Iee2d4b9eaf902ba7fb546a9bb261324b2f7d1fc7 --- M tests/handover/handover_tests.ok A tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty 2 files changed, 30 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/tests/handover/handover_tests.ok b/tests/handover/handover_tests.ok index d0ce163..7de70e1 100644 --- a/tests/handover/handover_tests.ok +++ b/tests/handover/handover_tests.ok @@ -9,6 +9,7 @@ pass test_amr_tch_h_to_f_congestion_two_cells.ho_vty pass test_amr_tch_h_to_f_rxlev.ho_vty pass test_amr_tch_h_to_f_rxlev_congested.ho_vty +pass test_amr_tch_h_to_f_rxlev_oscillation.ho_vty pass test_amr_tch_h_to_f_rxqual.ho_vty pass test_amr_tch_h_to_f_rxqual_congested.ho_vty pass test_balance_congestion.ho_vty diff --git a/tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty b/tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty new file mode 100644 index 0000000..076076b --- /dev/null +++ b/tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty @@ -0,0 +1,29 @@ +# Low RxLev causes upgrade of TCH/H to TCH/F. +# That leads to congestion of TCH/F, but do not handover back to non-congested TCH/H. + +network + handover2 afs-bias rxlev 0 + handover2 min rxlev -80 + handover2 window rxlev averaging 1 + handover2 min-free-slots tch/f 3 + handover2 min-free-slots tch/h 4 + +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/H- - - * +meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 +# average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev +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 lchan 0 0 1 0 rxlev 23 rxqual 1 ta 0 +congestion-check +# FAIL: should stay on TCH/F because rxlev is low, do not oscillate between TCH/F and /H. +expect-as from lchan 0 0 1 0 to lchan 0 0 4 0 +expect-ts-use trx 0 0 states * - - - TCH/H- - - * +meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 +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 lchan 0 0 1 0 rxlev 23 rxqual 1 ta 0 +congestion-check +expect-as from lchan 0 0 1 0 to lchan 0 0 4 0 +expect-ts-use trx 0 0 states * - - - TCH/H- - - * -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24794 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iee2d4b9eaf902ba7fb546a9bb261324b2f7d1fc7 Gerrit-Change-Number: 24794 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:03:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:03:24 +0000 Subject: Change in osmo-bsc[master]: hodec2: add test case showing low rxqual tch/h<->tch/f oscillation In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24796 ) Change subject: hodec2: add test case showing low rxqual tch/h<->tch/f oscillation ...................................................................... hodec2: add test case showing low rxqual tch/h<->tch/f oscillation Related: SYS#5198 Change-Id: I43726c5563c9c31389600ef0ff6855add5af3a03 --- M tests/handover/handover_tests.ok A tests/handover/test_amr_tch_h_to_f_rxqual_oscillation.ho_vty 2 files changed, 30 insertions(+), 0 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 dexter: Looks good to me, but someone else must approve neels: Looks good to me, approved diff --git a/tests/handover/handover_tests.ok b/tests/handover/handover_tests.ok index 7de70e1..b76c032 100644 --- a/tests/handover/handover_tests.ok +++ b/tests/handover/handover_tests.ok @@ -12,6 +12,7 @@ pass test_amr_tch_h_to_f_rxlev_oscillation.ho_vty pass test_amr_tch_h_to_f_rxqual.ho_vty pass test_amr_tch_h_to_f_rxqual_congested.ho_vty +pass test_amr_tch_h_to_f_rxqual_oscillation.ho_vty pass test_balance_congestion.ho_vty pass test_balance_congestion_2.ho_vty pass test_balance_congestion_by_percentage.ho_vty diff --git a/tests/handover/test_amr_tch_h_to_f_rxqual_oscillation.ho_vty b/tests/handover/test_amr_tch_h_to_f_rxqual_oscillation.ho_vty new file mode 100644 index 0000000..a98e917 --- /dev/null +++ b/tests/handover/test_amr_tch_h_to_f_rxqual_oscillation.ho_vty @@ -0,0 +1,29 @@ +# Low RxQual causes upgrade of TCH/H to TCH/F. +# That leads to congestion of TCH/F, but do not handover back to non-congested TCH/H. + +network + handover2 afs-bias rxlev 0 + handover2 min rxqual 5 + handover2 window rxqual averaging 1 + handover2 min-free-slots tch/f 3 + handover2 min-free-slots tch/h 4 + +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/H- - - * +meas-rep lchan 0 0 4 0 rxlev 30 rxqual 6 ta 0 +# average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev +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 lchan 0 0 1 0 rxlev 30 rxqual 6 ta 0 +congestion-check +# FAIL: should stay on TCH/F because rxqual is low, do not oscillate between TCH/F and /H. +expect-as from lchan 0 0 1 0 to lchan 0 0 4 0 +expect-ts-use trx 0 0 states * - - - TCH/H- - - * +meas-rep lchan 0 0 4 0 rxlev 30 rxqual 6 ta 0 +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 lchan 0 0 1 0 rxlev 30 rxqual 6 ta 0 +congestion-check +expect-as from lchan 0 0 1 0 to lchan 0 0 4 0 +expect-ts-use trx 0 0 states * - - - TCH/H- - - * -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I43726c5563c9c31389600ef0ff6855add5af3a03 Gerrit-Change-Number: 24796 Gerrit-PatchSet: 3 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 Wed Jun 30 08:03:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:03:25 +0000 Subject: Change in osmo-bsc[master]: handover_decision_2.c: add is_low_rxlev() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24805 ) Change subject: handover_decision_2.c: add is_low_rxlev() ...................................................................... handover_decision_2.c: add is_low_rxlev() Remove code dup. Also this will be used another time by an upcoming patch. Change-Id: I4aaeb8bc35a142962ac8ca6401a76b0733f7979e --- M src/osmo-bsc/handover_decision_2.c 1 file changed, 9 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index d4ebc41..97c8b6e 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -250,6 +250,12 @@ ho_get_hodec2_rxlev_avg_win(bts->ho)); } +static bool is_low_rxlev(int rxlev_current, struct handover_cfg *neigh_cfg) +{ + return rxlev_current >= 0 + && rxlev2dbm(rxlev_current) < ho_get_hodec2_min_rxlev(neigh_cfg); +} + /* obtain averaged rxlev for given neighbor */ static int neigh_meas_avg(struct neigh_meas_proc *nmp, int window) { @@ -1069,7 +1075,6 @@ .bsic = nmp->bsic, }; struct ho_candidate c; - int min_rxlev; struct handover_cfg *neigh_cfg; /* skip empty slots */ @@ -1137,12 +1142,11 @@ /* if the minimum level is not reached. * In case of a remote-BSS, use the current BTS' configuration. */ - min_rxlev = ho_get_hodec2_min_rxlev(neigh_cfg); - if (rxlev2dbm(c.target.rxlev) < min_rxlev) { + if (is_low_rxlev(c.target.rxlev, neigh_cfg)) { LOGPHOCAND(&c, LOGL_DEBUG, "Not a candidate, because RX level (%d dBm) is lower" " than the minimum required RX level (%d dBm)\n", - rxlev2dbm(c.target.rxlev), min_rxlev); + rxlev2dbm(c.target.rxlev), ho_get_hodec2_min_rxlev(neigh_cfg)); return; } @@ -1505,7 +1509,7 @@ } /* Low Level */ - if (av_rxlev >= 0 && rxlev2dbm(av_rxlev) < ho_get_hodec2_min_rxlev(bts->ho)) { + if (is_low_rxlev(av_rxlev, bts->ho)) { global_ho_reason = HO_REASON_LOW_RXLEVEL; LOGPHOLCHAN(lchan, LOGL_NOTICE, "RX level is TOO LOW: %d < %d\n", rxlev2dbm(av_rxlev), ho_get_hodec2_min_rxlev(bts->ho)); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4aaeb8bc35a142962ac8ca6401a76b0733f7979e Gerrit-Change-Number: 24805 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:03:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:03:25 +0000 Subject: Change in osmo-bsc[master]: hodec2: fix low rxlev tch/h<->tch/f oscillation In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24795 ) Change subject: hodec2: fix low rxlev tch/h<->tch/f oscillation ...................................................................... hodec2: fix low rxlev tch/h<->tch/f oscillation Related: SYS#5365 Change-Id: Ibc3ac7ce6190b4e854fa42d5376a7038ddfbd6e5 --- M src/osmo-bsc/handover_decision_2.c M tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty 2 files changed, 5 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 97c8b6e..c9d1198 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -1191,7 +1191,10 @@ assignment = ho_get_hodec2_as_active(bts->ho); handover = ho_get_ho_active(bts->ho); - if (assignment) + /* See if re-assignment within the same cell can resolve congestion. + * But: when TCH/F has low rxlev, do not re-assign. If a low rxlev TCH/F were re-assigned to TCH/H, we would + * subsequently oscillate back to TCH/F due to low rxlev. So skip TCH/F with low rxlev. */ + if (assignment && !(lchan->type == GSM_LCHAN_TCH_F && is_low_rxlev(rxlev_current, bts->ho))) collect_assignment_candidate(lchan, clist, candidates, rxlev_current); if (handover) { diff --git a/tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty b/tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty index 076076b..2ef927d 100644 --- a/tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty +++ b/tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty @@ -17,13 +17,4 @@ meas-rep lchan 0 0 1 0 rxlev 23 rxqual 1 ta 0 congestion-check -# FAIL: should stay on TCH/F because rxlev is low, do not oscillate between TCH/F and /H. -expect-as from lchan 0 0 1 0 to lchan 0 0 4 0 -expect-ts-use trx 0 0 states * - - - TCH/H- - - * -meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0 -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 lchan 0 0 1 0 rxlev 23 rxqual 1 ta 0 -congestion-check -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 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24795 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibc3ac7ce6190b4e854fa42d5376a7038ddfbd6e5 Gerrit-Change-Number: 24795 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:03:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:03:25 +0000 Subject: Change in osmo-bsc[master]: handover_decision_2.c: add current_rxqual() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24806 ) Change subject: handover_decision_2.c: add current_rxqual() ...................................................................... handover_decision_2.c: add current_rxqual() Pre-empt code dup: this will be also used by an upcoming patch, so first put it in a function. Change-Id: I0d5bdaa9605f2bd4241cdd47ccf1ce1c697818a8 --- M src/osmo-bsc/handover_decision_2.c 1 file changed, 10 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index c9d1198..7a14f06 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -250,6 +250,15 @@ 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, + ho_get_hodec2_rxqual_avg_win(bts->ho)); +} + static bool is_low_rxlev(int rxlev_current, struct handover_cfg *neigh_cfg) { return rxlev_current >= 0 @@ -1464,10 +1473,7 @@ /* get average levels. if not enough measurements yet, value is < 0 */ av_rxlev = current_rxlev(lchan); - av_rxqual = get_meas_rep_avg(lchan, - ho_get_hodec2_full_tdma(bts->ho) ? - MEAS_REP_DL_RXQUAL_FULL : MEAS_REP_DL_RXQUAL_SUB, - ho_get_hodec2_rxqual_avg_win(bts->ho)); + av_rxqual = current_rxqual(lchan); if (av_rxlev < 0 && av_rxqual < 0) { LOGPHOLCHAN(lchan, LOGL_INFO, "Skipping, Not enough recent measurements\n"); return; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24806 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0d5bdaa9605f2bd4241cdd47ccf1ce1c697818a8 Gerrit-Change-Number: 24806 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:03:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:03:26 +0000 Subject: Change in osmo-bsc[master]: hodec2: fix low rxqual tch/h<->tch/f oscillation In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24797 ) Change subject: hodec2: fix low rxqual tch/h<->tch/f oscillation ...................................................................... hodec2: fix low rxqual tch/h<->tch/f oscillation Related: SYS#5198 Change-Id: I96cd5a494e661ba3bb0b6d22d25a9968d2a6813c --- M src/osmo-bsc/handover_decision_2.c M tests/handover/test_amr_tch_h_to_f_rxqual_oscillation.ho_vty 2 files changed, 13 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 7a14f06..0966583 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -265,6 +265,15 @@ && rxlev2dbm(rxlev_current) < ho_get_hodec2_min_rxlev(neigh_cfg); } +static bool is_low_rxqual(int rxqual_current, struct handover_cfg *neigh_cfg) +{ + /* min_rxqual is actually a bit of a misnomer, low quality is a high number. So the "min" refers to the minimum + * acceptable level of quality, and "min or better" here means "rxqual number must be SMALLER-or-equal than the + * min-rxqual setting". */ + return rxqual_current >= 0 + && rxqual_current > ho_get_hodec2_min_rxqual(neigh_cfg); +} + /* obtain averaged rxlev for given neighbor */ static int neigh_meas_avg(struct neigh_meas_proc *nmp, int window) { @@ -1203,7 +1212,9 @@ /* See if re-assignment within the same cell can resolve congestion. * But: when TCH/F has low rxlev, do not re-assign. If a low rxlev TCH/F were re-assigned to TCH/H, we would * subsequently oscillate back to TCH/F due to low rxlev. So skip TCH/F with low rxlev. */ - if (assignment && !(lchan->type == GSM_LCHAN_TCH_F && is_low_rxlev(rxlev_current, bts->ho))) + if (assignment + && !(lchan->type == GSM_LCHAN_TCH_F + && (is_low_rxlev(rxlev_current, bts->ho) || is_low_rxqual(current_rxqual(lchan), bts->ho)))) collect_assignment_candidate(lchan, clist, candidates, rxlev_current); if (handover) { diff --git a/tests/handover/test_amr_tch_h_to_f_rxqual_oscillation.ho_vty b/tests/handover/test_amr_tch_h_to_f_rxqual_oscillation.ho_vty index a98e917..e628f03 100644 --- a/tests/handover/test_amr_tch_h_to_f_rxqual_oscillation.ho_vty +++ b/tests/handover/test_amr_tch_h_to_f_rxqual_oscillation.ho_vty @@ -17,13 +17,4 @@ meas-rep lchan 0 0 1 0 rxlev 30 rxqual 6 ta 0 congestion-check -# FAIL: should stay on TCH/F because rxqual is low, do not oscillate between TCH/F and /H. -expect-as from lchan 0 0 1 0 to lchan 0 0 4 0 -expect-ts-use trx 0 0 states * - - - TCH/H- - - * -meas-rep lchan 0 0 4 0 rxlev 30 rxqual 6 ta 0 -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 lchan 0 0 1 0 rxlev 30 rxqual 6 ta 0 -congestion-check -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 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24797 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I96cd5a494e661ba3bb0b6d22d25a9968d2a6813c Gerrit-Change-Number: 24797 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:04:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:04:01 +0000 Subject: Change in libosmocore[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/libosmocore/+/24784 ) Change subject: Rename osmo dyn ts enums to contain SDCCH8 ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24784/1/include/osmocom/gsm/gsm_utils.h File include/osmocom/gsm/gsm_utils.h: https://gerrit.osmocom.org/c/libosmocore/+/24784/1/include/osmocom/gsm/gsm_utils.h at 216 PS1, Line 216: GSM_PCHAN_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH > The name gets longer and harder to read. [?] Ack -- 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: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 30 Jun 2021 08:04:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:04:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:04:32 +0000 Subject: Change in libosmocore[master]: bts_feature: Introduce feature to confiure dyn ts as sdcch8 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24788 ) Change subject: bts_feature: Introduce feature to confiure dyn ts as sdcch8 ...................................................................... Patch Set 2: Code-Review+2 -- 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: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 30 Jun 2021 08:04:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:06:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:06:56 +0000 Subject: Change in osmo-ccid-firmware[master]: cuart: reset on poweroff In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/24787 ) Change subject: cuart: reset on poweroff ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/24787 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: I20bb650d731d54f743d7031fe67916239233ecd3 Gerrit-Change-Number: 24787 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 30 Jun 2021 08:06:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:06:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:06:58 +0000 Subject: Change in osmo-ccid-firmware[master]: cuart: reset on poweroff In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/24787 ) Change subject: cuart: reset on poweroff ...................................................................... cuart: reset on poweroff Those settings (ccid setparameters, and internal uart driving) shiuld be reset upon powering off. Change-Id: I20bb650d731d54f743d7031fe67916239233ecd3 --- M sysmoOCTSIM/cuart_driver_asf4_usart_async.c 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/sysmoOCTSIM/cuart_driver_asf4_usart_async.c b/sysmoOCTSIM/cuart_driver_asf4_usart_async.c index 42c2110..7822c1b 100644 --- a/sysmoOCTSIM/cuart_driver_asf4_usart_async.c +++ b/sysmoOCTSIM/cuart_driver_asf4_usart_async.c @@ -481,6 +481,12 @@ 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/+/24787 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: I20bb650d731d54f743d7031fe67916239233ecd3 Gerrit-Change-Number: 24787 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 Wed Jun 30 08:07:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:07:22 +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 2: 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: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 30 Jun 2021 08:07: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 Jun 30 08:08:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:08:09 +0000 Subject: Change in osmo-bsc[master]: lchan-select: Avoid setting variable for no reason In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24780 ) Change subject: lchan-select: Avoid setting variable for no reason ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24780 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib6ee28aa9a449992f5d3dea6df7dd2b7e30e73c9 Gerrit-Change-Number: 24780 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 30 Jun 2021 08: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 Jun 30 08:08:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:08:34 +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+1 -- 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: laforge Gerrit-Comment-Date: Wed, 30 Jun 2021 08:08: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 Jun 30 08:08:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:08:41 +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+1 -- 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: Wed, 30 Jun 2021 08:08:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:08:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:08:46 +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+1 -- 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-Comment-Date: Wed, 30 Jun 2021 08:08: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 Jun 30 08:12:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:12:57 +0000 Subject: Change in osmo-pcu[master]: Support proto IPAC_PROTO_EXT_PCU BSC<->PCU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24756 ) Change subject: Support proto IPAC_PROTO_EXT_PCU BSC<->PCU ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24756 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I633db291107883c2e370a9b56606d562a990b714 Gerrit-Change-Number: 24756 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 30 Jun 2021 08:12:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:13:00 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:13:00 +0000 Subject: Change in osmo-pcu[master]: pcuif_proto.h: Add new container message In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24620 ) Change subject: pcuif_proto.h: Add new container message ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24620 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib6c7bf5ca5a06186a71ec50cfc1a91a5c9b01d9c Gerrit-Change-Number: 24620 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 30 Jun 2021 08:13: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 Jun 30 08:13:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:13:05 +0000 Subject: Change in osmo-pcu[master]: pcuif_proto.h: Add new container message In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24620 ) Change subject: pcuif_proto.h: Add new container message ...................................................................... pcuif_proto.h: Add new container message Related: SYS#5303 Change-Id: Ib6c7bf5ca5a06186a71ec50cfc1a91a5c9b01d9c --- M include/osmocom/pcu/pcuif_proto.h 1 file changed, 10 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/pcu/pcuif_proto.h b/include/osmocom/pcu/pcuif_proto.h index 0c46c52..23b7a2c 100644 --- a/include/osmocom/pcu/pcuif_proto.h +++ b/include/osmocom/pcu/pcuif_proto.h @@ -24,6 +24,7 @@ #define PCU_IF_MSG_INTERF_IND 0x53 /* interference report */ #define PCU_IF_MSG_PAG_REQ 0x60 /* paging request */ #define PCU_IF_MSG_TXT_IND 0x70 /* Text indication for BTS */ +#define PCU_IF_MSG_CONTAINER 0x80 /* Transparent container message */ /* sapi */ #define PCU_IF_SAPI_RACH 0x01 /* channel request on CCCH */ @@ -219,6 +220,14 @@ uint8_t interf[8]; } __attribute__ ((packed)); +/* Contains messages transmitted BSC<->PCU, potentially forwarded by BTS via IPA/PCU */ +struct gsm_pcu_if_container { + uint8_t msg_type; + uint8_t spare; + uint16_t length; /* network byte order */ + uint8_t data[0]; +} __attribute__ ((packed)); + struct gsm_pcu_if { /* context based information */ uint8_t msg_type; /* message type */ @@ -240,6 +249,7 @@ struct gsm_pcu_if_pag_req pag_req; struct gsm_pcu_if_app_info_req app_info_req; struct gsm_pcu_if_interf_ind interf_ind; + struct gsm_pcu_if_container container; } u; } __attribute__ ((packed)); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24620 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib6c7bf5ca5a06186a71ec50cfc1a91a5c9b01d9c Gerrit-Change-Number: 24620 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:13:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:13:06 +0000 Subject: Change in osmo-pcu[master]: Support proto IPAC_PROTO_EXT_PCU BSC<->PCU In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24756 ) Change subject: Support proto IPAC_PROTO_EXT_PCU BSC<->PCU ...................................................................... Support proto IPAC_PROTO_EXT_PCU BSC<->PCU Related: SYS#5303 Change-Id: I633db291107883c2e370a9b56606d562a990b714 --- M src/osmobts_sock.c M src/pcu_l1_if.cpp M src/pcu_l1_if.h M tests/app_info/AppInfoTest.cpp 4 files changed, 65 insertions(+), 12 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmobts_sock.c b/src/osmobts_sock.c index 4e1171f..5c6415f 100644 --- a/src/osmobts_sock.c +++ b/src/osmobts_sock.c @@ -133,10 +133,12 @@ static int pcu_sock_read(struct osmo_fd *bfd) { - struct gsm_pcu_if pcu_prim; + const size_t max_len = sizeof(struct gsm_pcu_if) + 1000; + uint8_t *buf = alloca(max_len); + struct gsm_pcu_if *pcu_prim = (struct gsm_pcu_if *)buf; int rc; - rc = recv(bfd->fd, &pcu_prim, sizeof(pcu_prim), 0); + rc = recv(bfd->fd, buf, max_len, 0); if (rc < 0 && errno == EAGAIN) return 0; /* Try again later */ if (rc <= 0) { @@ -144,7 +146,13 @@ return -EIO; } - return pcu_rx(pcu_prim.msg_type, &pcu_prim); + if (rc < PCUIF_HDR_SIZE) { + LOGP(DL1IF, LOGL_ERROR, "Received %d bytes on PCU Socket, but primitive " + "hdr size is %zu, discarding\n", rc, PCUIF_HDR_SIZE); + return -EINVAL; + } + + return pcu_rx(pcu_prim, rc); } static int pcu_sock_write(struct osmo_fd *bfd) diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index b35c990..2373f60 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -951,9 +951,32 @@ return 0; } -int pcu_rx(uint8_t msg_type, struct gsm_pcu_if *pcu_prim) +static int pcu_rx_container(struct gprs_rlcmac_bts *bts, struct gsm_pcu_if_container *container) +{ + int rc; + + switch (container->msg_type) { + default: + LOGP(DL1IF, LOGL_NOTICE, "(bts=%d) Rx unexpected msg type (%u) inside container!\n", + bts->nr, container->msg_type); + rc = -1; + } + return rc; +} + +#define CHECK_IF_MSG_SIZE(prim_len, prim_msg) \ + do { \ + size_t _len = PCUIF_HDR_SIZE + sizeof(prim_msg); \ + if (prim_len < _len) { \ + LOGP(DL1IF, LOGL_ERROR, "Received %zu bytes on PCU Socket, but primitive %s " \ + "size is %zu, discarding\n", prim_len, #prim_msg, _len); \ + return -EINVAL; \ + } \ + } while(0); +int pcu_rx(struct gsm_pcu_if *pcu_prim, size_t pcu_prim_length) { int rc = 0; + size_t exp_len; struct gprs_rlcmac_bts *bts = gprs_pcu_get_bts_by_nr(the_pcu, pcu_prim->bts_nr); if (!bts) { LOGP(DL1IF, LOGL_NOTICE, "Received message for new BTS%d\n", pcu_prim->bts_nr); @@ -964,40 +987,59 @@ } } - switch (msg_type) { + switch (pcu_prim->msg_type) { case PCU_IF_MSG_DATA_IND: + CHECK_IF_MSG_SIZE(pcu_prim_length, pcu_prim->u.data_ind); rc = pcu_rx_data_ind(bts, &pcu_prim->u.data_ind); break; case PCU_IF_MSG_DATA_CNF: + CHECK_IF_MSG_SIZE(pcu_prim_length, pcu_prim->u.data_cnf); rc = pcu_rx_data_cnf(bts, &pcu_prim->u.data_cnf); break; case PCU_IF_MSG_RTS_REQ: + CHECK_IF_MSG_SIZE(pcu_prim_length, pcu_prim->u.rts_req); rc = pcu_rx_rts_req(bts, &pcu_prim->u.rts_req); break; case PCU_IF_MSG_RACH_IND: + CHECK_IF_MSG_SIZE(pcu_prim_length, pcu_prim->u.rach_ind); rc = pcu_rx_rach_ind(bts, &pcu_prim->u.rach_ind); break; case PCU_IF_MSG_INFO_IND: + CHECK_IF_MSG_SIZE(pcu_prim_length, pcu_prim->u.info_ind); rc = pcu_rx_info_ind(bts, &pcu_prim->u.info_ind); break; case PCU_IF_MSG_TIME_IND: + CHECK_IF_MSG_SIZE(pcu_prim_length, pcu_prim->u.time_ind); rc = pcu_rx_time_ind(bts, &pcu_prim->u.time_ind); break; case PCU_IF_MSG_PAG_REQ: + CHECK_IF_MSG_SIZE(pcu_prim_length, pcu_prim->u.pag_req); rc = pcu_rx_pag_req(bts, &pcu_prim->u.pag_req); break; case PCU_IF_MSG_SUSP_REQ: + CHECK_IF_MSG_SIZE(pcu_prim_length, pcu_prim->u.susp_req); rc = pcu_rx_susp_req(bts, &pcu_prim->u.susp_req); break; case PCU_IF_MSG_APP_INFO_REQ: + CHECK_IF_MSG_SIZE(pcu_prim_length, pcu_prim->u.app_info_req); rc = pcu_rx_app_info_req(bts, &pcu_prim->u.app_info_req); break; case PCU_IF_MSG_INTERF_IND: /* TODO: handle interference reports */ break; + case PCU_IF_MSG_CONTAINER: + CHECK_IF_MSG_SIZE(pcu_prim_length, pcu_prim->u.container); + /* ^ check if we can access container fields, v check with container data length */ + exp_len = PCUIF_HDR_SIZE + sizeof(pcu_prim->u.container) + osmo_load16be(&pcu_prim->u.container.length); + if (pcu_prim_length < exp_len) { + LOGP(DL1IF, LOGL_ERROR, "Received %zu bytes on PCU Socket, but primitive container size" \ + "is %zu, discarding\n", pcu_prim_length, exp_len); + } + rc = pcu_rx_container(bts, &pcu_prim->u.container); + break; default: LOGP(DL1IF, LOGL_ERROR, "Received unknown PCU msg type %d\n", - msg_type); + pcu_prim->msg_type); rc = -EINVAL; } diff --git a/src/pcu_l1_if.h b/src/pcu_l1_if.h index 246444c..2a4f0ea 100644 --- a/src/pcu_l1_if.h +++ b/src/pcu_l1_if.h @@ -160,7 +160,7 @@ #endif struct gprs_rlcmac_bts; -int pcu_rx(uint8_t msg_type, struct gsm_pcu_if *pcu_prim); +int pcu_rx(struct gsm_pcu_if *pcu_prim, size_t pcu_prim_length); int pcu_l1if_open(void); void pcu_l1if_close(void); int pcu_sock_send(struct msgb *msg); @@ -178,6 +178,9 @@ void pcu_rx_block_time(struct gprs_rlcmac_bts *bts, uint16_t arfcn, uint32_t fn, uint8_t ts_no); uint16_t imsi2paging_group(const char* imsi); + +#define PCUIF_HDR_SIZE ( sizeof(struct gsm_pcu_if) - sizeof(((struct gsm_pcu_if *)0)->u) ) + #ifdef __cplusplus } #endif diff --git a/tests/app_info/AppInfoTest.cpp b/tests/app_info/AppInfoTest.cpp index e89680b..d3a047e 100644 --- a/tests/app_info/AppInfoTest.cpp +++ b/tests/app_info/AppInfoTest.cpp @@ -72,7 +72,7 @@ struct gsm_pcu_if pcu_prim = {PCU_IF_MSG_APP_INFO_REQ, }; fprintf(stderr, "--- %s ---\n", __func__); - pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); + pcu_rx(&pcu_prim, sizeof(struct gsm_pcu_if)); fprintf(stderr, "\n"); } @@ -106,7 +106,7 @@ fprintf(stderr, "--- %s ---\n", __func__); pcu_prim.u.app_info_req = *req; - pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); + pcu_rx(&pcu_prim, sizeof(struct gsm_pcu_if)); msg = sched_app_info(tbf1); assert(msg); @@ -126,7 +126,7 @@ fprintf(stderr, "--- %s ---\n", __func__); pcu_prim.u.app_info_req = *req; - pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); + pcu_rx(&pcu_prim, sizeof(struct gsm_pcu_if)); msgb_free(bts->app_info); bts->app_info = NULL; @@ -142,8 +142,8 @@ fprintf(stderr, "--- %s ---\n", __func__); pcu_prim.u.app_info_req = *req; - pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); - pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); + pcu_rx(&pcu_prim, sizeof(struct gsm_pcu_if)); + pcu_rx(&pcu_prim, sizeof(struct gsm_pcu_if)); fprintf(stderr, "\n"); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24756 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I633db291107883c2e370a9b56606d562a990b714 Gerrit-Change-Number: 24756 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:13:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:13:16 +0000 Subject: Change in osmo-bts[master]: pcuif_proto.h: Add new container messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24618 ) Change subject: pcuif_proto.h: Add new container messages ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8deef11f9ec191475c99133629cd5cd9048c4bcb Gerrit-Change-Number: 24618 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 30 Jun 2021 08:13: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 Jun 30 08:13:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:13:19 +0000 Subject: Change in osmo-bts[master]: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24619 ) Change subject: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I73fdb17107494ade9263a62d1f729e67303fce87 Gerrit-Change-Number: 24619 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 30 Jun 2021 08:13:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:13:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:13:21 +0000 Subject: Change in osmo-bts[master]: pcuif_proto.h: Add new container messages In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24618 ) Change subject: pcuif_proto.h: Add new container messages ...................................................................... pcuif_proto.h: Add new container messages Related: SYS#5303 Change-Id: I8deef11f9ec191475c99133629cd5cd9048c4bcb --- M include/osmo-bts/pcuif_proto.h 1 file changed, 10 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmo-bts/pcuif_proto.h b/include/osmo-bts/pcuif_proto.h index 38ca4b6..3e6f651 100644 --- a/include/osmo-bts/pcuif_proto.h +++ b/include/osmo-bts/pcuif_proto.h @@ -24,6 +24,7 @@ #define PCU_IF_MSG_INTERF_IND 0x53 /* interference report */ #define PCU_IF_MSG_PAG_REQ 0x60 /* paging request */ #define PCU_IF_MSG_TXT_IND 0x70 /* Text indication for BTS */ +#define PCU_IF_MSG_CONTAINER 0x80 /* Transparent container message */ /* sapi */ #define PCU_IF_SAPI_RACH 0x01 /* channel request on CCCH */ @@ -217,6 +218,14 @@ uint8_t interf[8]; } __attribute__ ((packed)); +/* Contains messages transmitted BSC<->PCU, potentially forwarded by BTS via IPA/PCU */ +struct gsm_pcu_if_container { + uint8_t msg_type; + uint8_t spare; + uint16_t length; /* network byte order */ + uint8_t data[0]; +} __attribute__ ((packed)); + struct gsm_pcu_if { /* context based information */ uint8_t msg_type; /* message type */ @@ -238,6 +247,7 @@ struct gsm_pcu_if_pag_req pag_req; struct gsm_pcu_if_app_info_req app_info_req; struct gsm_pcu_if_interf_ind interf_ind; + struct gsm_pcu_if_container container; } u; } __attribute__ ((packed)); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8deef11f9ec191475c99133629cd5cd9048c4bcb Gerrit-Change-Number: 24618 Gerrit-PatchSet: 6 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 Wed Jun 30 08:13:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:13:22 +0000 Subject: Change in osmo-bts[master]: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24619 ) Change subject: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU ...................................................................... Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU This new extension protocol is used to forward Osmocom PCUIF messages BSC<->BTS<->PCU. It will be sent re-using the IPA multiplex of the OML link between BSC and BTS. BTS is responsible for forwarding the message over the unix socket to the PCU. PCUIF existing RX path needs to be reworked in order to accept variable-size messages, in order to be able to transparently forward messages without knowing about them (the new container message is variable-length). Related: SYS#5303 Change-Id: I73fdb17107494ade9263a62d1f729e67303fce87 --- M include/osmo-bts/Makefile.am A include/osmo-bts/abis_osmo.h M include/osmo-bts/bts.h M include/osmo-bts/pcu_if.h M src/common/Makefile.am M src/common/abis.c A src/common/abis_osmo.c M src/common/bts.c M src/common/pcu_sock.c 9 files changed, 201 insertions(+), 10 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmo-bts/Makefile.am b/include/osmo-bts/Makefile.am index 84dc667..d52c9aa 100644 --- a/include/osmo-bts/Makefile.am +++ b/include/osmo-bts/Makefile.am @@ -1,5 +1,6 @@ noinst_HEADERS = \ abis.h \ + abis_osmo.h \ bts.h \ bts_model.h \ bts_shutdown_fsm.h \ diff --git a/include/osmo-bts/abis_osmo.h b/include/osmo-bts/abis_osmo.h new file mode 100644 index 0000000..be2817f --- /dev/null +++ b/include/osmo-bts/abis_osmo.h @@ -0,0 +1,10 @@ +#pragma once + +#include +#include + +struct gsm_bts; + +int down_osmo(struct gsm_bts *bts, struct msgb *msg); + +int abis_osmo_pcu_tx_container(struct gsm_bts *bts, const struct gsm_pcu_if_container *container); diff --git a/include/osmo-bts/bts.h b/include/osmo-bts/bts.h index 978a548..a891fb7 100644 --- a/include/osmo-bts/bts.h +++ b/include/osmo-bts/bts.h @@ -167,6 +167,8 @@ /* how do we talk OML with this TRX? */ struct e1inp_sign_link *oml_link; struct timespec oml_conn_established_timestamp; + /* OSMO extenion link associated to same line as oml_link: */ + struct e1inp_sign_link *osmo_link; /* Abis network management O&M handle */ struct gsm_abis_mo mo; diff --git a/include/osmo-bts/pcu_if.h b/include/osmo-bts/pcu_if.h index 6ef8dc5..12a8abc 100644 --- a/include/osmo-bts/pcu_if.h +++ b/include/osmo-bts/pcu_if.h @@ -1,8 +1,12 @@ #ifndef _PCU_IF_H #define _PCU_IF_H +#include + extern int pcu_direct; +#define PCUIF_HDR_SIZE ( sizeof(struct gsm_pcu_if) - sizeof(((struct gsm_pcu_if *)0)->u) ) + int pcu_tx_info_ind(void); int pcu_tx_si(const struct gsm_bts *bts, enum osmo_sysinfo_type si_type, bool enable); int pcu_tx_app_info_req(struct gsm_bts *bts, uint8_t app_type, uint8_t len, const uint8_t *app_data); @@ -20,6 +24,7 @@ int pcu_tx_pag_req(const uint8_t *identity_lv, uint8_t chan_needed); int pcu_tx_pch_data_cnf(uint32_t fn, uint8_t *data, uint8_t len); int pcu_tx_susp_req(struct gsm_lchan *lchan, uint32_t tlli, const uint8_t *ra_id, uint8_t cause); +int pcu_sock_send(struct gsm_network *net, struct msgb *msg); int pcu_sock_init(const char *path); void pcu_sock_exit(void); diff --git a/src/common/Makefile.am b/src/common/Makefile.am index d979bc0..72438c6 100644 --- a/src/common/Makefile.am +++ b/src/common/Makefile.am @@ -12,6 +12,7 @@ sysinfo.c \ logging.c \ abis.c \ + abis_osmo.c \ oml.c \ bts.c \ bts_trx.c \ diff --git a/src/common/abis.c b/src/common/abis.c index 17a244c..abef826 100644 --- a/src/common/abis.c +++ b/src/common/abis.c @@ -48,6 +48,7 @@ #include #include #include +#include #include #include @@ -113,6 +114,8 @@ if (clock_gettime(CLOCK_MONOTONIC, &g_bts->oml_conn_established_timestamp) != 0) memset(&g_bts->oml_conn_established_timestamp, 0, sizeof(g_bts->oml_conn_established_timestamp)); + g_bts->osmo_link = e1inp_sign_link_create(sign_ts, E1INP_SIGN_OSMO, + g_bts->c0, IPAC_PROTO_OSMO, 0); drain_oml_queue(g_bts); bts_link_estab(g_bts); return g_bts->oml_link; @@ -158,10 +161,15 @@ "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; } - 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) { @@ -191,6 +199,9 @@ case E1INP_SIGN_RSL: down_rsl(link->trx, msg); break; + case E1INP_SIGN_OSMO: + down_osmo(link->trx->bts, msg); + break; default: msgb_free(msg); break; diff --git a/src/common/abis_osmo.c b/src/common/abis_osmo.c new file mode 100644 index 0000000..46dc5fa --- /dev/null +++ b/src/common/abis_osmo.c @@ -0,0 +1,136 @@ +/* OSMO extenion link associated to same line as oml_link: */ + +/* (C) 2021 by sysmocom - s.m.f.c. GmbH + * Author: Pau Espin Pedrol + * + * 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 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 + +extern struct gsm_network bts_gsmnet; + +#define OM_HEADROOM_SIZE 128 + +//////////////////////////////////////// +// OSMO ABIS extensions (PCU) +/////////////////////////////////////// + +static struct msgb *abis_osmo_pcu_msgb_alloc(uint8_t msg_type, uint8_t bts_nr, size_t extra_size) +{ + struct msgb *msg; + struct gsm_pcu_if *pcu_prim; + msg = msgb_alloc_headroom(OM_HEADROOM_SIZE + sizeof(struct gsm_pcu_if) + extra_size, + OM_HEADROOM_SIZE, "IPA/ABIS/OSMO"); + /* Only header is filled, caller is responible for reserving + filling + * message type specific contents: */ + msgb_put(msg, PCUIF_HDR_SIZE); + pcu_prim = (struct gsm_pcu_if *) msgb_data(msg); + pcu_prim->msg_type = msg_type; + pcu_prim->bts_nr = bts_nr; + return msg; +} + +/* Send a OML NM Message from BSC to BTS */ +int abis_osmo_sendmsg(struct gsm_bts *bts, struct msgb *msg) +{ + msg->dst = bts->osmo_link; + msg->l2h = msg->data; + return abis_sendmsg(msg); +} + + +/* Send IPA/OSMO/PCU extension Abis message from PCU to BSC */ +static int abis_osmo_pcu_sendmsg(struct gsm_bts *bts, struct msgb *msg) +{ + ipa_prepend_header_ext(msg, IPAC_PROTO_EXT_PCU); + return abis_osmo_sendmsg(bts, msg); +} + +int abis_osmo_pcu_tx_container(struct gsm_bts *bts, const struct gsm_pcu_if_container *container) +{ + uint16_t data_length = osmo_load16be(&container->length); + struct msgb *msg = abis_osmo_pcu_msgb_alloc(PCU_IF_MSG_CONTAINER, bts->nr, data_length); + struct gsm_pcu_if *pcu_prim = (struct gsm_pcu_if *) msgb_data(msg); + struct gsm_pcu_if_container *tx_cont = &pcu_prim->u.container; + + msgb_put(msg, sizeof(*tx_cont) + data_length); + tx_cont->msg_type = container->msg_type; + tx_cont->length = container->length; + if (data_length) + memcpy(tx_cont->data, container->data, data_length); + + return abis_osmo_pcu_sendmsg(bts, msg); +} + + +/* incoming IPA/OSMOEXT/PCU Abis message from BSC */ +static int rx_down_osmo_pcu(struct gsm_bts *bts, struct msgb *msg) +{ + struct gsm_pcu_if *pcu_prim; + if (msgb_l2len(msg) < PCUIF_HDR_SIZE) { + LOGP(DPCU, LOGL_ERROR, "ABIS_OSMO_PCU message too short\n"); + oml_tx_failure_event_rep(&bts->mo, NM_SEVER_MAJOR, OSMO_EVT_MAJ_UKWN_MSG, + "ABIS_OSMO_PCU message too short\n"); + msgb_free(msg); + return -EIO; + } + pcu_prim = msgb_l2(msg); + LOGP(DPCU, LOGL_INFO, "Rx BSC->BTS%d ABIS_OSMO_PCU msg type %u\n", + pcu_prim->bts_nr, pcu_prim->msg_type); + /* we patch the bts_nr received from BTS with the bts_nr we used to set up in the local PCU */ + pcu_prim->bts_nr = bts->nr; + /* Trim Abis lower layers: */ + msgb_pull_to_l2(msg); + /* we simply forward it to PCUIF: */ + return pcu_sock_send(&bts_gsmnet, msg); +} + +/* incoming IPA/OSMO extension Abis message from BSC */ +int down_osmo(struct gsm_bts *bts, struct msgb *msg) +{ + uint8_t *type; + + if (msgb_l2len(msg) < 1) { + oml_tx_failure_event_rep(&bts->mo, NM_SEVER_MAJOR, OSMO_EVT_MAJ_UKWN_MSG, + "OSMO message too short\n"); + msgb_free(msg); + return -EIO; + } + + type = msgb_l2(msg); + msg->l2h = type + 1; + + switch (*type) { + case IPAC_PROTO_EXT_PCU: + return rx_down_osmo_pcu(bts, msg); + default: + oml_tx_failure_event_rep(&bts->mo, NM_SEVER_MAJOR, OSMO_EVT_MAJ_UKWN_MSG, + "OSMO message unknown extension %u\n", *type); + msgb_free(msg); + return -EIO; + } +} diff --git a/src/common/bts.c b/src/common/bts.c index bf29113..7d5732b 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -371,6 +371,7 @@ /* features implemented in 'common', available for all models */ 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); rc = bts_model_init(bts); if (rc < 0) { diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 5a04bf0..f40dd42 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -45,6 +45,7 @@ #include #include #include +#include uint32_t trx_get_hlayer1(const struct gsm_bts_trx *trx); @@ -62,8 +63,6 @@ [PCU_IF_SAPI_PTCCH] = "PTCCH", }; -static int pcu_sock_send(struct gsm_network *net, struct msgb *msg); - /* * PCU messages */ @@ -884,11 +883,21 @@ return 0; } +#define CHECK_IF_MSG_SIZE(prim_len, prim_msg) \ + do { \ + size_t _len = PCUIF_HDR_SIZE + sizeof(prim_msg); \ + if (prim_len < _len) { \ + LOGP(DPCU, LOGL_ERROR, "Received %zu bytes on PCU Socket, but primitive %s " \ + "size is %zu, discarding\n", prim_len, #prim_msg, _len); \ + return -EINVAL; \ + } \ + } while(0); static int pcu_rx(struct gsm_network *net, uint8_t msg_type, - struct gsm_pcu_if *pcu_prim) + struct gsm_pcu_if *pcu_prim, size_t prim_len) { int rc = 0; struct gsm_bts *bts; + size_t exp_len; if ((bts = gsm_bts_num(net, pcu_prim->bts_nr)) == NULL) { LOGP(DPCU, LOGL_ERROR, "Received PCU Prim for non-existent BTS %u\n", pcu_prim->bts_nr); @@ -897,17 +906,32 @@ switch (msg_type) { case PCU_IF_MSG_DATA_REQ: + CHECK_IF_MSG_SIZE(prim_len, pcu_prim->u.data_req); rc = pcu_rx_data_req(bts, msg_type, &pcu_prim->u.data_req); break; case PCU_IF_MSG_PAG_REQ: + CHECK_IF_MSG_SIZE(prim_len, pcu_prim->u.pag_req); rc = pcu_rx_pag_req(bts, msg_type, &pcu_prim->u.pag_req); break; case PCU_IF_MSG_ACT_REQ: + CHECK_IF_MSG_SIZE(prim_len, pcu_prim->u.act_req); rc = pcu_rx_act_req(bts, &pcu_prim->u.act_req); break; case PCU_IF_MSG_TXT_IND: + CHECK_IF_MSG_SIZE(prim_len, pcu_prim->u.txt_ind); rc = pcu_rx_txt_ind(bts, &pcu_prim->u.txt_ind); break; + case PCU_IF_MSG_CONTAINER: + CHECK_IF_MSG_SIZE(prim_len, pcu_prim->u.container); + /* ^ check if we can access container fields, v check with container data length */ + exp_len = PCUIF_HDR_SIZE + sizeof(pcu_prim->u.container) + osmo_load16be(&pcu_prim->u.container.length); + if (prim_len < exp_len) { + LOGP(DPCU, LOGL_ERROR, "Received %zu bytes on PCU Socket, but primitive " + "container size is %zu, discarding\n", prim_len, exp_len); + return -EINVAL; + } + rc = abis_osmo_pcu_tx_container(bts, &pcu_prim->u.container); + break; default: LOGP(DPCU, LOGL_ERROR, "Received unknown PCU msg type %d\n", msg_type); @@ -928,7 +952,7 @@ struct llist_head upqueue; /* queue for sending messages */ }; -static int pcu_sock_send(struct gsm_network *net, struct msgb *msg) +int pcu_sock_send(struct gsm_network *net, struct msgb *msg) { struct pcu_sock_state *state = net->pcu_state; struct osmo_fd *conn_bfd; @@ -1019,7 +1043,7 @@ struct msgb *msg; int rc; - msg = msgb_alloc(sizeof(*pcu_prim), "pcu_sock_rx"); + msg = msgb_alloc(sizeof(*pcu_prim) + 1000, "pcu_sock_rx"); if (!msg) return -ENOMEM; @@ -1037,14 +1061,14 @@ goto close; } - if (rc < sizeof(*pcu_prim)) { - LOGP(DPCU, LOGL_ERROR, "Received %d bytes on PCU Socket, but primitive size " - "is %zu, discarding\n", rc, sizeof(*pcu_prim)); + if (rc < PCUIF_HDR_SIZE) { + LOGP(DPCU, LOGL_ERROR, "Received %d bytes on PCU Socket, but primitive hdr size " + "is %zu, discarding\n", rc, PCUIF_HDR_SIZE); msgb_free(msg); return 0; } - rc = pcu_rx(state->net, pcu_prim->msg_type, pcu_prim); + rc = pcu_rx(state->net, pcu_prim->msg_type, pcu_prim, rc); /* as we always synchronously process the message in pcu_rx() and * its callbacks, we can free the message here. */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I73fdb17107494ade9263a62d1f729e67303fce87 Gerrit-Change-Number: 24619 Gerrit-PatchSet: 7 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 Wed Jun 30 08:13:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:13:35 +0000 Subject: Change in osmo-bsc[master]: Support proto IPAC_PROTO_EXT_PCU BSC<->PCU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24755 ) Change subject: Support proto IPAC_PROTO_EXT_PCU BSC<->PCU ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24755 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4b3919f3098b9468e5e024db1e45427af24c1ad4 Gerrit-Change-Number: 24755 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 30 Jun 2021 08:13:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:13:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:13:38 +0000 Subject: Change in osmo-bsc[master]: Support proto IPAC_PROTO_EXT_PCU BSC<->PCU In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24755 ) Change subject: Support proto IPAC_PROTO_EXT_PCU BSC<->PCU ...................................................................... Support proto IPAC_PROTO_EXT_PCU BSC<->PCU Related: SYS#5303 Change-Id: I4b3919f3098b9468e5e024db1e45427af24c1ad4 --- M include/osmocom/bsc/Makefile.am A include/osmocom/bsc/abis_osmo.h M include/osmocom/bsc/bts.h M src/ipaccess/Makefile.am M src/osmo-bsc/Makefile.am A src/osmo-bsc/abis_osmo.c M src/osmo-bsc/bts_ipaccess_nanobts.c M src/utils/Makefile.am M tests/abis/Makefile.am M tests/acc/Makefile.am M tests/bsc/Makefile.am M tests/gsm0408/Makefile.am M tests/handover/Makefile.am M tests/nanobts_omlattr/Makefile.am 14 files changed, 220 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/Makefile.am b/include/osmocom/bsc/Makefile.am index be27dae..5e866cc 100644 --- a/include/osmocom/bsc/Makefile.am +++ b/include/osmocom/bsc/Makefile.am @@ -2,6 +2,7 @@ a_reset.h \ abis_nm.h \ abis_om2000.h \ + abis_osmo.h \ abis_rsl.h \ acc.h \ assignment_fsm.h \ diff --git a/include/osmocom/bsc/abis_osmo.h b/include/osmocom/bsc/abis_osmo.h new file mode 100644 index 0000000..97871ac --- /dev/null +++ b/include/osmocom/bsc/abis_osmo.h @@ -0,0 +1,33 @@ +/* GSM Network Management messages on the A-bis interface + * 3GPP TS 12.21 version 8.0.0 Release 1999 / ETSI TS 100 623 V8.0.0 */ + +/* (C) 2008-2009 by Harald Welte + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#pragma once + +#include + +#include + +#include + +struct gsm_bts; + +int abis_osmo_rcvmsg(struct msgb *msg); +int abis_osmo_sendmsg(struct gsm_bts *bts, struct msgb *msg); diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index b6980d1..49691e0 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -291,6 +291,8 @@ /* Connected PCU version (if any) */ char pcu_version[MAX_VERSION_LENGTH]; + /* PCU sign_link, over OML line: */ + struct e1inp_sign_link *osmo_link; /* maximum Tx power that the MS is permitted to use in this cell */ int ms_max_power; diff --git a/src/ipaccess/Makefile.am b/src/ipaccess/Makefile.am index e282c6f..351f618 100644 --- a/src/ipaccess/Makefile.am +++ b/src/ipaccess/Makefile.am @@ -50,6 +50,7 @@ $(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 \ @@ -74,6 +75,7 @@ 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 \ diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am index f91c6bf..df4e0c3 100644 --- a/src/osmo-bsc/Makefile.am +++ b/src/osmo-bsc/Makefile.am @@ -31,6 +31,7 @@ abis_nm_vty.c \ abis_om2000.c \ abis_om2000_vty.c \ + abis_osmo.c \ abis_rsl.c \ acc.c \ assignment_fsm.c \ diff --git a/src/osmo-bsc/abis_osmo.c b/src/osmo-bsc/abis_osmo.c new file mode 100644 index 0000000..39caac6 --- /dev/null +++ b/src/osmo-bsc/abis_osmo.c @@ -0,0 +1,161 @@ +/* Osmocom specific protocols over Abis (IPA) */ + +/* (C) 2021 sysmocom - s.f.m.c. GmbH + * Author: Pau Espin Pedrol + * 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 + +#define OM_HEADROOM_SIZE 128 + +//////////////////////////////////////// +// OSMO ABIS extensions (PCU) +/////////////////////////////////////// +#define PCUIF_HDR_SIZE ( sizeof(struct gsm_pcu_if) - sizeof(((struct gsm_pcu_if *)0)->u) ) + +#if 0 +static struct msgb *abis_osmo_pcu_msgb_alloc(uint8_t msg_type, uint8_t bts_nr, size_t extra_size) +{ + struct msgb *msg; + struct gsm_pcu_if *pcu_prim; + msg = msgb_alloc_headroom(OM_HEADROOM_SIZE + sizeof(struct gsm_pcu_if) + extra_size, + OM_HEADROOM_SIZE, "IPA/ABIS/OSMO"); + /* Only header is filled, caller is responible for reserving + filling + * message type specific contents: */ + msgb_put(msg, PCUIF_HDR_SIZE); + pcu_prim = (struct gsm_pcu_if *) msgb_data(msg); + pcu_prim->msg_type = msg_type; + pcu_prim->bts_nr = bts_nr; + return msg; +} + +/* Send a OML NM Message from BSC to BTS */ +static int abis_osmo_pcu_sendmsg(struct gsm_bts *bts, struct msgb *msg) +{ + ipa_prepend_header_ext(msg, IPAC_PROTO_EXT_PCU); + return abis_osmo_sendmsg(bts, msg); +} +#endif + +static int rcvmsg_pcu_container(struct gsm_bts *bts, struct gsm_pcu_if_container *container, size_t container_len) +{ + int rc; + uint16_t data_length = osmo_load16be(&container->length); + + if (container_len < sizeof(*container) + data_length) { + LOGP(DNM, LOGL_ERROR, "ABIS_OSMO_PCU CONTAINER message inside (%d) too short\n", + container->msg_type); + return -EINVAL; + } + + LOGP(DNM, LOGL_INFO, "(bts=%d) Rx ABIS_OSMO_PCU CONTAINER msg type %u\n", + bts->nr, container->msg_type); + + switch (container->msg_type) { + default: + LOGP(DNM, LOGL_NOTICE, "(bts=%d) Rx ABIS_OSMO_PCU unexpected msg type (%u) inside container!\n", + bts->nr, container->msg_type); + rc = -1; + } + + return rc; +} + +static int rcvmsg_pcu(struct gsm_bts *bts, struct msgb *msg) +{ + struct gsm_pcu_if *pcu_prim; + int rc; + + if (msgb_l2len(msg) < PCUIF_HDR_SIZE) { + LOGP(DNM, LOGL_ERROR, "ABIS_OSMO_PCU message too short\n"); + return -EIO; + } + + pcu_prim = msgb_l2(msg); + LOGP(DNM, LOGL_INFO, "(bts=%d) Rx ABIS_OSMO_PCU msg type %u\n", + pcu_prim->bts_nr, pcu_prim->msg_type); + + switch (pcu_prim->msg_type) { + case PCU_IF_MSG_CONTAINER: + if (msgb_l2len(msg) < PCUIF_HDR_SIZE + sizeof(pcu_prim->u.container)) { + LOGP(DNM, LOGL_ERROR, "ABIS_OSMO_PCU CONTAINER message too short\n"); + rc = -EINVAL; + } else { + rc = rcvmsg_pcu_container(bts, &pcu_prim->u.container, msgb_l2len(msg) - PCUIF_HDR_SIZE); + } + break; + default: + LOGP(DNM, LOGL_NOTICE, "(bts=%d) Rx ABIS_OSMO_PCU unexpected msg type %u!\n", + pcu_prim->bts_nr, pcu_prim->msg_type); + rc = -1; + } + + return rc; +} + +//////////////////////////////////////// +// OSMO ABIS extensions (generic code) +/////////////////////////////////////// + +/* High-Level API */ +/* Entry-point where L2 OSMO from BTS enters the NM code */ +int abis_osmo_rcvmsg(struct msgb *msg) +{ + int rc; + struct e1inp_sign_link *link = msg->dst; + struct gsm_bts *bts = link->trx->bts; + uint8_t *osmo_type = msgb_l2(msg); + msg->l2h = osmo_type + 1; + + switch (*osmo_type) { + case IPAC_PROTO_EXT_PCU: + rc = rcvmsg_pcu(bts, msg); + break; + default: + LOGP(DNM, LOGL_ERROR, "IPAC_PROTO_EXT 0x%x not supported!\n", + *osmo_type); + rc = -EINVAL; + } + + msgb_free(msg); + return rc; +} + + +/* Send a OML NM Message from BSC to BTS */ +int abis_osmo_sendmsg(struct gsm_bts *bts, struct msgb *msg) +{ + msg->dst = bts->osmo_link; + + msg->l2h = msg->data; + + return abis_sendmsg(msg); + +} diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c index b97ae1c..26e2196 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts.c @@ -37,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -557,6 +558,10 @@ bts->uptime = 0; osmo_stat_item_dec(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_OML_CONNECTED), 1); + /* Also drop the associated OSMO link */ + e1inp_sign_link_destroy(bts->osmo_link); + bts->osmo_link = NULL; + /* we have issues reconnecting RSL, drop everything. */ llist_for_each_entry(trx, &bts->trx_list, list) { ipaccess_drop_rsl(trx, "OML link drop"); @@ -713,6 +718,10 @@ sign_link->trx->bts->ip_access.flags |= OML_UP; } osmo_stat_item_inc(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_OML_CONNECTED), 1); + + /* Create link for E1INP_SIGN_OSMO */ + //SAPI must be 0, no IPAC_PROTO_EXT_PCU, see ipaccess_bts_read_cb + bts->osmo_link = e1inp_sign_link_create(sign_ts, E1INP_SIGN_OSMO, bts->c0, IPAC_PROTO_OSMO, 0); break; case E1INP_SIGN_RSL: { struct e1inp_ts *ts; @@ -785,6 +794,9 @@ case E1INP_SIGN_OML: ret = abis_nm_rcvmsg(msg); break; + case E1INP_SIGN_OSMO: + ret = abis_osmo_rcvmsg(msg); + break; default: LOGP(DLINP, LOGL_ERROR, "Unknown signal link type %d\n", link->type); diff --git a/src/utils/Makefile.am b/src/utils/Makefile.am index c180390..39d2417 100644 --- a/src/utils/Makefile.am +++ b/src/utils/Makefile.am @@ -48,6 +48,7 @@ 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 \ @@ -132,6 +133,7 @@ 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 \ diff --git a/tests/abis/Makefile.am b/tests/abis/Makefile.am index cb327fb..0612827 100644 --- a/tests/abis/Makefile.am +++ b/tests/abis/Makefile.am @@ -26,6 +26,7 @@ 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 \ diff --git a/tests/acc/Makefile.am b/tests/acc/Makefile.am index 9351545..e0044d0 100644 --- a/tests/acc/Makefile.am +++ b/tests/acc/Makefile.am @@ -26,6 +26,7 @@ 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 \ diff --git a/tests/bsc/Makefile.am b/tests/bsc/Makefile.am index d08ca18..a0bbb81 100644 --- a/tests/bsc/Makefile.am +++ b/tests/bsc/Makefile.am @@ -35,6 +35,7 @@ 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 \ diff --git a/tests/gsm0408/Makefile.am b/tests/gsm0408/Makefile.am index 271a0fd..186dc39 100644 --- a/tests/gsm0408/Makefile.am +++ b/tests/gsm0408/Makefile.am @@ -25,6 +25,7 @@ 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 \ diff --git a/tests/handover/Makefile.am b/tests/handover/Makefile.am index f0b2e7a..65eb6a8 100644 --- a/tests/handover/Makefile.am +++ b/tests/handover/Makefile.am @@ -45,6 +45,7 @@ $(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 \ diff --git a/tests/nanobts_omlattr/Makefile.am b/tests/nanobts_omlattr/Makefile.am index f2afa2b..e31b8e9 100644 --- a/tests/nanobts_omlattr/Makefile.am +++ b/tests/nanobts_omlattr/Makefile.am @@ -24,6 +24,7 @@ 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 \ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24755 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4b3919f3098b9468e5e024db1e45427af24c1ad4 Gerrit-Change-Number: 24755 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:13:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:13:52 +0000 Subject: Change in osmo-bsc[master]: lchan-select: Avoid setting variable for no reason In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24780 ) Change subject: lchan-select: Avoid setting variable for no reason ...................................................................... lchan-select: Avoid setting variable for no reason That variable is never used after being set. Furthermore, it is being set to the same value already stored, so there's no use in setting it and it creates confusion. Change-Id: Ib6ee28aa9a449992f5d3dea6df7dd2b7e30e73c9 --- M src/osmo-bsc/lchan_select.c 1 file changed, 3 insertions(+), 14 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/lchan_select.c b/src/osmo-bsc/lchan_select.c index 53c4358..a1f6c82 100644 --- a/src/osmo-bsc/lchan_select.c +++ b/src/osmo-bsc/lchan_select.c @@ -220,35 +220,24 @@ 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) { + if (!lchan) lchan = _lc_dyn_find_bts(bts, GSM_PCHAN_TCH_F_PDCH, GSM_PCHAN_TCH_F, log); - /* TCH/F_PDCH used as TCH/F -- here, type is already - * set to GSM_LCHAN_TCH_F, but for clarity's sake... */ - if (lchan) - type = GSM_LCHAN_TCH_F; - } /* Try fully dynamic TCH/F_TCH/H_PDCH as TCH/F... */ - if (!lchan && bts->network->dyn_ts_allow_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_TCH_F, log); - if (lchan) - type = GSM_LCHAN_TCH_F; - } 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) { + if (!lchan) lchan = _lc_dyn_find_bts(bts, GSM_PCHAN_TCH_F_TCH_H_PDCH, GSM_PCHAN_TCH_H, log); - if (lchan) - type = GSM_LCHAN_TCH_H; - } break; default: LOG_BTS(bts, DRLL, LOGL_ERROR, "Unknown gsm_chan_t %u\n", type); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24780 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib6ee28aa9a449992f5d3dea6df7dd2b7e30e73c9 Gerrit-Change-Number: 24780 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Wed Jun 30 08:14:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:14:05 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7_vty: allow users to inspect routes also in ASP role In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24705 ) Change subject: osmo_ss7_vty: allow users to inspect routes also in ASP role ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ieaef4f0344b5b77ff5047013e9da1e938004e97c Gerrit-Change-Number: 24705 Gerrit-PatchSet: 3 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, 30 Jun 2021 08:14:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:14:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:14:07 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7_vty: allow users to inspect routes also in ASP role In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24705 ) Change subject: osmo_ss7_vty: allow users to inspect routes also in ASP role ...................................................................... osmo_ss7_vty: allow users to inspect routes also in ASP role When libosmo-sigtran runs in ASP role, then the entire routing table introspection (show) and routing table configuration VTY commands are not present. Editing the routing table manually only makes sense in SG role, but it is still useful to be able to inspect the routing table in ASP and SG mode. Change-Id: Ieaef4f0344b5b77ff5047013e9da1e938004e97c Related: SYS#5392 --- M src/osmo_ss7_vty.c M tests/vty/ss7_asp_test.vty 2 files changed, 5 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index bd15070..3b39a61 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -2159,6 +2159,8 @@ install_lib_element(L_CS7_AS_NODE, &as_pc_override_cmd); install_lib_element(L_CS7_AS_NODE, &as_pc_patch_sccp_cmd); + install_lib_element_ve(&show_cs7_route_cmd); + vty_init_addr(); } @@ -2174,7 +2176,6 @@ vty_init_shared(ctx); install_node(&rtable_node, NULL); - install_lib_element_ve(&show_cs7_route_cmd); install_lib_element(L_CS7_NODE, &cs7_route_table_cmd); install_lib_element(L_CS7_RTABLE_NODE, &cfg_description_cmd); install_lib_element(L_CS7_RTABLE_NODE, &cs7_rt_upd_cmd); diff --git a/tests/vty/ss7_asp_test.vty b/tests/vty/ss7_asp_test.vty index fd54642..bfbb77e 100644 --- a/tests/vty/ss7_asp_test.vty +++ b/tests/vty/ss7_asp_test.vty @@ -5,6 +5,7 @@ show cs7 config show cs7 instance <0-15> asp show cs7 instance <0-15> as (active|all|m3ua|sua) + show cs7 instance <0-15> route show cs7 instance <0-15> sccp addressbook show cs7 instance <0-15> sccp users show cs7 instance <0-15> sccp ssn <0-65535> @@ -20,6 +21,7 @@ show cs7 config show cs7 instance <0-15> asp show cs7 instance <0-15> as (active|all|m3ua|sua) + show cs7 instance <0-15> route show cs7 instance <0-15> sccp addressbook show cs7 instance <0-15> sccp users show cs7 instance <0-15> sccp ssn <0-65535> @@ -49,6 +51,7 @@ users User Table asp Application Server Process (ASP) as Application Server (AS) + route Routing Table sccp Signalling Connection Control Part ss7_asp_vty_test# show cs7 instance 0 as ? -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ieaef4f0344b5b77ff5047013e9da1e938004e97c Gerrit-Change-Number: 24705 Gerrit-PatchSet: 3 Gerrit-Owner: dexter 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 Wed Jun 30 08:14:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:14:25 +0000 Subject: Change in pysim[master]: pySim/commands: Add envelope() method for ENVELOPE command In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24463 ) Change subject: pySim/commands: Add envelope() method for ENVELOPE command ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2b5b6585ecbe00b54919b197428fe09a220757c6 Gerrit-Change-Number: 24463 Gerrit-PatchSet: 7 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 30 Jun 2021 08:14:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:14:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:14:27 +0000 Subject: Change in pysim[master]: pySim/commands: Add envelope() method for ENVELOPE command In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24463 ) Change subject: pySim/commands: Add envelope() method for ENVELOPE command ...................................................................... pySim/commands: Add envelope() method for ENVELOPE command Change-Id: I2b5b6585ecbe00b54919b197428fe09a220757c6 --- M pySim/commands.py 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/pySim/commands.py b/pySim/commands.py index 1fbea16..76b7cd5 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -425,3 +425,7 @@ data, sw = self._tp.send_apdu(self.cla_byte + '2800' + ('%02X' % chv_no) + '08' + fc) self._chv_process_sw('enable', chv_no, pin_code, sw) return (data, sw) + + def envelope(self, payload:str): + """Send one ENVELOPE command to the SIM""" + return self._tp.send_apdu_checksw('80c20000%02x%s' % (len(payload)//2, payload)) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2b5b6585ecbe00b54919b197428fe09a220757c6 Gerrit-Change-Number: 24463 Gerrit-PatchSet: 7 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:15:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:15:58 +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: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24707/2/src/common/main.c File src/common/main.c: https://gerrit.osmocom.org/c/osmo-bts/+/24707/2/src/common/main.c at 420 PS2, Line 420: LOGP(DLGLOBAL, LOGL_FATAL, "Error during daemonize\n"); > you can keep the error by using strerror(errno). Ack -- 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: Wed, 30 Jun 2021 08:15: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 Wed Jun 30 08:16:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:16:41 +0000 Subject: Change in osmo-asf4-dfu[master]: usb serial number descriptor In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/17024 ) Change subject: usb serial number descriptor ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/17024 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-asf4-dfu Gerrit-Branch: master Gerrit-Change-Id: I4a23682cee0849c788e5f6c611df4ed1f1cac3da Gerrit-Change-Number: 17024 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: roh Gerrit-CC: neels Gerrit-Comment-Date: Wed, 30 Jun 2021 08:16:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:16:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:16:43 +0000 Subject: Change in osmo-asf4-dfu[master]: usb serial number descriptor In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/17024 ) Change subject: usb serial number descriptor ...................................................................... usb serial number descriptor Change-Id: I4a23682cee0849c788e5f6c611df4ed1f1cac3da --- M config/usbd_config.h M usb_dfu_main.c M usb_start.c 3 files changed, 126 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/config/usbd_config.h b/config/usbd_config.h index f82934c..7ae1b05 100644 --- a/config/usbd_config.h +++ b/config/usbd_config.h @@ -163,7 +163,7 @@ // Enable string descriptor of iSerialNum // usb_dfud_iserialnum_en #ifndef CONF_USB_DFUD_ISERIALNUM_EN -#define CONF_USB_DFUD_ISERIALNUM_EN 0 +#define CONF_USB_DFUD_ISERIALNUM_EN 1 #endif #ifndef CONF_USB_DFUD_ISERIALNUM @@ -175,11 +175,11 @@ // Unicode string of iSerialNum // usb_dfud_iserialnum_str #ifndef CONF_USB_DFUD_ISERIALNUM_STR -#define CONF_USB_DFUD_ISERIALNUM_STR "123456789ABCDEF" +#define CONF_USB_DFUD_ISERIALNUM_STR "dummy" #endif #ifndef CONF_USB_DFUD_ISERIALNUM_STR_DESC -#define CONF_USB_DFUD_ISERIALNUM_STR_DESC +#define CONF_USB_DFUD_ISERIALNUM_STR_DESC 12, 0x03, 'd', 0x00, 'u', 0x00, 'm', 0x00, 'm', 0x00, 'y', 0x00, #endif // diff --git a/usb_dfu_main.c b/usb_dfu_main.c index 19fe437..9115bf7 100644 --- a/usb_dfu_main.c +++ b/usb_dfu_main.c @@ -19,6 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include #include "atmel_start.h" #include "atmel_start_pins.h" @@ -85,10 +86,63 @@ SCB->VTOR = ((uint32_t) application_start_address & SCB_VTOR_TBLOFF_Msk); // re-base the vector table base address asm("bx %0"::"r"(*(application_start_address + 1))); // jump to application Reset Handler in the application */ } +#if defined(SYSMOOCTSIM) +/* Section 9.6 of SAMD5x/E5x Family Data Sheet */ +static int get_chip_unique_serial(uint8_t *out, size_t len) +{ + uint32_t *out32 = (uint32_t *)out; + if (len < 16) + return -EINVAL; + + out32[0] = *(uint32_t *)0x008061fc; + out32[1] = *(uint32_t *)0x00806010; + out32[2] = *(uint32_t *)0x00806014; + out32[3] = *(uint32_t *)0x00806018; + + return 0; +} + +/* same as get_chip_unique_serial but in hex-string format */ +static int get_chip_unique_serial_str(char *out, size_t len) +{ + uint8_t buf[16]; + int rc; + + if (len < 16*2 + 1) + return -EINVAL; + + rc = get_chip_unique_serial(buf, sizeof(buf)); + if (rc < 0) + return rc; + for (int i = 0; i < sizeof(buf); i++) + sprintf(&out[i*2], "%02x", buf[i]); + return 0; +} + +static int str_to_usb_desc(char* in, uint8_t in_sz, uint8_t* out, uint8_t out_sz){ + if (2+in_sz*2 < out_sz) + return -1; + + memset(out, 0, out_sz); + out[0] = out_sz; + out[1] = 0x3; + for (int i= 2; i < out_sz; i+=2) + out[i] = in[(i >> 1) - 1]; + return 0; +} + +char sernr_buf[16*2+1]; +//unicode for descriptor +uint8_t sernr_buf_descr[1+1+16*2*2]; +#endif int main(void) { atmel_start_init(); // initialise system +#if defined(SYSMOOCTSIM) + get_chip_unique_serial_str(sernr_buf, sizeof(sernr_buf)); + str_to_usb_desc(sernr_buf, sizeof(sernr_buf), sernr_buf_descr, sizeof(sernr_buf_descr)); +#endif if (!check_bootloader()) { // check bootloader // blink the LED to tell the user we don't know where the application starts while (true) { diff --git a/usb_start.c b/usb_start.c index 93059ad..24cde4f 100644 --- a/usb_start.c +++ b/usb_start.c @@ -17,6 +17,7 @@ */ #include "atmel_start.h" #include "usb_start.h" +#include "config/usbd_config.h" #if CONF_USBD_HS_SP static uint8_t single_desc_bytes[] = { @@ -45,6 +46,71 @@ /** Ctrl endpoint buffer */ static uint8_t ctrl_buffer[64]; + + +/* transmit given string descriptor */ +static bool send_str_desc(uint8_t ep, const struct usb_req *req, enum usb_ctrl_stage stage, + const uint8_t *desc) +{ + uint16_t len_req = LE16(req->wLength); + uint16_t len_desc = desc[0]; + uint16_t len_tx; + bool need_zlp = !(len_req & (CONF_USB_DFUD_BMAXPKSZ0 - 1)); + + if (len_req <= len_desc) { + need_zlp = false; + len_tx = len_req; + } else { + len_tx = len_desc; + } + + if (ERR_NONE != usbdc_xfer(ep, (uint8_t *)desc, len_tx, need_zlp)) { + return true; + } + + return false; +} + +extern uint8_t sernr_buf_descr[]; +/* call-back for every control EP request */ +static int32_t string_req_cb(uint8_t ep, struct usb_req *req, enum usb_ctrl_stage stage) +{ + uint8_t index, type; + + if (stage != USB_SETUP_STAGE) + return ERR_NOT_FOUND; + + if ((req->bmRequestType & (USB_REQT_TYPE_MASK | USB_REQT_DIR_IN)) != + (USB_REQT_TYPE_STANDARD | USB_REQT_DIR_IN)) + return ERR_NOT_FOUND; + + /* abort if it's not a GET DESCRIPTOR request */ + if (req->bRequest != USB_REQ_GET_DESC) + return ERR_NOT_FOUND; + + /* abort if it's not about a string descriptor */ + type = req->wValue >> 8; + if (type != USB_DT_STRING) + return ERR_NOT_FOUND; +#if 0 + printf("ep=%02x, bmReqT=%04x, bReq=%02x, wValue=%04x, stage=%d\r\n", + ep, req->bmRequestType, req->bRequest, req->wValue, stage); +#endif + /* abort if it's not a standard GET request */ + index = req->wValue & 0x00FF; + switch (index) { + case CONF_USB_DFUD_ISERIALNUM: + return send_str_desc(ep, req, stage, sernr_buf_descr); + default: + return ERR_NOT_FOUND; + } +} + + +static struct usbdc_handler string_req_h = {NULL, (FUNC_PTR)string_req_cb}; + + + /** * \brief USB DFU Init */ @@ -52,6 +118,9 @@ { usbdc_init(ctrl_buffer); dfudf_init(); +#if defined(SYSMOOCTSIM) + usbdc_register_handler(USBDC_HDL_REQ, &string_req_h); +#endif usbdc_start(single_desc); usbdc_attach(); -- To view, visit https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/17024 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-asf4-dfu Gerrit-Branch: master Gerrit-Change-Id: I4a23682cee0849c788e5f6c611df4ed1f1cac3da Gerrit-Change-Number: 17024 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: roh Gerrit-CC: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:17:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:17:09 +0000 Subject: Change in pysim[master]: cards: rename class "Card" to "SimCard" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24142 ) Change subject: cards: rename class "Card" to "SimCard" ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24142 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2077ded44bc2297b8d478c5bd1895951b494efcc Gerrit-Change-Number: 24142 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Jun 2021 08:17:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:17:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:17:12 +0000 Subject: Change in pysim[master]: cards: rename class "Card" to "SimCard" In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24142 ) Change subject: cards: rename class "Card" to "SimCard" ...................................................................... cards: rename class "Card" to "SimCard" There are the classes IsimCard and UsimCard, which inheret from Card, which is the base class for a normal non ISIM/USIM simcard. Card also has methods in it that are related to simcards, so it is not just any "Card", it is a SimCard and should be called that way. Change-Id: I2077ded44bc2297b8d478c5bd1895951b494efcc --- M pySim-read.py M pySim-shell.py M pySim/cards.py 3 files changed, 11 insertions(+), 11 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim-read.py b/pySim-read.py index 1f2e123..00194b4 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -34,7 +34,7 @@ from pySim.commands import SimCardCommands from pySim.transport import init_reader, argparse_add_reader_args -from pySim.cards import card_detect, Card, UsimCard, IsimCard +from pySim.cards import card_detect, SimCard, UsimCard, IsimCard from pySim.utils import h2b, swap_nibbles, rpad, dec_imsi, dec_iccid, dec_msisdn from pySim.utils import format_xplmn_w_act, dec_st from pySim.utils import h2s, format_ePDGSelection @@ -75,7 +75,7 @@ print("Reading ...") # Initialize Card object by auto detecting the card - card = card_detect("auto", scc) or Card(scc) + card = card_detect("auto", scc) or SimCard(scc) # Read all AIDs on the UICC card.read_aids() diff --git a/pySim-shell.py b/pySim-shell.py index 59bfa28..7977ff5 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -37,7 +37,7 @@ from pySim.exceptions import * from pySim.commands import SimCardCommands from pySim.transport import init_reader, ApduTracer, argparse_add_reader_args -from pySim.cards import card_detect, Card +from pySim.cards import card_detect, SimCard from pySim.utils import h2b, swap_nibbles, rpad, b2h, h2s, JsonEncoder, bertlv_parse_one from pySim.utils import dec_st, sanitize_pin_adm, tabulate_str_list, is_hex, boxed_heading_str from pySim.card_handler import card_handler diff --git a/pySim/cards.py b/pySim/cards.py index c41f343..c38b185 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -50,7 +50,7 @@ res += "\t%s # %s\n" % (addr_hex, addr) return res -class Card(object): +class SimCard(object): name = 'SIM' @@ -310,7 +310,7 @@ len = self._scc.record_size(ef) self._scc.update_record(ef, rec_no, "ff" * len, force_len=False, verify=True) -class UsimCard(Card): +class UsimCard(SimCard): name = 'USIM' @@ -388,7 +388,7 @@ (res, sw) = self._scc.update_binary(EF_USIM_ADF_map['UST'], content) return sw -class IsimCard(Card): +class IsimCard(SimCard): name = 'ISIM' @@ -516,7 +516,7 @@ uiari_recs += "UICC IARI: Can't read, response code = %s\n" % (sw) return uiari_recs -class MagicSimBase(abc.ABC, Card): +class MagicSimBase(abc.ABC, SimCard): """ Theses cards uses several record based EFs to store the provider infos, each possible provider uses a specific record number in each EF. The @@ -664,7 +664,7 @@ _ki_file = '6f1b' -class FakeMagicSim(Card): +class FakeMagicSim(SimCard): """ Theses cards have a record based EF 3f00/000c that contains the provider information. See the program method for its format. The records go from @@ -731,7 +731,7 @@ self._scc.update_record('000c', 1+i, entry) -class GrcardSim(Card): +class GrcardSim(SimCard): """ Greencard (grcard.cn) HZCOS GSM SIM These cards have a much more regular ISO 7816-4 / TS 11.11 structure, @@ -834,7 +834,7 @@ data, sw = self._scc._tp.send_apdu_checksw("0099000033" + par) -class SysmoSIMgr2(Card): +class SysmoSIMgr2(SimCard): """ sysmocom sysmoSIM-GR2 """ @@ -1157,7 +1157,7 @@ if sw != '9000': print("Programming ACC failed with code %s"%sw) -class OpenCellsSim(Card): +class OpenCellsSim(SimCard): """ OpenCellsSim -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24142 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2077ded44bc2297b8d478c5bd1895951b494efcc Gerrit-Change-Number: 24142 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 Wed Jun 30 08:17:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:17:59 +0000 Subject: Change in simtrace2[master]: don't printf() directly from library code, go via libosmocore logging In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24512 ) Change subject: don't printf() directly from library code, go via libosmocore logging ...................................................................... don't printf() directly from library code, go via libosmocore logging This allows us to use different log levels, and permits the user to use other log targets. Change-Id: I08ef7cfa5d8734882746a11ccd5f059d757401ae --- M host/lib/simtrace2_api.c 1 file changed, 16 insertions(+), 6 deletions(-) Approvals: dexter: Looks good to me, approved Jenkins Builder: Verified diff --git a/host/lib/simtrace2_api.c b/host/lib/simtrace2_api.c index 4e16fd1..a61b2cf 100644 --- a/host/lib/simtrace2_api.c +++ b/host/lib/simtrace2_api.c @@ -44,9 +44,13 @@ #include #include #include +#include #include #include +#define LOGSLOT(slot, lvl, fmt, args...) \ + LOGP(DLINP, lvl, "[%u] " fmt, (slot)->slot_nr, ## args) + /*********************************************************************** * SIMTRACE core protocol ***********************************************************************/ @@ -141,7 +145,6 @@ OSMO_ASSERT(transp); st_push_hdr(msg, msg_class, msg_type, slot->slot_nr); - printf("SIMtrace <- %s\n", msgb_hexdump(msg)); if (transp->udp_fd < 0) { if (transp->usb_async) @@ -166,6 +169,8 @@ struct msgb *msg = st_msgb_alloc(); struct cardemu_usb_msg_cardinsert *cins; + LOGSLOT(ci->slot, LOGL_NOTICE, "<= %s(inserted=%d)\n", __func__, inserted); + cins = (struct cardemu_usb_msg_cardinsert *) msgb_put(msg, sizeof(*cins)); memset(cins, 0, sizeof(*cins)); if (inserted) @@ -181,7 +186,7 @@ struct cardemu_usb_msg_tx_data *txd; txd = (struct cardemu_usb_msg_tx_data *) msgb_put(msg, sizeof(*txd)); - printf("<= %s(%02x, %d)\n", __func__, pb, le); + LOGSLOT(ci->slot, LOGL_DEBUG, "<= %s(pb=%02x, le=%u)\n", __func__, pb, le); memset(txd, 0, sizeof(*txd)); txd->data_len = 1; @@ -202,7 +207,7 @@ txd = (struct cardemu_usb_msg_tx_data *) msgb_put(msg, sizeof(*txd)); - printf("<= %s(%02x, %s, %d)\n", __func__, pb, + LOGSLOT(ci->slot, LOGL_DEBUG, "<= %s(pb=%02x, tx=%s, len=%d)\n", __func__, pb, osmo_hexdump(data, data_len_in), data_len_in); memset(txd, 0, sizeof(*txd)); @@ -226,7 +231,7 @@ txd = (struct cardemu_usb_msg_tx_data *) msgb_put(msg, sizeof(*txd)); - printf("<= %s(%02x %02x)\n", __func__, sw[0], sw[1]); + LOGSLOT(ci->slot, LOGL_DEBUG, "<= %s(sw=%02x%02x)\n", __func__, sw[0], sw[1]); memset(txd, 0, sizeof(*txd)); txd->data_len = 2; @@ -246,7 +251,7 @@ satr = (struct cardemu_usb_msg_set_atr *) msgb_put(msg, sizeof(*satr)); - printf("<= %s(%s)\n", __func__, osmo_hexdump(atr, atr_len)); + LOGSLOT(ci->slot, LOGL_NOTICE, "<= %s(%s)\n", __func__, osmo_hexdump(atr, atr_len)); memset(satr, 0, sizeof(*satr)); satr->atr_len = atr_len; @@ -263,7 +268,7 @@ cfg = (struct cardemu_usb_msg_config *) msgb_put(msg, sizeof(*cfg)); - printf("<= %s(%08x)\n", __func__, features); + LOGSLOT(ci->slot, LOGL_NOTICE, "<= %s(features=%08x)\n", __func__, features); memset(cfg, 0, sizeof(*cfg)); cfg->features = features; @@ -280,6 +285,9 @@ struct msgb *msg = st_msgb_alloc(); struct st_modem_reset *sr ; + LOGSLOT(slot, LOGL_NOTICE, "<= %s(asserted=%u, pulse_ms=%u)\n", __func__, + asserted, pulse_ms); + sr = (struct st_modem_reset *) msgb_put(msg, sizeof(*sr)); sr->asserted = asserted; sr->pulse_duration_msec = pulse_ms; @@ -310,6 +318,8 @@ struct msgb *msg = st_msgb_alloc(); struct st_modem_sim_select *ss; + LOGSLOT(slot, LOGL_NOTICE, "<= %s(remote_sim=%u)\n", __func__, remote_sim); + ss = (struct st_modem_sim_select *) msgb_put(msg, sizeof(*ss)); ss->remote_sim = remote_sim; -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24512 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I08ef7cfa5d8734882746a11ccd5f059d757401ae Gerrit-Change-Number: 24512 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 08:18:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Jun 2021 08:18:01 +0000 Subject: Change in simtrace2[master]: simtrace2-list: Use osmo_st2_compatible_dev_ids[] In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24523 ) Change subject: simtrace2-list: Use osmo_st2_compatible_dev_ids[] ...................................................................... simtrace2-list: Use osmo_st2_compatible_dev_ids[] we shouldn't use a local copy of the device id list, which is already outdated now that OCTSIMTEST support has been added to libosmo-st2 Change-Id: I2231006b94c33fe3b28ce37b0d54c67206751058 --- M host/src/simtrace2_usb.c 1 file changed, 2 insertions(+), 8 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/host/src/simtrace2_usb.c b/host/src/simtrace2_usb.c index 94e19ff..8fa41fc 100644 --- a/host/src/simtrace2_usb.c +++ b/host/src/simtrace2_usb.c @@ -25,13 +25,7 @@ #include #include - -static const struct dev_id compatible_dev_ids[] = { - { USB_VENDOR_OPENMOKO, USB_PRODUCT_OWHW_SAM3 }, - { USB_VENDOR_OPENMOKO, USB_PRODUCT_QMOD_SAM3 }, - { USB_VENDOR_OPENMOKO, USB_PRODUCT_SIMTRACE2 }, - { 0, 0 } -}; +#include static int find_devices(void) { @@ -39,7 +33,7 @@ int rc, i, num_interfaces; /* scan for USB devices matching SIMtrace USB ID with proprietary class */ - rc = osmo_libusb_find_matching_interfaces(NULL, compatible_dev_ids, + rc = osmo_libusb_find_matching_interfaces(NULL, osmo_st2_compatible_dev_ids, USB_CLASS_PROPRIETARY, -1, -1, ifm, ARRAY_SIZE(ifm)); printf("USB matches: %d\n", rc); if (rc < 0) -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I2231006b94c33fe3b28ce37b0d54c67206751058 Gerrit-Change-Number: 24523 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 10:11:50 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 30 Jun 2021 10:11:50 +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 4: (1 comment) 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 > the naming is a bit flawed. We are _not_ actually reducing the BCCH power. [?] My intention was to reflect the feature name here. But I agree that it may be misinterpreted. Do you agree if I rename it to "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: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 30 Jun 2021 10:11:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 10:20:33 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 30 Jun 2021 10:20:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Types: add matching templates for BS Power Control In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24809 ) Change subject: library/RSL_Types: add matching templates for BS Power Control ...................................................................... library/RSL_Types: add matching templates for BS Power Control Change-Id: Iceba738f71043dc22880d085836f8be9d14821ab Related: SYS#4919 --- M library/RSL_Types.ttcn 1 file changed, 19 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index 10284b8..28ae971 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -448,6 +448,15 @@ fpc := fpc, power_level := power_level } + template RSL_IE_BS_Power + tr_RSL_IE_BS_Power(template (present) uint4_t power_level, + template (present) boolean epc := ?, + template (present) boolean fpc := ?) := { + reserved := ?, + epc := epc, + fpc := fpc, + power_level := power_level + } /* 9.3.7 */ type enumerated RSL_AlgId { @@ -1622,6 +1631,16 @@ /* One optional IE: BS POWER PARAMETERS */ } } + template RSL_Message tr_RSL_BS_PWR_CTRL(template (present) RslChannelNr chan_nr, + template (present) RSL_IE_BS_Power bs_power) := { + msg_disc := tr_RSL_MsgDisc(RSL_MDISC_DCHAN, false), + msg_type := RSL_MT_BS_POWER_CONTROL, + ies := { + tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}), + tr_RSL_IE(RSL_IE_Body:{bs_power := bs_power}) + /* One optional IE: BS POWER PARAMETERS */ + } + } /* 8.4.19 BTS -> BSC */ template (value) RSL_Message ts_RSL_RF_CHAN_REL_ACK(template (value) RslChannelNr chan_nr) := -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24809 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iceba738f71043dc22880d085836f8be9d14821ab Gerrit-Change-Number: 24809 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 10:57:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Jun 2021 10:57:55 +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 1: 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: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Jun 2021 10:57: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 Jun 30 11:00:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Jun 2021 11:00:41 +0000 Subject: Change in osmo-bsc[master]: power_control: omit BS Power Parameters IE if the maximum is 0 dB In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/22165 ) Change subject: power_control: omit BS Power Parameters IE if the maximum is 0 dB ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/22165 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If8507992dfd90ade1edda99b72bf2420a702ccd5 Gerrit-Change-Number: 22165 Gerrit-PatchSet: 8 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Jun 2021 11:00:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 11:01:20 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 30 Jun 2021 11:01:20 +0000 Subject: Change in osmo-bsc[master]: power_control: omit BS Power Parameters IE if the maximum is 0 dB In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/22165 ) Change subject: power_control: omit BS Power Parameters IE if the maximum is 0 dB ...................................................................... power_control: omit BS Power Parameters IE if the maximum is 0 dB If BS Power Parameters IE is present in the channel activation message, the BTS shall employ dynamic BS power control for that logical channel and interpret BS Power IE as the maximum value. If the maximum value is 0 dB, then it does not make sense to send BS Power Parameters IE to the BTS, because the power control loop would never exceed the maximum. Change-Id: If8507992dfd90ade1edda99b72bf2420a702ccd5 Related: SYS#4918, SYS#4919 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 0d92141..809cd9b 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -237,6 +237,12 @@ if (cp->mode != GSM_PWR_CTRL_MODE_DYN_BTS) return; + /* No dynamic BS power control if the maximum is 0 dB */ + if (cp->dir == GSM_PWR_CTRL_DIR_DL) { + if (lchan->bs_power_db == 0) + return; + } + /* Put tag first, length will be updated later */ uint8_t *ie_len = msgb_tl_put(msg, iei); uint8_t msg_len = msgb_length(msg); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/22165 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If8507992dfd90ade1edda99b72bf2420a702ccd5 Gerrit-Change-Number: 22165 Gerrit-PatchSet: 9 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 11:16:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Jun 2021 11:16:10 +0000 Subject: Change in libosmocore[master]: Rename osmo dyn ts enums 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/libosmocore/+/24784 to look at the new patch set (#2). 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(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/84/24784/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: neels Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 11:31:43 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Jun 2021 11:31:43 +0000 Subject: Change in osmo-bsc[master]: Support SDCCH8 in osmo dyn ts 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/+/24786 to look at the new patch set (#3). 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(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/86/24786/3 -- 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: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 11:31:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Jun 2021 11:31:59 +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 2: This change is ready for review. -- 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: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Wed, 30 Jun 2021 11:31: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 Jun 30 11:35:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Jun 2021 11:35:51 +0000 Subject: Change in osmo-bsc[master]: Rename osmo dyn ts enums to contain SDCCH8 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/+/24785 to look at the new patch set (#3). 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(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/85/24785/3 -- 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: 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 Jun 30 11:39:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Jun 2021 11:39:26 +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 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24785/3/src/osmo-bsc/gsm_data.c File src/osmo-bsc/gsm_data.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24785/3/src/osmo-bsc/gsm_data.c at 194 PS3, Line 194: { GSM_PCHAN_OSMO_DYN, "TCH/F_TCH/H_SDCCH8_PDCH" }, I decided to keep previous formatting (adding SDCCH8) in what's used in VTY config, since I think it's more descriptive when looking/using the config. With one gasp you can find out kind of channels are there configured. Feel free to provide feedback on whether you agree or not. -- 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: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Wed, 30 Jun 2021 11:39:26 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 11:40:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Jun 2021 11:40:35 +0000 Subject: Change in osmo-bsc[master]: Rename osmo dyn ts enums to contain SDCCH8 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/+/24785 to look at the new patch set (#4). 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(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/85/24785/4 -- 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-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 11:46:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Jun 2021 11:46:40 +0000 Subject: Change in osmo-bts[master]: Rename osmo dyn ts enums to contain SDCCH8 In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24799 to look at the new patch set (#3). 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(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/99/24799/3 -- 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-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 11:46:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Jun 2021 11:46:40 +0000 Subject: Change in osmo-bts[master]: Support SDCCH8 in osmo dyn ts In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24802 to look at the new patch set (#2). 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(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/02/24802/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-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 11:54:01 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 30 Jun 2021 11:54:01 +0000 Subject: Change in libosmocore[master]: Rename osmo dyn ts enums In-Reply-To: References: Message-ID: fixeria 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: fixeria Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 30 Jun 2021 11:54:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 14:15:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Jun 2021 14:15:59 +0000 Subject: Change in osmo-pcu[master]: pdch: Fix heap-use-after-free in pdch->ulc References: Message-ID: pespin has uploaded this change for review. ( 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/pcu_l1_if.cpp M src/pdch.cpp M src/pdch.h M tests/tbf/TbfTest.cpp M tests/ulc/PdchUlcTest.cpp 5 files changed, 26 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/12/24812/1 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..fbfc474 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() diff --git a/src/pdch.h b/src/pdch.h index cfa0195..b8f2911 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]; 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: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 15:10:56 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 30 Jun 2021 15:10:56 +0000 Subject: Change in libosmocore[master]: linuxlist: add function to get last element of a list 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/libosmocore/+/24801 to look at the new patch set (#2). Change subject: linuxlist: add function to get last element of a list ...................................................................... linuxlist: add function 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, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/01/24801/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: 2 Gerrit-Owner: dexter 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 Wed Jun 30 15:10:57 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 30 Jun 2021 15:10:57 +0000 Subject: Change in libosmocore[master]: linuxlist: add function to check entry presence References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24813 ) 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/1 diff --git a/include/osmocom/core/linuxlist.h b/include/osmocom/core/linuxlist.h index f28f88b..d450bb9 100644 --- a/include/osmocom/core/linuxlist.h +++ b/include/osmocom/core/linuxlist.h @@ -394,6 +394,20 @@ return i; } +/*! Check whether a given element actually exists in the list. + * \param head the llist head of the list to check. + * \param entry the element to check. + * \returns true if the element exists in the list, false otherwise. + */ +static inline bool llist_contains(struct llist_head *head, struct llist_head *entry) +{ + struct llist_head *llist_entry; + llist_for_each(llist_entry, head) { + if (llist_entry == entry) + return true; + } + return false; +} /*! Double linked lists with a single pointer list head. -- 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: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 15:11:28 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 30 Jun 2021 15:11:28 +0000 Subject: Change in libosmocore[master]: linuxlist: add function to get last element of a list In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24801 ) Change subject: linuxlist: add function to get last element of a list ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24801/1/include/osmocom/core/linuxlist.h File include/osmocom/core/linuxlist.h: https://gerrit.osmocom.org/c/libosmocore/+/24801/1/include/osmocom/core/linuxlist.h at 419 PS1, Line 419: if (entry == head->prev) > return (entry == head->prev); Done -- 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: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Jun 2021 15:11:28 +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 Jun 30 15:20:12 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 30 Jun 2021 15:20:12 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses 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-bts/+/24513 to look at the new patch set (#7). 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, 270 insertions(+), 79 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/13/24513/7 -- 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-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 15:20:34 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 30 Jun 2021 15:20:34 +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: (2 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24513/6/src/common/abis.c File src/common/abis.c: https://gerrit.osmocom.org/c/osmo-bts/+/24513/6/src/common/abis.c at 130 PS6, Line 130: osmo_fsm_inst_state_chg(fi, ABIS_LINK_ST_FAILED, 0, 0); > maybe "ABIS_LINK_ST_CONN_DROPPED" would be more meaningful, since it's actually what happens when yo [?] The state ABIS_LINK_ST_FAILED means that the abis link failed finally. This situation here may be a bit special. We can (probably) not simply go to the next BSC when osmo-bts was running with a different one before. I fear that we will get unpredictable behavior then. So if there was an oml/rsl connection before we can not go back to CONNECTING, we go to FAILURE instead which will initiate a shutdown of omso-bts. https://gerrit.osmocom.org/c/osmo-bts/+/24513/6/src/common/abis.c at 147 PS6, Line 147: if (!llist_contains(&bts->bsc_oml_hosts, priv->bsc_oml_host)) > you are potentially accessing already freed memory here, since priv->bsc_oml_host is a pointer point [?] I thought that this would solve the problem. The function llist_contains() goes through the list and tries to find the pointer priv->bsc_oml_host, if it is not in there it has been removed by the VTY, but then we know and we set priv->bsc_oml_host to NULL then. The function llist_contains() does not de-reference priv->bsc_oml_host, it just uses the address for comparison. -- 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: Wed, 30 Jun 2021 15:20:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 15:22:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 30 Jun 2021 15:22:25 +0000 Subject: Change in libosmocore[master]: linuxlist: add function to check entry presence In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24813 ) Change subject: linuxlist: add function to check entry presence ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24813/1/include/osmocom/core/linuxlist.h File include/osmocom/core/linuxlist.h: https://gerrit.osmocom.org/c/libosmocore/+/24813/1/include/osmocom/core/linuxlist.h at 402 PS1, Line 402: struct llist_head *head, struct llist_head *entry Ideally, both pointers should be 'const' because you do not change memory they point to. -- 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: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Jun 2021 15:22: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 Wed Jun 30 15:23:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Jun 2021 15:23:06 +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 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24813/1/include/osmocom/core/linuxlist.h File include/osmocom/core/linuxlist.h: https://gerrit.osmocom.org/c/libosmocore/+/24813/1/include/osmocom/core/linuxlist.h at 402 PS1, Line 402: struct llist_head *head, struct llist_head *entry > Ideally, both pointers should be 'const' because you do not change memory they point to. Ack -- 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: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Jun 2021 15:23:06 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 15:23:40 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 30 Jun 2021 15:23:40 +0000 Subject: Change in libosmocore[master]: linuxlist: add function to get last element of a list In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24801 ) Change subject: linuxlist: add function to get last element of a list ...................................................................... Patch Set 2: 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: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Jun 2021 15:23:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 15:25:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Jun 2021 15:25:25 +0000 Subject: Change in libosmocore[master]: linuxlist: add function 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 function to get last element of a list ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24801/2/include/osmocom/core/linuxlist.h File include/osmocom/core/linuxlist.h: https://gerrit.osmocom.org/c/libosmocore/+/24801/2/include/osmocom/core/linuxlist.h at 416 PS2, Line 416: #define llist_last(head) (head)->prev Better move this one above, next to the "llist_last_entry" one. -- 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: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Jun 2021 15:25: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 Wed Jun 30 15:28:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Jun 2021 15:28:38 +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 7: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24513/6/src/common/abis.c File src/common/abis.c: https://gerrit.osmocom.org/c/osmo-bts/+/24513/6/src/common/abis.c at 147 PS6, Line 147: if (!llist_contains(&bts->bsc_oml_hosts, priv->bsc_oml_host)) > I thought that this would solve the problem. [?] what if you remove then add again with a different ip addr? You may end up with a different struct in the same memory region. Keeping dandling pointers to freed memory is only asking for future problems, I'd avoid it in any case. Even worse if we keep using the dangling pointer pointing to nowehere meaningful like you do here. -- 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: Wed, 30 Jun 2021 15:28:38 +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 Jun 30 15:29:08 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 30 Jun 2021 15:29:08 +0000 Subject: Change in libosmocore[master]: linuxlist: add function to get last element of a list In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24801 ) Change subject: linuxlist: add function to get last element of a list ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24801/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmocore/+/24801/2//COMMIT_MSG at 7 PS2, Line 7: function Strictly speaking, you're adding a macro, not a function. -- 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: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Jun 2021 15:29: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 Wed Jun 30 15:31:10 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 30 Jun 2021 15:31:10 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses In-Reply-To: References: Message-ID: fixeria 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: 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. -- 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: Wed, 30 Jun 2021 15:31:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 15:36:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Jun 2021 15:36:45 +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 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. -- 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: Wed, 30 Jun 2021 15:36:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 21:45:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 30 Jun 2021 21:45:24 +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 (#5). 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. 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, 147 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/76/24776/5 -- 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: 5 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 Wed Jun 30 21:52:30 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 30 Jun 2021 21:52:30 +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 (#6). 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, 147 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/76/24776/6 -- 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: 6 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 Wed Jun 30 22:00:55 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 30 Jun 2021 22:00:55 +0000 Subject: Change in osmo-bts[master]: Revert "power_control: BS power shall not be reduced on C0" In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24782 ) Change subject: Revert "power_control: BS power shall not be reduced on C0" ...................................................................... Revert "power_control: BS power shall not be reduced on C0" This reverts commit cd30a40be15267c7257b733da4e9ffdf17f0614d. As a part of SYS#4919 "BTS energy saving", we want to support constrained (up to 6 dB) BS power control on BCCH carriers. Change-Id: I0d2b48c4b2af2d8e94f4ad02fa4774dbd0a0a654 Related: SYS#4919 --- M src/common/l1sap.c 1 file changed, 1 insertion(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/common/l1sap.c b/src/common/l1sap.c index c4f258a..c028a2c 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1629,8 +1629,7 @@ lchan->meas.flags |= LC_UL_M_F_L1_VALID; lchan_ms_pwr_ctrl(lchan, data[0] & 0x1f, data_ind->rssi); - if (trx->bts->c0 != trx) /* BS Power Control shall not be used on C0 */ - lchan_bs_pwr_ctrl(lchan, (const struct gsm48_hdr *) &data[5]); + lchan_bs_pwr_ctrl(lchan, (const struct gsm48_hdr *) &data[5]); } else le = &lchan->lapdm_ch.lapdm_dcch; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24782 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0d2b48c4b2af2d8e94f4ad02fa4774dbd0a0a654 Gerrit-Change-Number: 24782 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 Wed Jun 30 22:00:55 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 30 Jun 2021 22:00:55 +0000 Subject: Change in osmo-bts[master]: osmo-bts-omldummy: indicate BTS_FEAT_BCCH_POWER_RED as supported In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24811 ) Change subject: osmo-bts-omldummy: indicate BTS_FEAT_BCCH_POWER_RED as supported ...................................................................... osmo-bts-omldummy: indicate BTS_FEAT_BCCH_POWER_RED as supported This is required for ttcn3-bsc-test, see change [1]. Change-Id: I765d5e38cb0746e0458773abf3717ee9bf1cb7d1 Related: [1] I084f7736cd7d09b68ed49f8ba52a14de928d4c01 Related: SYS#4919 --- M src/osmo-bts-omldummy/bts_model.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bts-omldummy/bts_model.c b/src/osmo-bts-omldummy/bts_model.c index 5624fc1..46558a1 100644 --- a/src/osmo-bts-omldummy/bts_model.c +++ b/src/osmo-bts-omldummy/bts_model.c @@ -187,6 +187,7 @@ bts->variant = BTS_OSMO_OMLDUMMY; osmo_bts_set_feature(bts->features, BTS_FEAT_CBCH); osmo_bts_set_feature(bts->features, BTS_FEAT_HOPPING); + osmo_bts_set_feature(bts->features, BTS_FEAT_BCCH_POWER_RED); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24811 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I765d5e38cb0746e0458773abf3717ee9bf1cb7d1 Gerrit-Change-Number: 24811 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 22:27:30 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 30 Jun 2021 22:27:30 +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 (#4). 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/4 -- 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: 4 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 Wed Jun 30 22:35:34 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 30 Jun 2021 22:35:34 +0000 Subject: Change in osmo-bsc[master]: power_control: constrain BS power reduction on BCCH carrier 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/+/24804 to look at the new patch set (#2). 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(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/04/24804/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: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 22:35:58 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 30 Jun 2021 22:35:58 +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 3: This change is ready for review. -- 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: neels Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 30 Jun 2021 22:35:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 30 22:48:19 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 30 Jun 2021 22:48:19 +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 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: This change is ready for review. -- 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-CC: laforge Gerrit-Comment-Date: Wed, 30 Jun 2021 22:48: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 Wed Jun 30 23:12:00 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 30 Jun 2021 23:12:00 +0000 Subject: Change in osmo-ccid-firmware[master]: cuart: move generic paramete reset upon powerdown to where it belongs References: Message-ID: Hoernchen has uploaded this change for review. ( 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(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/14/24814/1 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-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: