Change in osmo-sgsn[master]: is_config_node is deprecated, so don't set it
daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/21028 ) Change subject: is_config_node is deprecated, so don't set it .. is_config_node is deprecated, so don't set it Change-Id: I2008dd9026922d29ee703c59e70d3fecced0ee18 --- M src/gbproxy/gb_proxy_main.c M src/gtphub/gtphub_main.c 2 files changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/28/21028/1 diff --git a/src/gbproxy/gb_proxy_main.c b/src/gbproxy/gb_proxy_main.c index 8c83980..667b81d 100644 --- a/src/gbproxy/gb_proxy_main.c +++ b/src/gbproxy/gb_proxy_main.c @@ -235,7 +235,6 @@ .name = "OsmoGbProxy", .version= PACKAGE_VERSION, .go_parent_cb = gbproxy_vty_go_parent, - .is_config_node = gbproxy_vty_is_config_node, }; /* default categories */ diff --git a/src/gtphub/gtphub_main.c b/src/gtphub/gtphub_main.c index 664c801..2166c3f 100644 --- a/src/gtphub/gtphub_main.c +++ b/src/gtphub/gtphub_main.c @@ -155,7 +155,6 @@ #if BUILD_IU .go_parent_cb = gtphub_vty_go_parent, #endif - .is_config_node = gtphub_vty_is_config_node, }; struct cmdline_cfg { -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21028 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2008dd9026922d29ee703c59e70d3fecced0ee18 Gerrit-Change-Number: 21028 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange
Change in osmo-sgsn[master]: gbproxy: Get the peer if paging by BVCI on SIG_BVC
daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/21030 ) Change subject: gbproxy: Get the peer if paging by BVCI on SIG_BVC .. gbproxy: Get the peer if paging by BVCI on SIG_BVC Currently the code reports routing the message to a BVCI but never even tries to get the peer for it. Change-Id: Ic72f0f03e5886ab76404915fc60a2796e6881a7a Related: SYS#4998 --- M src/gbproxy/gb_proxy.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/30/21030/1 diff --git a/src/gbproxy/gb_proxy.c b/src/gbproxy/gb_proxy.c index 5c1c96e..ddb7342 100644 --- a/src/gbproxy/gb_proxy.c +++ b/src/gbproxy/gb_proxy.c @@ -1105,6 +1105,7 @@ nsei); if (TLVP_PRESENT(tp, BSSGP_IE_BVCI)) { uint16_t bvci = ntohs(tlvp_val16_unal(tp, BSSGP_IE_BVCI)); + peer = gbproxy_peer_by_bvci(cfg, bvci); LOGPC(DGPRS, LOGL_INFO, "routing by BVCI to peer BVCI=%u\n", bvci); errctr = GBPROX_GLOB_CTR_OTHER_ERR; -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21030 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ic72f0f03e5886ab76404915fc60a2796e6881a7a Gerrit-Change-Number: 21030 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange
Change in osmo-sgsn[master]: Port gbproxy to NS2
Hello lynxis lazus, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21029 to review the following change. Change subject: Port gbproxy to NS2 .. Port gbproxy to NS2 Since NS2 has a different abstraction we mock up the prim send/recv functions and don't test NS like the old tests did. Related: SYS#4998 Change-Id: Iecfd0408a35a11638d254c1db3c1d477b1a11524 --- M include/osmocom/sgsn/gb_proxy.h M src/gbproxy/gb_proxy.c M src/gbproxy/gb_proxy_ctrl.c M src/gbproxy/gb_proxy_main.c M src/gbproxy/gb_proxy_patch.c M src/gbproxy/gb_proxy_vty.c M tests/gbproxy/gbproxy_test.c M tests/gbproxy/gbproxy_test.ok 8 files changed, 3,379 insertions(+), 4,940 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/29/21029/1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Iecfd0408a35a11638d254c1db3c1d477b1a11524 Gerrit-Change-Number: 21029 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: newchange
Change in libosmocore[master]: Add exported function btsctx_alloc to public header
daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/20957 ) Change subject: Add exported function btsctx_alloc to public header .. Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/20957/1/include/osmocom/gprs/gprs_bssgp.h File include/osmocom/gprs/gprs_bssgp.h: https://gerrit.osmocom.org/c/libosmocore/+/20957/1/include/osmocom/gprs/gprs_bssgp.h@115 PS1, Line 115: struct bssgp_bvc_ctx *btsctx_alloc(uint16_t bvci, uint16_t nsei); > Is it needed or can just be moved to be static? The symbol is exported in libosmogb.map so it can't be static >From commit fcaa80553ebedf88184bfab981ecfe754c7e1c4e (2012): libosmogb: export btsctx_* functions Those should be private, but osmo-pcu currently needs them... Additionally it's still used in src/gprs_bssgp_pcu.cpp and osmo-gbproxy needs it. The pcu has its own declaration but if we export the symbol we might as well have the function in the public header -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/20957 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iddfb8e42d5d9e856c7165d3cff6c39191c86a4a5 Gerrit-Change-Number: 20957 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 03 Nov 2020 08:48:38 + Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment
Change in osmo-sgsn[master]: Port gbproxy to NS2
daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/21029 ) Change subject: Port gbproxy to NS2 .. Patch Set 1: Depends-on: Ifa769bce920a08cf93553dcb164a3fcf50162517 (libosmocore.git) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Iecfd0408a35a11638d254c1db3c1d477b1a11524 Gerrit-Change-Number: 21029 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Tue, 03 Nov 2020 09:24:06 + Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment
Change in osmo-sgsn[master]: is_config_node is deprecated, so don't set it
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/21028 ) Change subject: is_config_node is deprecated, so don't set it .. Patch Set 1: Don't you need to drop the function too? -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21028 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2008dd9026922d29ee703c59e70d3fecced0ee18 Gerrit-Change-Number: 21028 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 03 Nov 2020 09:40:56 + Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment
Change in libosmocore[master]: Add exported function btsctx_alloc to public header
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/20957 ) Change subject: Add exported function btsctx_alloc to public header .. Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/20957 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iddfb8e42d5d9e856c7165d3cff6c39191c86a4a5 Gerrit-Change-Number: 20957 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Nov 2020 09:42:46 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in libosmocore[master]: libosmogb: Add a function to tx BVC RESET by nsei/bvci
daniel has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/20958 ) Change subject: libosmogb: Add a function to tx BVC RESET by nsei/bvci .. libosmogb: Add a function to tx BVC RESET by nsei/bvci This is needed for osmo-gbproxy where we need more control over BSSGP. Related: SYS#4998 Change-Id: Ifa769bce920a08cf93553dcb164a3fcf50162517 --- M include/osmocom/gprs/gprs_bssgp.h M src/gb/gprs_bssgp.c M src/gb/gprs_bssgp_bss.c M src/gb/libosmogb.map 4 files changed, 40 insertions(+), 22 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/gprs/gprs_bssgp.h b/include/osmocom/gprs/gprs_bssgp.h index b9d251c..5b45ea6 100644 --- a/include/osmocom/gprs/gprs_bssgp.h +++ b/include/osmocom/gprs/gprs_bssgp.h @@ -20,6 +20,7 @@ struct msgb *bssgp_msgb_copy(const struct msgb *msg, const char *name); const char *bssgp_cause_str(enum gprs_bssgp_cause cause); const char *bssgp_pdu_str(enum bssgp_pdu_type pdu); +int bssgp_tx_bvc_reset_nsei_bvci(uint16_t nsei, uint16_t bvci, enum gprs_bssgp_cause cause, const struct gprs_ra_id *ra_id, uint16_t cell_id); /* Transmit a simple response such as BLOCK/UNBLOCK/RESET ACK/NACK */ int bssgp_tx_simple_bvci(uint8_t pdu_type, uint16_t nsei, uint16_t bvci, uint16_t ns_bvci); diff --git a/src/gb/gprs_bssgp.c b/src/gb/gprs_bssgp.c index 8b8d534..ebbfab1 100644 --- a/src/gb/gprs_bssgp.c +++ b/src/gb/gprs_bssgp.c @@ -41,6 +41,7 @@ #include #include "common_vty.h" +#include "osmocom/gsm/gsm48.h" void *bssgp_tall_ctx = NULL; @@ -92,6 +93,39 @@ return NULL; } +/*! Transmit a BVC-RESET message with a given nsei and bvci (Chapter 10.4.12) + * \param[in] nsei The NSEI to transmit over + * \param[in] bvci BVCI of the BVC to reset + * \param[in] cause The cause of the reset + * \param[in] ra_id Pointer to the ra_id to include. If NULL no cell information will be included + * \param[in] cell_id The cell_id to include (if ra_id is not NULL) + */ +int bssgp_tx_bvc_reset_nsei_bvci(uint16_t nsei, uint16_t bvci, enum gprs_bssgp_cause cause, const struct gprs_ra_id *ra_id, uint16_t cell_id) +{ + struct msgb *msg = bssgp_msgb_alloc(); + struct bssgp_normal_hdr *bgph = + (struct bssgp_normal_hdr *) msgb_put(msg, sizeof(*bgph)); + uint16_t _bvci = osmo_htons(bvci); + + msgb_nsei(msg) = nsei; + msgb_bvci(msg) = 0; /* Signalling */ + bgph->pdu_type = BSSGP_PDUT_BVC_RESET; + LOGP(DBSSGP, LOGL_NOTICE, "BSSGP (BVCI=%u) Tx BVC-RESET " + "CAUSE=%s\n", bvci, bssgp_cause_str(cause)); + + msgb_tvlv_put(msg, BSSGP_IE_BVCI, 2, (uint8_t *) &_bvci); + msgb_tvlv_put(msg, BSSGP_IE_CAUSE, 1, (uint8_t *) &cause); + if (ra_id) { + uint8_t bssgp_cid[8]; + bssgp_create_cell_id(bssgp_cid, ra_id, cell_id); + msgb_tvlv_put(msg, BSSGP_IE_CELL_ID, sizeof(bssgp_cid), bssgp_cid); + } + + /* Optional: Feature Bitmap */ + + return bssgp_ns_send(bssgp_ns_send_data, msg); +} + /*! Initiate reset procedure for all PTP BVC on a given NSEI. * * This function initiates reset procedure for all PTP BVC with a given cause. diff --git a/src/gb/gprs_bssgp_bss.c b/src/gb/gprs_bssgp_bss.c index d1734ee..59b06f0 100644 --- a/src/gb/gprs_bssgp_bss.c +++ b/src/gb/gprs_bssgp_bss.c @@ -293,28 +293,10 @@ /*! Transmit a BVC-RESET message (Chapter 10.4.12) */ int bssgp_tx_bvc_reset2(struct bssgp_bvc_ctx *bctx, uint16_t bvci, uint8_t cause, bool add_cell_id) { - struct msgb *msg = bssgp_msgb_alloc(); - struct bssgp_normal_hdr *bgph = - (struct bssgp_normal_hdr *) msgb_put(msg, sizeof(*bgph)); - uint16_t _bvci = osmo_htons(bvci); - - LOGP(DBSSGP, LOGL_NOTICE, "BSSGP (BVCI=%u) Tx BVC-RESET " - "CAUSE=%s\n", bvci, bssgp_cause_str(cause)); - - msgb_nsei(msg) = bctx->nsei; - msgb_bvci(msg) = 0; /* Signalling */ - bgph->pdu_type = BSSGP_PDUT_BVC_RESET; - - msgb_tvlv_put(msg, BSSGP_IE_BVCI, 2, (uint8_t *) &_bvci); - msgb_tvlv_put(msg, BSSGP_IE_CAUSE, 1, &cause); - if (add_cell_id) { - uint8_t bssgp_cid[8]; - bssgp_create_cell_id(bssgp_cid, &bctx->ra_id, bctx->cell_id); - msgb_tvlv_put(msg, BSSGP_IE_CELL_ID, sizeof(bssgp_cid), bssgp_cid); - } - /* Optional: Feature Bitmap */ - - return bssgp_ns_send(bssgp_ns_send_data, msg); + if (add_cell_id) + return bssgp_tx_bvc_reset_nsei_bvci(bctx->nsei, bvci, cause, &bctx->ra_id, bctx->cell_id); + else + return bssgp_tx_bvc_reset_nsei_bvci(bctx->nsei, bvci, cause, NULL, 0); } int bssgp_tx_bvc_reset(struct bssgp_bvc_ctx *bctx, uint16_t bvci, uint8_t cause) { diff --git a/src/gb/libosmogb.map b/src/gb/lib
Change in osmo-sgsn[master]: Port gbproxy to NS2
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/21029 ) Change subject: Port gbproxy to NS2 .. Patch Set 1: (11 comments) https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/include/osmocom/sgsn/gb_proxy.h File include/osmocom/sgsn/gb_proxy.h: https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/include/osmocom/sgsn/gb_proxy.h@249 PS1, Line 249: //int gbprox_reset_persistent_nsvcs(struct gprs_ns2_inst *nsi); what about this? https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/src/gbproxy/gb_proxy.c File src/gbproxy/gb_proxy.c: https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/src/gbproxy/gb_proxy.c@80 PS1, Line 80:uint16_t ns_bvci); unrelated whitespace fix, can be done separately. https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/src/gbproxy/gb_proxy.c@807 PS1, Line 807: uint16_t ns_bvci) unrelated ws fix https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/src/gbproxy/gb_proxy.c@1221 PS1, Line 1221: /* simple case: BVCI IE is mandatory */ This block looks like a separate patch. https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/src/gbproxy/gb_proxy.c@1379 PS1, Line 1379: //int gbprox_reset_persistent_nsvcs(struct gprs_ns_inst *nsi) what about this https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/src/gbproxy/gb_proxy.c@1445 PS1, Line 1445: void gprs_ns_prim_status_cb(struct gbproxy_config *cfg, struct osmo_gprs_ns2_prim *nsp) Move this above gprs_ns_prim_cb then you can drop forward declaration. https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/src/gbproxy/gb_proxy_ctrl.c File src/gbproxy/gb_proxy_ctrl.c: https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/src/gbproxy/gb_proxy_ctrl.c@37 PS1, Line 37: //static int get_nsvc_state(struct ctrl_cmd *cmd, void *data) So what do we do here? we wait until it is supported in ns2? https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/src/gbproxy/gb_proxy_main.c File src/gbproxy/gb_proxy_main.c: https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/src/gbproxy/gb_proxy_main.c@84 PS1, Line 84: //static int proxy_ns_cb(enum gprs_ns_evt event, struct gprs_nsvc *nsvc, what about this https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/src/gbproxy/gb_proxy_main.c@372 PS1, Line 372: // rc = gprs_ns_nsip_listen(bssgp_nsi); what about his https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/src/gbproxy/gb_proxy_vty.c File src/gbproxy/gb_proxy_vty.c: https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/src/gbproxy/gb_proxy_vty.c@683 PS1, Line 683: // llist_for_each_entry_safe(nsvc, nsvc2, &nsi->gprs_nsvcs, list) { what about this https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/tests/gbproxy/gbproxy_test.c File tests/gbproxy/gbproxy_test.c: https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/tests/gbproxy/gbproxy_test.c@36 PS1, Line 36: Drop ws -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Iecfd0408a35a11638d254c1db3c1d477b1a11524 Gerrit-Change-Number: 21029 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 03 Nov 2020 10:30:56 + Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment
Change in osmo-ttcn3-hacks[master]: bsc: add TC_ho_int_radio_link_failure
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21031 ) Change subject: bsc: add TC_ho_int_radio_link_failure .. bsc: add TC_ho_int_radio_link_failure Change-Id: Ia94176a997dbdaf87d6b433cb24ffcfa06241d74 --- M bsc/BSC_Tests.ttcn 1 file changed, 102 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/31/21031/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 8b92c99..a63d536 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -4451,6 +4451,107 @@ f_shutdown_helper(); } +/* 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(); + 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); + f_bts_0_cfg(BSCVTY, {"neighbor bts 1"}); + + var HandoverState hs := { + rr_ho_cmpl_seen := false, + handover_done := false, + old_chan_nr := - + }; + /* issue hand-over command on VTY */ + f_vty_handover(BSCVTY, 0, 0, g_chan_nr, 1); + /* temporarily suspend DChan processing on BTS1 to avoid race with RSLEM_register */ + f_rslem_suspend(RSL1_PROC); + + /* From the MGW perspective, a handover is is characterized by +* performing one MDCX operation with the MGW. So we expect to see +* one more MDCX during handover. */ + g_media.mgcp_conn[0].mdcx_seen_exp := g_media.mgcp_conn[0].crcx_seen_exp + 1; + + var RSL_Message rsl; + var PDU_ML3_NW_MS l3; + var RslChannelNr new_chan_nr; + var GsmArfcn arfcn; + RSL.receive(tr_RSL_DATA_REQ(g_chan_nr)) -> value rsl { + l3 := dec_PDU_ML3_NW_MS(rsl.ies[2].body.l3_info.payload); + if (not ischosen(l3.msgs.rrm.handoverCommand)) { + setverdict(fail, "Expected handoverCommand"); + mtc.stop; + } + } + f_ChDesc2RslChanNr(l3.msgs.rrm.handoverCommand.channelDescription2, + new_chan_nr, arfcn); + + f_rslem_register(0, new_chan_nr, RSL1_PROC); + + /* resume processing of RSL DChan messages, which was temporarily suspended +* before performing a hand-over */ + f_rslem_resume(RSL1_PROC); + RSL1.receive(tr_RSL_IPA_CRCX(new_chan_nr)); + + f_sleep(1.0); + + /* Handover fails because no HANDO DET appears on the new lchan, +* and the old lchan reports a Radio Link Failure. */ + RSL.send(ts_RSL_CONN_FAIL_IND(g_chan_nr, RSL_ERR_RADIO_LINK_FAIL)); + + var PDU_BSSAP rx_clear_request; + BSSAP.receive(tr_BSSMAP_ClearRequest) -> value rx_clear_request; + var BssmapCause cause := bit2int(rx_clear_request.pdu.bssmap.clearRequest.cause.causeValue); + BSSAP.send(ts_BSSMAP_ClearCommand(cause)); + + var RR_Cause rr_cause := GSM48_RR_CAUSE_ABNORMAL_UNSPEC; + + var MgcpCommand mgcp; + interleave { + [] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch tr_RRM_RR_RELEASE(int2oct(enum2int(rr_cause), 1 {} + [] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {} + [] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { + RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); + } + [] RSL1.receive(tr_RSL_DEACT_SACCH(new_chan_nr)) {} + [] RSL1.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { + RSL1.send(ts_RSL_RF_CHAN_REL_ACK(new_chan_nr)); + } + [] BSSAP.receive(tr_BSSMAP_ClearComplete) {} + } + + f_sleep(0.5); + setverdict(pass); +} +testcase TC_ho_int_radio_link_failure() runs on test_CT { + 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_radio_link_failure)); + 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:stopped"); + f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:attempted"); + f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:stopped"); + f_ctrs_bsc_and_bts_verify(); + f_shutdown_helper(); +} + /* Expecting MGCP to DLCX the endpoint's two connection
Change in osmo-pcu[master]: Fix configuration of initial_(m)cs
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/21032 ) Change subject: Fix configuration of initial_(m)cs .. Fix configuration of initial_(m)cs Properly clip initial_(m)cs values to be lower-equal than maximum configured. Regarding initial_mcs, use values provided by BTS, which were not used before. Change-Id: Ifc6bc7c2734d1ae404adc2497afec5366e4f9e50 --- M src/bts.h M src/pcu_l1_if.cpp M src/pcu_vty.c 3 files changed, 43 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/32/21032/1 diff --git a/src/bts.h b/src/bts.h index 9f2f898..4d5d0df 100644 --- a/src/bts.h +++ b/src/bts.h @@ -115,10 +115,11 @@ uint8_t initial_cs_dl, initial_cs_ul; uint8_t initial_mcs_dl, initial_mcs_ul; struct { /* Config Values set by VTY */ + bool force_initial_cs; /* false=use from BTS true=use from VTY */ + bool force_initial_mcs; /* false=use from BTS true=use from VTY */ uint8_t max_cs_dl, max_cs_ul; uint8_t max_mcs_dl, max_mcs_ul; } vty; - uint8_t force_cs; /* 0=use from BTS 1=use from VTY */ uint16_t force_llc_lifetime; /* overrides lifetime from SGSN */ uint32_t llc_discard_csec; uint32_t llc_idle_ack_csec; diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 738d0f1..a984591 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -633,14 +633,38 @@ } bts_set_max_mcs(bts, bts->vty.max_mcs_dl, bts->vty.max_mcs_ul); /* recalc max MCS values */ - LOGP(DL1IF, LOGL_DEBUG, " initial_cs=%d\n", info_ind->initial_cs); - LOGP(DL1IF, LOGL_DEBUG, " initial_mcs=%d\n", info_ind->initial_mcs); - if (!bts->force_cs) { - if (info_ind->initial_cs < 1 || info_ind->initial_cs > 4) - bts->initial_cs_dl = 1; - else - bts->initial_cs_dl = info_ind->initial_cs; - bts->initial_cs_ul = bts->initial_cs_dl; + LOGP(DL1IF, LOGL_DEBUG, " initial_cs=%u%s\n", info_ind->initial_cs, +bts->vty.force_initial_cs ? " (VTY forced, ignoring)" : ""); + if (!bts->vty.force_initial_cs) { + if (info_ind->initial_cs > bts->bts->max_cs_dl()) { + LOGP(DL1IF, LOGL_DEBUG, " downgrading initial_cs_dl to %d\n", bts->bts->max_cs_dl()); + bts->initial_cs_dl = bts->bts->max_cs_dl(); + } else { + bts->initial_cs_dl = info_ind->initial_cs; + } + if (info_ind->initial_cs > bts->bts->max_cs_ul()) { + LOGP(DL1IF, LOGL_DEBUG, " downgrading initial_cs_ul to %d\n", bts->bts->max_cs_ul()); + bts->initial_cs_ul = bts->bts->max_cs_ul(); + } else { + bts->initial_cs_ul = info_ind->initial_cs; + } + } + + LOGP(DL1IF, LOGL_DEBUG, " initial_mcs=%u%s\n", info_ind->initial_mcs, +bts->vty.force_initial_mcs ? " (VTY forced, ignoring)" : ""); + if (!bts->vty.force_initial_mcs) { + if (info_ind->initial_mcs > bts->bts->max_mcs_dl()) { + LOGP(DL1IF, LOGL_DEBUG, " downgrading initial_mcs_dl to %d\n", bts->bts->max_mcs_dl()); + bts->initial_mcs_dl = bts->bts->max_mcs_dl(); + } else { + bts->initial_mcs_dl = info_ind->initial_mcs; + } + if (info_ind->initial_mcs > bts->bts->max_mcs_ul()) { + LOGP(DL1IF, LOGL_DEBUG, " downgrading initial_mcs_ul to %d\n", bts->bts->max_mcs_ul()); + bts->initial_mcs_ul = bts->bts->max_mcs_ul(); + } else { + bts->initial_mcs_ul = info_ind->initial_mcs; + } } pcu = gprs_bssgp_init( diff --git a/src/pcu_vty.c b/src/pcu_vty.c index 5e5dfbe..bf45686 100644 --- a/src/pcu_vty.c +++ b/src/pcu_vty.c @@ -122,7 +122,7 @@ if (bts->fc_ms_leak_rate) vty_out(vty, " flow-control force-ms-leak-rate %d%s", bts->fc_ms_leak_rate, VTY_NEWLINE); - if (bts->force_cs) { + if (bts->vty.force_initial_cs) { if (bts->initial_cs_ul == bts->initial_cs_dl) vty_out(vty, " cs %d%s", bts->initial_cs_dl, VTY_NEWLINE); @@ -179,7 +179,7 @@ bts->mcs_lqual_ranges[8].low, VTY_NEWLINE); - if (bts->initial_mcs_dl != 1 && bts->initial_mcs_ul != 1) { + if (bts->vty.force_initial_mcs) { if (bts->initial_mcs_ul == bts->initial_mcs_dl) vty_out(vty, " mcs %d%s", bts->initial_mcs_dl, VTY_NEWLINE); @@ -449,7 +449,7 @@ struct gprs_rlcmac_bts *bts = bts_main
Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_cs_initial_dl
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21035 ) Change subject: pcu: Introduce test TC_cs_initial_dl .. pcu: Introduce test TC_cs_initial_dl Change-Id: I00bae15a007935cc4e027e63de4367d83e994bd7 --- M pcu/PCU_Tests.ttcn 1 file changed, 46 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/35/21035/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 0430473..59f1c90 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -822,6 +822,51 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +/* Test the initial DL CS set by VTY works fine */ +testcase TC_cs_initial_dl() runs on RAW_PCU_Test_CT { + var octetstring data := f_rnd_octstring(10); + var CodingScheme exp_dl_cs_mcs; + var RlcmacDlBlock dl_block; + var uint32_t poll_fn; + 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(), ts_PCUIF_INFO_default(c_PCUIF_Flags_noMCS)); + + /* Set initial allowed DL CS to 3 */ + g_cs_initial_dl := 3; + exp_dl_cs_mcs := CS_3; + /* Set maximum allowed UL CS to 4 */ + g_cs_max_dl := 4; + f_pcuvty_set_allowed_cs_mcs(); + f_pcuvty_set_link_quality_ranges(); + + /* 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)); + 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, data, 0, exp_dl_cs_mcs); + + /* ACK the DL block */ + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block, '1'B); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), +f_dl_block_ack_fn(dl_block, poll_fn)); + + f_shutdown(__BFILE__, __LINE__, final := true); +} + /* Verify PCU drops TBF after some time of inactivity. */ testcase TC_t3169() runs on RAW_PCU_Test_CT { var PCUIF_info_ind info_ind; @@ -2716,6 +2761,7 @@ execute( TC_cs_lqual_ul_tbf() ); execute( TC_cs_initial_ul() ); execute( TC_cs_max_ul() ); + execute( TC_cs_initial_dl() ); execute( TC_t3169() ); execute( TC_t3193() ); execute( TC_countdown_procedure() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21035 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I00bae15a007935cc4e027e63de4367d83e994bd7 Gerrit-Change-Number: 21035 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange
Change in osmo-ttcn3-hacks[master]: RLCMAC_EncDec: Provide decoded (m)cs in (E)GPRS data blocks
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21033 ) Change subject: RLCMAC_EncDec: Provide decoded (m)cs in (E)GPRS data blocks .. RLCMAC_EncDec: Provide decoded (m)cs in (E)GPRS data blocks Let's provide this information to higher layer since CS is mostly discovered by original bitstring size which is available during decoding. Call the size2mcs converter in each function to avoid having to pass it as a parameter and have it selfcontained, meaning one can simply call decode(bitstring) from TTCN3 code and be done with it. Change-Id: I80ed44e575cc0a11510832e5bbfc07173e7b75b8 --- M library/RLCMAC_EncDec.cc M library/RLCMAC_Templates.ttcn M library/RLCMAC_Types.ttcn 3 files changed, 27 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/33/21033/1 diff --git a/library/RLCMAC_EncDec.cc b/library/RLCMAC_EncDec.cc index d25a7e0..6b78064 100644 --- a/library/RLCMAC_EncDec.cc +++ b/library/RLCMAC_EncDec.cc @@ -450,6 +450,8 @@ TTCN_Buffer ttcn_buffer(stream); int num_llc_blocks = 0; + ret_val.cs() = payload_len_2_coding_scheme(stream.lengthof()); + /* use automatic/generated decoder for header */ ret_val.mac__hdr().decode(DlMacDataHeader_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); @@ -541,7 +543,7 @@ } static -RlcmacDlEgprsDataBlock dec__RlcmacDlEgprsDataBlock(const OCTETSTRING& stream, CodingScheme::enum_type mcs) +RlcmacDlEgprsDataBlock dec__RlcmacDlEgprsDataBlock(const OCTETSTRING& stream) { RlcmacDlEgprsDataBlock ret_val; TTCN_Buffer ttcn_buffer(stream); @@ -551,7 +553,8 @@ unsigned int num_calls; const uint8_t *ti_e; - switch (mcs) { + ret_val.mcs() = payload_len_2_coding_scheme(stream.lengthof()); + switch (ret_val.mcs()) { case CodingScheme::MCS__0: case CodingScheme::MCS__1: case CodingScheme::MCS__2: @@ -569,7 +572,7 @@ ret_val.mac__hdr() = dec__EgprsDlMacDataHeader_type1(stream); break; } - setup_rlc_mac_priv(mcs, ret_val.mac__hdr().header__type(), false, + setup_rlc_mac_priv(ret_val.mcs(), ret_val.mac__hdr().header__type(), false, &num_calls, &data_block_bits, data_block_offsets); get_egprs_data_block(ttcn_buffer, data_block_offsets[0], data_block_bits, aligned_buffer); @@ -611,10 +614,10 @@ { RlcmacDlBlock ret_val; size_t stream_len = stream.lengthof(); - CodingScheme::enum_type mcs = payload_len_2_coding_scheme(stream_len); + CodingScheme::enum_type cs_mcs = payload_len_2_coding_scheme(stream_len); unsigned char pt; - switch (mcs) { + switch (cs_mcs) { case CodingScheme::CS__1: case CodingScheme::CS__2: case CodingScheme::CS__3: @@ -635,7 +638,7 @@ case CodingScheme::MCS__7: case CodingScheme::MCS__8: case CodingScheme::MCS__9: - ret_val.data__egprs() = dec__RlcmacDlEgprsDataBlock(stream, mcs); + ret_val.data__egprs() = dec__RlcmacDlEgprsDataBlock(stream); break; } return ret_val; @@ -655,6 +658,8 @@ stream.log(); TTCN_Logger::end_event(); + ret_val.cs() = payload_len_2_coding_scheme(stream.lengthof()); + /* use automatic/generated decoder for header */ ret_val.mac__hdr().decode(UlMacDataHeader_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); @@ -792,7 +797,7 @@ return ret_val; } -RlcmacUlEgprsDataBlock dec__RlcmacUlEgprsDataBlock(const OCTETSTRING& stream, CodingScheme::enum_type mcs) +RlcmacUlEgprsDataBlock dec__RlcmacUlEgprsDataBlock(const OCTETSTRING& stream) { RlcmacUlEgprsDataBlock ret_val; TTCN_Buffer ttcn_buffer(stream); @@ -802,7 +807,8 @@ unsigned int num_calls; const uint8_t *ti_e; - switch (mcs) { + ret_val.mcs() = payload_len_2_coding_scheme(stream.lengthof()); + switch (ret_val.mcs()) { case CodingScheme::MCS__1: case CodingScheme::MCS__2: case CodingScheme::MCS__3: @@ -819,7 +825,7 @@ ret_val.mac__hdr() = dec__EgprsUlMacDataHeader_type1(stream); break; } - setup_rlc_mac_priv(mcs, ret_val.mac__hdr().header__type(), true, + setup_rlc_mac_priv(ret_val.mcs(), ret_val.mac__hdr().header__type(), true, &num_calls, &data_block_bits, data_block_offsets); get_egprs_data_block(ttcn_buffer, data_block_offsets[0], data_block_bits, aligned_buffer); @@ -889,10 +895,10 @@ { RlcmacUlBlock ret_val; size_t stream_len = stream.lengthof(); - CodingScheme::enum_type mcs = payload_len_2_coding_scheme(stream_len); + CodingScheme::enum_type cs_mcs = payload_len_2_coding_scheme(stream_len); unsigned char pt; - switch (mc
Change in osmo-ttcn3-hacks[master]: pcu: Implement check for expected (M)CS in received data block
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21034 ) Change subject: pcu: Implement check for expected (M)CS in received data block .. pcu: Implement check for expected (M)CS in received data block Change-Id: Ibdc63f6b695c08e4ddf5894c22767d07acf21311 --- M pcu/GPRS_Components.ttcn 1 file changed, 8 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/34/21034/1 diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index f9697a1..234d910 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -902,7 +902,10 @@ f_shutdown(__BFILE__, __LINE__); } - /* TODO: check exp_cs */ + if (not match(data_block.cs, exp_cs)) { + setverdict(fail, "Failed to match ", data_block.cs, " vs exp ", exp_cs); + f_shutdown(__BFILE__, __LINE__); + } } /* This function does what could probably be done with templates */ @@ -934,8 +937,10 @@ f_shutdown(__BFILE__, __LINE__); } - /* TODO: Check exp_cs. In the case of EGPRS, first check mac_hdr.header_type and then decode CPS = exp_cs based on mac_hdr.header_type. - See wireshark's egprs_Header_type1_coding_puncturing_scheme_to_mcs. */ + if (not match(data_block.mcs, exp_cs)) { + setverdict(fail, "Failed to match ", data_block.mcs, " vs exp ", exp_cs); + f_shutdown(__BFILE__, __LINE__); + } } /* High level (task specific) helper for receiving and matching GPRS/EGPRS data blocks */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21034 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibdc63f6b695c08e4ddf5894c22767d07acf21311 Gerrit-Change-Number: 21034 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange
Change in osmo-sgsn[master]: is_config_node is deprecated, so don't set it
daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/21028 ) Change subject: is_config_node is deprecated, so don't set it .. Patch Set 1: Code-Review-1 > Patch Set 1: > > Don't you need to drop the function too? No, it's still used in gbproxy_vty_go_parent() However, it seems that vty_go_parent can also be NULL unless we need to do something special when exiting a node. At least the documentation mentions that changes to vty->node and index are ignored. So I'll redo the patch. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21028 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2008dd9026922d29ee703c59e70d3fecced0ee18 Gerrit-Change-Number: 21028 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 03 Nov 2020 20:32:07 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-sgsn[master]: Port gbproxy to NS2
daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/21029 ) Change subject: Port gbproxy to NS2 .. Patch Set 1: (11 comments) https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/include/osmocom/sgsn/gb_proxy.h File include/osmocom/sgsn/gb_proxy.h: https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/include/osmocom/sgsn/gb_proxy.h@249 PS1, Line 249: //int gbprox_reset_persistent_nsvcs(struct gprs_ns2_inst *nsi); > what about this? Removed it, should be configurable in config with: encapsulation udp use-reset-block-unblock enabled https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/src/gbproxy/gb_proxy.c File src/gbproxy/gb_proxy.c: https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/src/gbproxy/gb_proxy.c@80 PS1, Line 80:uint16_t ns_bvci); > unrelated whitespace fix, can be done separately. Ack https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/src/gbproxy/gb_proxy.c@807 PS1, Line 807: uint16_t ns_bvci) > unrelated ws fix Done https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/src/gbproxy/gb_proxy.c@1221 PS1, Line 1221: /* simple case: BVCI IE is mandatory */ > This block looks like a separate patch. Ack https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/src/gbproxy/gb_proxy.c@1379 PS1, Line 1379: //int gbprox_reset_persistent_nsvcs(struct gprs_ns_inst *nsi) > what about this Yeah, handled by ns2 now. Removed it https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/src/gbproxy/gb_proxy.c@1445 PS1, Line 1445: void gprs_ns_prim_status_cb(struct gbproxy_config *cfg, struct osmo_gprs_ns2_prim *nsp) > Move this above gprs_ns_prim_cb then you can drop forward declaration. Done https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/src/gbproxy/gb_proxy_ctrl.c File src/gbproxy/gb_proxy_ctrl.c: https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/src/gbproxy/gb_proxy_ctrl.c@37 PS1, Line 37: //static int get_nsvc_state(struct ctrl_cmd *cmd, void *data) > So what do we do here? we wait until it is supported in ns2? Yeah, I'm working on adding support back in. I implemented the parts that are already there. https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/src/gbproxy/gb_proxy_main.c File src/gbproxy/gb_proxy_main.c: https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/src/gbproxy/gb_proxy_main.c@84 PS1, Line 84: //static int proxy_ns_cb(enum gprs_ns_evt event, struct gprs_nsvc *nsvc, > what about this Thanks, not removed it as it relates to the old ns code https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/src/gbproxy/gb_proxy_main.c@372 PS1, Line 372: // rc = gprs_ns_nsip_listen(bssgp_nsi); > what about his Removed, thanks. Handled by the bind config https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/src/gbproxy/gb_proxy_vty.c File src/gbproxy/gb_proxy_vty.c: https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/src/gbproxy/gb_proxy_vty.c@683 PS1, Line 683: // llist_for_each_entry_safe(nsvc, nsvc2, &nsi->gprs_nsvcs, list) { > what about this I kept the todo about not deleting persistent NSVC for the future and also fixed the dry_run logic but otherwise removed the loop https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/tests/gbproxy/gbproxy_test.c File tests/gbproxy/gbproxy_test.c: https://gerrit.osmocom.org/c/osmo-sgsn/+/21029/1/tests/gbproxy/gbproxy_test.c@36 PS1, Line 36: > Drop ws Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Iecfd0408a35a11638d254c1db3c1d477b1a11524 Gerrit-Change-Number: 21029 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 03 Nov 2020 20:35:06 + Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment
Change in osmo-ttcn3-hacks[master]: bts: fix TC_sacch_chan_act_ho_*: missing Handover Reference IE
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21036 ) Change subject: bts: fix TC_sacch_chan_act_ho_*: missing Handover Reference IE .. bts: fix TC_sacch_chan_act_ho_*: missing Handover Reference IE The tests still fail, but at least not as prematurely as before. Change-Id: I3f58ed30f7f2e92d2d1694769a4214a6d257f8a9 --- M bts/BTS_Tests.ttcn 1 file changed, 19 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/36/21036/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index a2394a0..0f4da53 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -1238,8 +1238,15 @@ /* Step 1: Activate ASYNC HO channel without MS power IE */ + var integer ho_ref := oct2int(f_rnd_octstring(1)); + var RSL_IE ho_ref_ie := valueof(t_RSL_IE(RSL_IE_HANDO_REF, + RSL_IE_Body:{ handover_ref := ho_ref })); + var RSL_IE_List addl_ies := { + ho_ref_ie + }; + /* Activate channel on BTS side */ - f_rsl_chan_act(g_pars.chan_mode, act_type := t_RSL_IE_ActType_HO_ASYNC); + f_rsl_chan_act(g_pars.chan_mode, more_ies := addl_ies, act_type := t_RSL_IE_ActType_HO_ASYNC); /* don't perform immediate assignment here, as we're testing non-IA case */ /* enable dedicated mode */ f_l1ctl_est_dchan(L1CTL, g_pars); @@ -1254,7 +1261,8 @@ /* Step 2: Activate ASYNC HO channel with MS power IE */ /* Activate channel on BTS side */ - var RSL_IE_List addl_ies := { + addl_ies := { + ho_ref_ie, valueof(t_RSL_IE(RSL_IE_MS_POWER, RSL_IE_Body:{ms_power := ts_RSL_IE_MS_Power(0)})) }; f_rsl_chan_act(g_pars.chan_mode, more_ies := addl_ies, act_type := t_RSL_IE_ActType_HO_ASYNC); @@ -1294,8 +1302,15 @@ /* Step 1: Activate SYNC HO channel without MS power IE */ + var integer ho_ref := oct2int(f_rnd_octstring(1)); + var RSL_IE ho_ref_ie := valueof(t_RSL_IE(RSL_IE_HANDO_REF, + RSL_IE_Body:{ handover_ref := ho_ref })); + addl_ies := { + ho_ref_ie + }; + /* Activate channel on BTS side */ - f_rsl_chan_act(g_pars.chan_mode, act_type := t_RSL_IE_ActType_HO_SYNC); + f_rsl_chan_act(g_pars.chan_mode, more_ies := addl_ies, act_type := t_RSL_IE_ActType_HO_SYNC); /* don't perform immediate assignment here, as we're testing non-IA case */ /* enable dedicated mode */ f_l1ctl_est_dchan(L1CTL, g_pars); @@ -1311,6 +1326,7 @@ /* Activate channel on BTS side */ addl_ies := { + ho_ref_ie, valueof(t_RSL_IE(RSL_IE_MS_POWER, RSL_IE_Body:{ms_power := ts_RSL_IE_MS_Power(0)})) }; f_rsl_chan_act(g_pars.chan_mode, more_ies := addl_ies, act_type := t_RSL_IE_ActType_HO_SYNC); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21036 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3f58ed30f7f2e92d2d1694769a4214a6d257f8a9 Gerrit-Change-Number: 21036 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange
Change in osmo-sgsn[master]: VTY handles parent node automatically
Hello Jenkins Builder, laforge, lynxis lazus, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21028 to look at the new patch set (#2). Change subject: VTY handles parent node automatically .. VTY handles parent node automatically * is_config_node is deprecated, so don't set it * go_parent_cb is only used if we want to do special stuff upon exiting a node, in osmo-sgsn and gtphub only osmo_ss7_vty_go_parent() needs to be called Change-Id: I2008dd9026922d29ee703c59e70d3fecced0ee18 --- M src/gbproxy/gb_proxy_main.c M src/gtphub/gtphub_main.c M src/sgsn/sgsn_main.c 3 files changed, 4 insertions(+), 94 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/28/21028/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21028 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2008dd9026922d29ee703c59e70d3fecced0ee18 Gerrit-Change-Number: 21028 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-MessageType: newpatchset
Change in osmo-sgsn[master]: gbproxy: Add todo for BVC RESET logic
daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/21038 ) Change subject: gbproxy: Add todo for BVC RESET logic .. gbproxy: Add todo for BVC RESET logic When we receive a signalling BVC RESET from the SGSN we want to reset the signalling BVCs for every peer. Change-Id: I98c1a53d0e4b9a988e9ddec97ce0c67ded6f6326 Related: SYS#4998 --- M src/gbproxy/gb_proxy.c 1 file changed, 10 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/38/21038/1 diff --git a/src/gbproxy/gb_proxy.c b/src/gbproxy/gb_proxy.c index 2ce7464..e8a81e7 100644 --- a/src/gbproxy/gb_proxy.c +++ b/src/gbproxy/gb_proxy.c @@ -1218,7 +1218,16 @@ case BSSGP_PDUT_BVC_RESET_ACK: if (cfg->route_to_sgsn2 && nsei == cfg->nsip_sgsn2_nsei) break; - /* fall through */ + /* simple case: BVCI IE is mandatory */ + if (!TLVP_PRESENT(&tp, BSSGP_IE_BVCI)) + goto err_mand_ie; + bvci = ntohs(tlvp_val16_unal(&tp, BSSGP_IE_BVCI)); + if (bvci == BVCI_SIGNALLING) { + /* TODO: Reset all PTP BVCIs */ + } else { + rc = gbprox_relay2bvci(cfg, msg, bvci, ns_bvci); + } + break; case BSSGP_PDUT_FLUSH_LL: /* simple case: BVCI IE is mandatory */ if (!TLVP_PRESENT(&tp, BSSGP_IE_BVCI)) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21038 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I98c1a53d0e4b9a988e9ddec97ce0c67ded6f6326 Gerrit-Change-Number: 21038 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange
Change in osmo-sgsn[master]: Port gbproxy to NS2
Hello Jenkins Builder, lynxis lazus, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21029 to look at the new patch set (#2). Change subject: Port gbproxy to NS2 .. Port gbproxy to NS2 Since NS2 has a different abstraction we mock up the prim send/recv functions and don't test NS like the old tests did. Related: SYS#4998 Change-Id: Iecfd0408a35a11638d254c1db3c1d477b1a11524 --- M include/osmocom/sgsn/gb_proxy.h M src/gbproxy/gb_proxy.c M src/gbproxy/gb_proxy_ctrl.c M src/gbproxy/gb_proxy_main.c M src/gbproxy/gb_proxy_patch.c M src/gbproxy/gb_proxy_vty.c M tests/gbproxy/gbproxy_test.c M tests/gbproxy/gbproxy_test.ok 8 files changed, 3,316 insertions(+), 4,971 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/29/21029/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Iecfd0408a35a11638d254c1db3c1d477b1a11524 Gerrit-Change-Number: 21029 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-MessageType: newpatchset
Change in osmo-sgsn[master]: gbproxy: Whitespace fixes
daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/21037 ) Change subject: gbproxy: Whitespace fixes .. gbproxy: Whitespace fixes Change-Id: Id70c15050b6314fdcd452e89e358d657e1f86e57 --- M src/gbproxy/gb_proxy.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/37/21037/1 diff --git a/src/gbproxy/gb_proxy.c b/src/gbproxy/gb_proxy.c index 542d6d5..2ce7464 100644 --- a/src/gbproxy/gb_proxy.c +++ b/src/gbproxy/gb_proxy.c @@ -77,7 +77,7 @@ }; static int gbprox_relay2peer(struct msgb *old_msg, struct gbproxy_peer *peer, - uint16_t ns_bvci); +uint16_t ns_bvci); static int gbprox_relay2sgsn(struct gbproxy_config *cfg, struct msgb *old_msg, uint16_t ns_bvci, uint16_t sgsn_nsei); static void gbproxy_reset_imsi_acquisition(struct gbproxy_link_info* link_info); @@ -804,7 +804,7 @@ /* feed a message down the NS-VC associated with the specified peer */ static int gbprox_relay2peer(struct msgb *old_msg, struct gbproxy_peer *peer, - uint16_t ns_bvci) +uint16_t ns_bvci) { /* create a copy of the message so the old one can * be free()d safely when we return from gbprox_rcvmsg() */ -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21037 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Id70c15050b6314fdcd452e89e358d657e1f86e57 Gerrit-Change-Number: 21037 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange
Change in libosmocore[master]: Add exported function btsctx_alloc to public header
lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/20957 ) Change subject: Add exported function btsctx_alloc to public header .. Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/20957 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iddfb8e42d5d9e856c7165d3cff6c39191c86a4a5 Gerrit-Change-Number: 20957 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Nov 2020 21:11:30 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in libosmocore[master]: Add exported function btsctx_alloc to public header
daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/20957 ) Change subject: Add exported function btsctx_alloc to public header .. Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/20957/1/include/osmocom/gprs/gprs_bssgp.h File include/osmocom/gprs/gprs_bssgp.h: https://gerrit.osmocom.org/c/libosmocore/+/20957/1/include/osmocom/gprs/gprs_bssgp.h@115 PS1, Line 115: struct bssgp_bvc_ctx *btsctx_alloc(uint16_t bvci, uint16_t nsei); > The symbol is exported in libosmogb.map so it can't be static […] Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/20957 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iddfb8e42d5d9e856c7165d3cff6c39191c86a4a5 Gerrit-Change-Number: 20957 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Nov 2020 21:26:53 + Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: daniel Gerrit-MessageType: comment
Change in libosmocore[master]: Add exported function btsctx_alloc to public header
daniel has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/20957 ) Change subject: Add exported function btsctx_alloc to public header .. Add exported function btsctx_alloc to public header Change-Id: Iddfb8e42d5d9e856c7165d3cff6c39191c86a4a5 --- M include/osmocom/gprs/gprs_bssgp.h 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: lynxis lazus: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/gprs/gprs_bssgp.h b/include/osmocom/gprs/gprs_bssgp.h index 5b45ea6..4eb9df4 100644 --- a/include/osmocom/gprs/gprs_bssgp.h +++ b/include/osmocom/gprs/gprs_bssgp.h @@ -112,6 +112,8 @@ //struct gprs_nsvc *nsvc; }; extern struct llist_head bssgp_bvc_ctxts; +/* Create a BTS Context with BVCI+NSEI */ +struct bssgp_bvc_ctx *btsctx_alloc(uint16_t bvci, uint16_t nsei); /* Find a BTS Context based on parsed RA ID and Cell ID */ struct bssgp_bvc_ctx *btsctx_by_raid_cid(const struct gprs_ra_id *raid, uint16_t cid); /* Find a BTS context based on BVCI+NSEI tuple */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/20957 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iddfb8e42d5d9e856c7165d3cff6c39191c86a4a5 Gerrit-Change-Number: 20957 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged
Change in osmo-sgsn[master]: Let libosmocore handle VTY parent node tracking
Hello Jenkins Builder, laforge, lynxis lazus, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21028 to look at the new patch set (#3). Change subject: Let libosmocore handle VTY parent node tracking .. Let libosmocore handle VTY parent node tracking * is_config_node is deprecated, so don't set it * go_parent_cb is only used if we want to do special stuff upon exiting a node, in osmo-sgsn and gtphub only osmo_ss7_vty_go_parent() needs to be called Change-Id: I2008dd9026922d29ee703c59e70d3fecced0ee18 --- M src/gbproxy/gb_proxy_main.c M src/gtphub/gtphub_main.c M src/sgsn/sgsn_main.c 3 files changed, 4 insertions(+), 94 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/28/21028/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21028 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2008dd9026922d29ee703c59e70d3fecced0ee18 Gerrit-Change-Number: 21028 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-MessageType: newpatchset
Change in libosmocore[master]: ns2: Add gprs_ns2_nsvc_state_name() to get the current state of a VC
daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/21039 ) Change subject: ns2: Add gprs_ns2_nsvc_state_name() to get the current state of a VC .. ns2: Add gprs_ns2_nsvc_state_name() to get the current state of a VC Change-Id: I4c4c5b9142d7240ed452218e263ba12e2b70d1a0 Related: SYS#4998 --- M include/osmocom/gprs/gprs_ns2.h M src/gb/gprs_ns2.c M src/gb/libosmogb.map 3 files changed, 12 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/39/21039/1 diff --git a/include/osmocom/gprs/gprs_ns2.h b/include/osmocom/gprs/gprs_ns2.h index ffc2ad8..728ca9f 100644 --- a/include/osmocom/gprs/gprs_ns2.h +++ b/include/osmocom/gprs/gprs_ns2.h @@ -192,9 +192,12 @@ struct gprs_ns2_nse *nse, const struct osmo_sockaddr *sockaddr); void gprs_ns2_start_alive_all_nsvcs(struct gprs_ns2_nse *nse); + +/* VC information */ const char *gprs_ns2_ll_str(struct gprs_ns2_vc *nsvc); char *gprs_ns2_ll_str_buf(char *buf, size_t buf_len, struct gprs_ns2_vc *nsvc); char *gprs_ns2_ll_str_c(const void *ctx, struct gprs_ns2_vc *nsvc); +const char *gprs_ns2_nsvc_state_name(struct gprs_ns2_vc *nsvc); /* vty */ int gprs_ns2_vty_init(struct gprs_ns2_inst *nsi, diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index ffa3135..f86608f 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -292,6 +292,14 @@ return gprs_ns2_ll_str_buf(buf, NS2_LL_MAX_STR, nsvc); } +/*! Return the current state name of a given NS-VC to a thread-local static buffer. + * \param[in] nsvc NS-VC to return the state of + * \return pointer to the string on success; NULL on error */ +const char *gprs_ns2_nsvc_state_name(struct gprs_ns2_vc *nsvc) +{ + return osmo_fsm_inst_state_name(nsvc->fi); +} + /*! Receive a primitive from the NS User (Gb). * \param[in] nsi NS instance to which the primitive is issued * \param[in] oph The primitive diff --git a/src/gb/libosmogb.map b/src/gb/libosmogb.map index 2ef12bc..72437ab 100644 --- a/src/gb/libosmogb.map +++ b/src/gb/libosmogb.map @@ -109,6 +109,7 @@ gprs_ns2_nse_sns_remote; gprs_ns2_nsvc_by_nsvci; gprs_ns2_nsvc_by_sockaddr; +gprs_ns2_nsvc_state_name; gprs_ns2_prim_strs; gprs_ns2_recv_prim; gprs_ns2_reset_persistent_nsvcs; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21039 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4c4c5b9142d7240ed452218e263ba12e2b70d1a0 Gerrit-Change-Number: 21039 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange
Change in libosmocore[master]: ns2: Send NSVC representation in NS_AFF_CAUSE_VC_* status indication
daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/21040 ) Change subject: ns2: Send NSVC representation in NS_AFF_CAUSE_VC_* status indication .. ns2: Send NSVC representation in NS_AFF_CAUSE_VC_* status indication NS_AFF_CAUSE_VC_* failure and recovery should indicate the NSVC in question. Use the string representation reported by gprs_ns2_ll_str() for that. NS_AFF_CAUSE_VC_RECOVERY was never sent so do that on unblock as well. Change-Id: Iad6f0dc4565a46868cbbe17c361dcd473006c83d Related: SYS#4998 --- M include/osmocom/gprs/gprs_ns2.h 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_vc_fsm.c 5 files changed, 18 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/40/21040/1 diff --git a/include/osmocom/gprs/gprs_ns2.h b/include/osmocom/gprs/gprs_ns2.h index 728ca9f..c90d459 100644 --- a/include/osmocom/gprs/gprs_ns2.h +++ b/include/osmocom/gprs/gprs_ns2.h @@ -101,6 +101,7 @@ } congestion; struct { enum gprs_ns2_affecting_cause cause; + char *nsvc; /* 48.016 5.2.2.6 transfer capability */ int transfer; /* osmocom specific */ diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index f86608f..20f9337 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -363,6 +363,7 @@ * \param[in] bvci BVCI to which the status relates * \param[in] cause The cause of the status */ void ns2_prim_status_ind(struct gprs_ns2_nse *nse, +struct gprs_ns2_vc *nsvc, uint16_t bvci, enum gprs_ns2_affecting_cause cause) { @@ -373,9 +374,14 @@ nsp.u.status.transfer = -1; nsp.u.status.first = nse->first; nsp.u.status.persistent = nse->persistent; + if (nsvc) + nsp.u.status.nsvc = gprs_ns2_ll_str_c(nse, nsvc); + osmo_prim_init(&nsp.oph, SAP_NS, PRIM_NS_STATUS, PRIM_OP_INDICATION, NULL); nse->nsi->cb(&nsp.oph, nse->nsi->cb_data); + if (nsp.u.status.nsvc) + talloc_free(nsp.u.status.nsvc); } /*! Allocate a NS-VC within the given bind + NSE. @@ -430,7 +436,7 @@ if (!nsvc) return; - ns2_prim_status_ind(nsvc->nse, 0, NS_AFF_CAUSE_VC_FAILURE); + ns2_prim_status_ind(nsvc->nse, nsvc, 0, NS_AFF_CAUSE_VC_FAILURE); llist_del(&nsvc->list); llist_del(&nsvc->blist); @@ -608,7 +614,7 @@ gprs_ns2_free_nsvc(nsvc); } - ns2_prim_status_ind(nse, 0, NS_AFF_CAUSE_FAILURE); + ns2_prim_status_ind(nse, NULL, 0, NS_AFF_CAUSE_FAILURE); llist_del(&nse->list); if (nse->bss_sns_fi) @@ -986,7 +992,7 @@ if (unblocked) { /* this is the first unblocked NSVC on an unavailable NSE */ nse->alive = true; - ns2_prim_status_ind(nse, 0, NS_AFF_CAUSE_RECOVERY); + ns2_prim_status_ind(nse, NULL, 0, NS_AFF_CAUSE_RECOVERY); nse->first = false; return; } @@ -1004,7 +1010,7 @@ /* nse became unavailable */ nse->alive = false; - ns2_prim_status_ind(nse, 0, NS_AFF_CAUSE_FAILURE); + ns2_prim_status_ind(nse, NULL, 0, NS_AFF_CAUSE_FAILURE); } /*! Create a new GPRS NS instance diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index b480391..dee3ab7 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -221,6 +221,7 @@ void gprs_ns2_sns_dump_vty(struct vty *vty, const struct gprs_ns2_nse *nse, bool stats); void ns2_prim_status_ind(struct gprs_ns2_nse *nse, +struct gprs_ns2_vc *nsvc, uint16_t bvci, enum gprs_ns2_affecting_cause cause); void ns2_nse_notify_alive(struct gprs_ns2_vc *nsvc, bool alive); diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index b2754f5..31f8a5f 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -686,7 +686,7 @@ struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; if (old_state != GPRS_SNS_ST_UNCONFIGURED) - ns2_prim_status_ind(gss->nse, 0, NS_AFF_CAUSE_SNS_FAILURE); + ns2_prim_status_ind(gss->nse, NULL, 0, NS_AFF_CAUSE_SNS_FAILURE); if (gss->num_max_ip4_remote > 0) ns2_tx_sns_size(gss->sns_nsvc, true, gss->num_max_nsvcs, gss->num_max_ip4_remote, -1); @@ -1126,7 +1126,7 @@ static void ns2_sns_st_configured_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) { struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); - ns2_prim_status_ind(nse, 0, NS_AFF_CAUSE_SNS_CONFIGURED); + ns2_prim_status_ind(nse, NULL, 0, NS_AFF_CAUSE_SNS_CONFIGURED); } static c
Change in libosmocore[master]: libosmocore: change the memory management of NS2
lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/20912 ) Change subject: libosmocore: change the memory management of NS2 .. libosmocore: change the memory management of NS2 Until now NS2 always free'd it's own memory. Even when the msg was sent as primitive to the upper layer. Change the memory ownership when sending a primitive to the upper layer. The upper layer has to free the msg buffer. Merge together with: I180433735bfbb3375c41318d7a7709d5845199ba (osmo-pcu) Change-Id: Id844d7acbcab102a7dc472d608a5e97a748ecb43 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_udp.c M src/gb/gprs_ns2_vc_fsm.c 3 files changed, 34 insertions(+), 16 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index ffa3135..403b8b7 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -1001,7 +1001,7 @@ /*! Create a new GPRS NS instance * \param[in] ctx a talloc context to allocate NS instance from - * \param[in] cb Call-back function for dispatching primitives to the user + * \param[in] cb Call-back function for dispatching primitives to the user. The Call-back must free all msgb* given in the primitive. * \param[in] cb_data transparent user data passed to Call-back * \returns dynamically allocated gprs_ns_inst; NULL on error */ struct gprs_ns2_inst *gprs_ns2_instantiate(void *ctx, osmo_prim_cb cb, void *cb_data) diff --git a/src/gb/gprs_ns2_udp.c b/src/gb/gprs_ns2_udp.c index 2cc1006..0676314 100644 --- a/src/gb/gprs_ns2_udp.c +++ b/src/gb/gprs_ns2_udp.c @@ -206,7 +206,7 @@ static int handle_nsip_read(struct osmo_fd *bfd) { - int rc; + int rc = 0; int error = 0; struct gprs_ns2_vc_bind *bind = bfd->data; struct osmo_sockaddr saddr; @@ -240,10 +240,10 @@ } } - rc = ns2_recv_vc(nsvc, msg); + return ns2_recv_vc(nsvc, msg); + out: msgb_free(msg); - return rc; } diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c index 451437f..4fa53c1 100644 --- a/src/gb/gprs_ns2_vc_fsm.c +++ b/src/gb/gprs_ns2_vc_fsm.c @@ -459,8 +459,10 @@ struct osmo_gprs_ns2_prim nsp = {}; uint16_t bvci; - if (msgb_l2len(msg) < sizeof(*nsh) + 3) + if (msgb_l2len(msg) < sizeof(*nsh) + 3) { + msgb_free(msg); return; + } /* TODO: 7.1: For an IP sub-network, an NS-UNITDATA PDU * for a PTP BVC may indicate a request to change the IP endpoint @@ -488,6 +490,7 @@ { struct gprs_ns2_vc_priv *priv = fi->priv; struct gprs_ns2_inst *nsi = ns_inst_from_fi(fi); + struct msgb *msg = data; switch (event) { case GPRS_NS2_EV_RESET: @@ -520,22 +523,31 @@ recv_test_procedure(fi); break; case GPRS_NS2_EV_UNITDATA: + /* UNITDATA has to handle the release of msg. +* If send upwards (gprs_ns2_recv_unitdata) it must NOT free +* the msg, the upper layer has to do it. +* Otherwise the msg must be freed. +*/ switch (fi->state) { case GPRS_NS2_ST_BLOCKED: /* 7.2.1: the BLOCKED_ACK might be lost */ - if (priv->initiater) - gprs_ns2_recv_unitdata(fi, data); - else - ns2_tx_status(priv->nsvc, - NS_CAUSE_NSVC_BLOCKED, - 0, data); + if (priv->initiater) { + gprs_ns2_recv_unitdata(fi, msg); + return; + } + + ns2_tx_status(priv->nsvc, + NS_CAUSE_NSVC_BLOCKED, + 0, msg); break; /* ALIVE can receive UNITDATA if the ALIVE_ACK is lost */ case GPRS_NS2_ST_ALIVE: case GPRS_NS2_ST_UNBLOCKED: - gprs_ns2_recv_unitdata(fi, data); - break; + gprs_ns2_recv_unitdata(fi, msg); + return; } + + msgb_free(msg); break; } } @@ -613,6 +625,7 @@ { struct gprs_ns_hdr *nsh = (struct gprs_ns_hdr *) msg->l2h; struct osmo_fsm_inst *fi = nsvc->fi; + int rc = 0; uint8_t cause; /* TODO: 7.2: on UNBLOCK/BLOCK: check if NS-VCI is correct, @@ -622,7 +635,8 @@ if (gprs_ns2_validate(nsvc, nsh->pdu_type, msg, tp, &cause)) { if (nsh->pdu_type != NS_PDUT_STATUS) { - return ns2_tx_status(nsvc, cause, 0, msg); + rc = ns
Change in osmo-pcu[master]: NS2: follow the change of ownership
lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/20913 ) Change subject: NS2: follow the change of ownership .. NS2: follow the change of ownership When receiving a primitive from the NS2 layer the PCU must free the msg buffer if given. Change-Id: I180433735bfbb3375c41318d7a7709d5845199ba --- M src/gprs_bssgp_pcu.cpp 1 file changed, 5 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index 413408d..671629b 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -597,7 +597,7 @@ LOGP(DPCU, LOGL_NOTICE, "NS: %s Unknown prim %d from NS\n", get_value_string(osmo_prim_op_names, oph->operation), oph->operation); - return 0; + goto out; } switch (oph->primitive) { @@ -620,6 +620,10 @@ break; } +out: + if (oph->msg) + msgb_free(oph->msg); + return rc; } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/20913 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I180433735bfbb3375c41318d7a7709d5845199ba Gerrit-Change-Number: 20913 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged
Change in libosmocore[master]: ns2: Add gprs_ns2_nsvc_state_name() to get the current state of a VC
lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/21039 ) Change subject: ns2: Add gprs_ns2_nsvc_state_name() to get the current state of a VC .. Patch Set 1: It's still unused in gbproxy? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21039 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4c4c5b9142d7240ed452218e263ba12e2b70d1a0 Gerrit-Change-Number: 21039 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Tue, 03 Nov 2020 22:41:15 + Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment
Change in osmo-sgsn[master]: gbproxy: Whitespace fixes
lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/21037 ) Change subject: gbproxy: Whitespace fixes .. Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21037 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Id70c15050b6314fdcd452e89e358d657e1f86e57 Gerrit-Change-Number: 21037 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Tue, 03 Nov 2020 22:43:02 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-sgsn[master]: gbproxy: Get the peer if paging by BVCI on SIG_BVC
lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/21030 ) Change subject: gbproxy: Get the peer if paging by BVCI on SIG_BVC .. Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21030 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ic72f0f03e5886ab76404915fc60a2796e6881a7a Gerrit-Change-Number: 21030 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Tue, 03 Nov 2020 22:48:34 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-sgsn[master]: Let libosmocore handle VTY parent node tracking
lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/21028 ) Change subject: Let libosmocore handle VTY parent node tracking .. Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21028 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2008dd9026922d29ee703c59e70d3fecced0ee18 Gerrit-Change-Number: 21028 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 03 Nov 2020 22:49:11 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-sgsn[master]: gbproxy: Add todo for BVC RESET logic
lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/21038 ) Change subject: gbproxy: Add todo for BVC RESET logic .. Patch Set 1: Code-Review+1 The commit message could be improved :) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21038 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I98c1a53d0e4b9a988e9ddec97ce0c67ded6f6326 Gerrit-Change-Number: 21038 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Tue, 03 Nov 2020 22:55:02 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-pcu[master]: pdch: Process received CS1-4 data blocks regardless of egprs_enabled
lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/20929 ) Change subject: pdch: Process received CS1-4 data blocks regardless of egprs_enabled .. Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/20929 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie70ec8e4a2d688762d7d320d6ad58d5a0cc52ea1 Gerrit-Change-Number: 20929 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Tue, 03 Nov 2020 22:59:28 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-pcu[master]: Enable egprs support through PCUIF from BTS/BSC
lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/20928 ) Change subject: Enable egprs support through PCUIF from BTS/BSC .. Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/20928 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic80970a136361584da9c912252a07e7c3c9d85d0 Gerrit-Change-Number: 20928 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Tue, 03 Nov 2020 23:00:22 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-pcu[master]: Move BTS initial values inside bts.cpp
lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/21020 ) Change subject: Move BTS initial values inside bts.cpp .. Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/21020/1/tests/tbf/TbfTest.cpp File tests/tbf/TbfTest.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/21020/1/tests/tbf/TbfTest.cpp@a799 PS1, Line 799: 03 why has this changed? to you checked what's changed here? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/21020 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iffd6eecb1f08bda0091f45e2ef7c9c63b42e10b3 Gerrit-Change-Number: 21020 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Tue, 03 Nov 2020 23:05:32 + Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment
Change in osmo-pcu[master]: pcuif: Improve BTS-supported CS/MCS handling
lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/20990 ) Change subject: pcuif: Improve BTS-supported CS/MCS handling .. Patch Set 2: Can you add some comments? I don't understand the function. Why is it returning initial_cs_dl? It's used by gprs_bssgp_tx_fc_bvc(). This seems wrong. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/20990 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie8f0215ba17da1e545e98bec9325c02f1e8efaea Gerrit-Change-Number: 20990 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: lynxis lazus Gerrit-Comment-Date: Tue, 03 Nov 2020 23:17:50 + Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment
Change in libosmocore[master]: ns2: fixup gprs_ns2_prim_strs
lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/21041 ) Change subject: ns2: fixup gprs_ns2_prim_strs .. ns2: fixup gprs_ns2_prim_strs The gprs_ns2_prim_strs was merged to early. The renaming in the last gerrit patchset wasn't done correct. Change-Id: Ie8e1e003d70af48f2d647b2c2701d4fc0f17e307 --- M include/osmocom/gprs/gprs_ns2.h M src/gb/gprs_ns2.c 2 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/41/21041/1 diff --git a/include/osmocom/gprs/gprs_ns2.h b/include/osmocom/gprs/gprs_ns2.h index ffc2ad8..bd18681 100644 --- a/include/osmocom/gprs/gprs_ns2.h +++ b/include/osmocom/gprs/gprs_ns2.h @@ -37,11 +37,11 @@ PRIM_NS_STATUS, }; -extern const struct value_string ns2_prim_strs[]; +extern const struct value_string gprs_ns2_prim_strs[]; /*! Obtain a human-readable string for NS primitives */ static inline const char *gprs_ns2_prim_str(enum gprs_ns2_prim val) -{ return get_value_string(ns2_prim_strs, val); } +{ return get_value_string(gprs_ns2_prim_strs, val); } /*! Osmocom NS primitives according to 48.016 5.2.2.4 Service primitves */ enum gprs_ns2_congestion_cause { diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 403b8b7..b3d220f 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -206,7 +206,7 @@ { 0, NULL } }; -const struct value_string ns2_prim_str[] = { +const struct value_string gprs_ns2_prim_strs[] = { { PRIM_NS_UNIT_DATA,"UNIT DATA" }, { PRIM_NS_CONGESTION, "CONGESTION" }, { PRIM_NS_STATUS, "STATUS" }, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie8e1e003d70af48f2d647b2c2701d4fc0f17e307 Gerrit-Change-Number: 21041 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange
Change in osmo-pcu[master]: NS2: rework handling of unknown primitive
Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/20927 to look at the new patch set (#4). Change subject: NS2: rework handling of unknown primitive .. NS2: rework handling of unknown primitive Use prim_str() method to get the human readable string. Define unhandled events with a nop in the switch() Depends-on: Ibf610fbd929dddc4a4e235152447caff522d4eb2 (libosmocore) Change-Id: I50188afb83ac142e22d4bda4e8050eb4de962e70 --- M src/gprs_bssgp_pcu.cpp 1 file changed, 10 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/27/20927/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/20927 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I50188afb83ac142e22d4bda4e8050eb4de962e70 Gerrit-Change-Number: 20927 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset
Change in osmo-ttcn3-hacks[master]: library/L3_Common: use f_rnd_oct() from Osmocom_Types
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21042 ) Change subject: library/L3_Common: use f_rnd_oct() from Osmocom_Types .. library/L3_Common: use f_rnd_oct() from Osmocom_Types Change-Id: Iad46c3ab25244389a2a536065653c7ed231d1234 --- M library/L3_Common.ttcn 1 file changed, 0 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/42/21042/1 diff --git a/library/L3_Common.ttcn b/library/L3_Common.ttcn index 0a80593..d52870e 100644 --- a/library/L3_Common.ttcn +++ b/library/L3_Common.ttcn @@ -29,15 +29,6 @@ OCT14 auts } -private function f_rnd_oct(integer len) return octetstring { - var integer i; - var octetstring res; - for (i := 0; i < len; i := i + 1) { - res[i] := int2oct(float2int(rnd()*256.0), 1); - } - return res; -} - function f_gen_auth_vec_2g() return AuthVector { var AuthVector vec; vec.rand := f_rnd_oct(16); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21042 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iad46c3ab25244389a2a536065653c7ed231d1234 Gerrit-Change-Number: 21042 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange
Change in osmo-ttcn3-hacks[master]: library/L3_Common: use f_rnd_octstring() from Osmocom_Types
Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21042 to look at the new patch set (#2). Change subject: library/L3_Common: use f_rnd_octstring() from Osmocom_Types .. library/L3_Common: use f_rnd_octstring() from Osmocom_Types Change-Id: Iad46c3ab25244389a2a536065653c7ed231d1234 --- M library/L3_Common.ttcn 1 file changed, 9 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/42/21042/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21042 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iad46c3ab25244389a2a536065653c7ed231d1234 Gerrit-Change-Number: 21042 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset
Change in osmo-ttcn3-hacks[master]: library/L3_Common: use f_rnd_octstring() from Osmocom_Types
Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21042 to look at the new patch set (#3). Change subject: library/L3_Common: use f_rnd_octstring() from Osmocom_Types .. library/L3_Common: use f_rnd_octstring() from Osmocom_Types Change-Id: Iad46c3ab25244389a2a536065653c7ed231d1234 --- M library/L3_Common.ttcn 1 file changed, 8 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/42/21042/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21042 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iad46c3ab25244389a2a536065653c7ed231d1234 Gerrit-Change-Number: 21042 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset
Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64
Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 100s] [COMPILING apps/dfu/main.c] [ 100s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 101s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 101s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 101s] Memory region Used Size Region Size %age Used [ 101s] rom: 16580 B16 KB101.20% [ 101s] ram: 11672 B48 KB 23.75/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 101s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 101s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 101s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 101s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 101s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 101s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 196 bytes [ 101s] collect2: error: ld returned 1 exit status [ 101s] % [ 101s] make[2]: *** [Makefile:234: flash] Error 1 [ 101s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 101s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 101s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 101s] dh_auto_build: error: make -j1 returned exit code 2 [ 101s] make: *** [debian/rules:16: build] Error 25 [ 101s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 101s] ### VM INTERACTION START ### [ 104s] [ 95.687818] sysrq: Power Off [ 104s] [ 95.690827] reboot: Power down [ 104s] ### VM INTERACTION END ### [ 104s] [ 104s] hci-cnode1-m0 failed "build simtrace2_0.7.0.69.aadd.dsc" at Wed Nov 4 04:36:44 UTC 2020. [ 104s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/)
Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64
Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 156s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 156s] [COMPILING libboard/qmod/source/card_pres.c] [ 156s] [COMPILING libboard/qmod/source/wwan_led.c] [ 156s] [COMPILING libboard/qmod/source/i2c.c] [ 156s] [COMPILING libboard/qmod/source/board_qmod.c] [ 156s] [COMPILING apps/dfu/main.c] [ 157s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 157s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 157s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 157s] Memory region Used Size Region Size %age Used [ 157s] rom: 16588 B16 KB101.25% [ 157s] ram: 11672 B48 KB 23.75/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 157s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 204 bytes [ 157s] collect2: error: ld returned 1 exit status [ 157s] % [ 157s] make[2]: *** [Makefile:234: flash] Error 1 [ 157s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 157s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 157s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 157s] dh_auto_build: error: make -j1 returned exit code 2 [ 157s] make: *** [debian/rules:16: build] Error 25 [ 157s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 157s] ### VM INTERACTION START ### [ 160s] [ 149.703582] sysrq: Power Off [ 160s] [ 149.711070] reboot: Power down [ 160s] ### VM INTERACTION END ### [ 160s] [ 160s] lamb18 failed "build simtrace2_0.7.0.69.aadd.dsc" at Wed Nov 4 04:37:45 UTC 2020. [ 160s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/)